рейтинговая система с сессией php и jquery - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь построить систему рейтинга 5 звезд. Я пробовал это с сеансом - чтобы все пользователи оценивали один сеанс.

Я пытался сделать что-то вроде этого:

session_start();
$id = "s".$_GET['id']; // the id of the word that the user rated
if(!isset($_SESSION[$id])){$_SESSION[$id] = 0;} //if null so rating = 0

$_SESSION[$id] += $_GET["rate"]; // the rate(1-5) added to the session 
echo $_SESSION[$id];

мой вопрос - как я могу перестать добавлять значения в сеанс после того, как пользователь нажмет на звездочки ..? и если он щелкнет еще раз, старая ставка будет удалена, а новая - добавлена.

jquery:

 $(document).ready(function () {
  //var click = 0;
var click = [0,0,0,0,0,0,0,0,0];
  var id = [];
  $('.rating').each(function () {
      id.push(this.id);
  });
for (let step = 0; step < id.length; step++) {
  $('#'+id[step] + ' .ratings_stars').mouseover(function() {
      if(click[step] == 0){
      $(this).prevAll().addBack().attr("src","star2.jpg");
    }
      //$(this).nextAll().removeClass('ratings_vote');
    });
    // Handles the mouseout
  $('#'+id[step] + ' .ratings_stars').mouseleave(function() {
    if(click[step] == 0){
        $(this).prevAll().addBack().attr("src","star.png");
      }
    });
    $('#'+id[step] + ' .ratings_stars').click(function() {
      click[step] = 1;
    $('#'+id[step]+ ' .ratings_stars').attr("src","star.png"); // Removes the selected class from all of them
    $(this).prevAll().addBack().attr("src","star2.jpg"); // Adds the selected class to just the one you clicked

       var rating = $(this).data('rating');

    $.ajax({    //create an ajax request to display.php

          type: "GET",
          url: "rating.php",
          data: {id:id[step], rate:rating},
          success: function(response){
            $(".avgrate"+id[step]).html(response);

          }

      });

  });
}  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...