Salvando avaliação com estrelas em php

23/02/2023

0

Bom dia, estou tendo um problema com meu código. Eu pretendo fazer uma avaliação com estrelas, nesta avaliação são salvos o nome, e-mail, o numero de estrelas marcadas e um comentário. O meu código salva o nome, o e-mail e o comentário mas não salva o número de estrelas. Segue o código abaixo:
<?php
 require 'Conexao.php';

if (isset($_POST['salvar'])) {
  $nome = mysqli_real_escape_string($con, $_POST['nome']);
  $email = mysqli_real_escape_string($con, $_POST['email']);
  //$estrelas = mysqli_real_escape_string for int($con,$_POST['star']); 
  $comentario= mysqli_real_escape_string($con, $_POST['comentario']);

  $query = "INSERT INTO new_table1 (nome, email, estrelas, comentario) VALUES ('$nome','$email','$star','$comentario')";
  
  $query_run = mysqli_query($con, $query);

 if ($query_run) {
    $_SESSION['message'] = "Comentario cadastrado com sucesso";
    header("Location: Index.php");
    exit(0);
  }
  else{
    $_SESSION['message'] = "Comentario não cadastrado";
    header("Location : Index.php");
    exit(0);
  }


}
?>
Yuri

Yuri

Responder

Posts

23/02/2023

Yuri

Bom dia, estou tendo um problema com meu código. Eu pretendo fazer uma avaliação com estrelas, nesta avaliação são salvos o nome, e-mail, o numero de estrelas marcadas e um comentário. O meu código salva o nome, o e-mail e o comentário mas não salva o número de estrelas. Segue o código abaixo:
<?php
 require 'Conexao.php';

if (isset($_POST['salvar'])) {
  $nome = mysqli_real_escape_string($con, $_POST['nome']);
  $email = mysqli_real_escape_string($con, $_POST['email']);
  $comentario= mysqli_real_escape_string($con, $_POST['comentario']);

  $query = "INSERT INTO new_table1 (nome, email, estrelas, comentario) VALUES ('$nome','$email','$star','$comentario')";
  
  $query_run = mysqli_query($con, $query);

 if ($query_run) {
    $_SESSION['message'] = "Comentario cadastrado com sucesso";
    header("Location: Index.php");
    exit(0);
  }
  else{
    $_SESSION['message'] = "Comentario não cadastrado";
    header("Location : Index.php");
    exit(0);
  }


}
?>


Eu já havia testado outras coisas pra salvar o número de estrelas, todas essa função de salvar esta vinculada ao botão de salvar. E foi assim que eu fiz no HTML e CSS.
<?php 
  session_start();
   include("Conexao.php");
   include("salvar.php");

 ?>

<!DOCTYPE html>
<html lang="pt-br">

<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title></title>
   <link rel="stylesheet" href="//maxodn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
</head>
<?php //include('message.php'); ?>
<style>
div.stars {
  width: 270px;
  display: inline-block;
}

input.star { display: none; }

label.star {
  float: right;
  padding: 10px;
  font-size: 36px;
  color: #444;
  transition: all .2s;
}

input.star:checked ~ label.star:before {
  content: '\\2605';
  color: #FD4;
  transition: all .25s;
}

input.star-5:checked ~ label.star:before {
  color: #FE7;
  text-shadow: 0 0 20px #952;
}

input.star-1:checked ~ label.star:before { color: #F62; }

label.star:hover { transform: rotate(-15deg) scale(1.3); }

label.star:before {
  content: '\\2605';
}

textarea{
  height: 120px;
  width: 300px;
}

</style>

<body>


  <h1>Avalie aqui</h1>

    
  <form action="?page=salvar" method="POST">
      <input type="hidden" name="acao" value="cadastrar">

        <div style="margin-bottom: 20px;">
          <label>Nome:</label>
          <input type="text" name="nome" id="nome">
        </div>
         
        <div> 
          <label>Email:</label>
          <input type="text" name="email" id="email">
        </div>
    

       
        <div class="stars" name="star" id="estrelas"> 
          
          <input class="star star-5" id="star-5" type="radio" name="star" value="1" />
          <label class="star star-5" for="star-5"></label>
          <input class="star star-4" id="star-4" type="radio" name="star" value="2" />
          <label class="star star-4" for="star-4"></label>
          <input class="star star-3" id="star-3" type="radio" name="star"  value="3" />
          <label class="star star-3" for="star-3"></label>
          <input class="star star-2" id="star-2" type="radio" name="star"  value="4" />
          <label class="star star-2" for="star-2"></label>
          <input class="star star-1" id="star-1" type="radio" name="star" value="5" />
          <label class="star star-1" for="star-1"></label>

          <textarea class="field" name="comentario" placeholder="Digite sua sugestão aqui"></textarea>
          <br>
          <br>
          <br>

          <button type="submit" name="salvar" class="btn">Salvar</button>
        </form>

      </div>

  </form>
</body>

</html>

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar