Are there any best practices or guidelines for implementing a user rating system in PHP to ensure a positive user experience?
Issue: When implementing a user rating system in PHP, it is important to ensure a positive user experience by following best practices such as preventing duplicate ratings, validating user input, and displaying ratings effectively.
// Code snippet for implementing a user rating system in PHP
// Validate user input
$rating = $_POST['rating'];
if ($rating < 1 || $rating > 5) {
echo "Invalid rating. Please select a rating between 1 and 5.";
exit;
}
// Prevent duplicate ratings
$user_id = $_SESSION['user_id'];
$check_rating_query = "SELECT * FROM ratings WHERE user_id = $user_id AND item_id = $item_id";
$check_rating_result = mysqli_query($conn, $check_rating_query);
if (mysqli_num_rows($check_rating_result) > 0) {
echo "You have already rated this item.";
exit;
}
// Insert rating into database
$insert_rating_query = "INSERT INTO ratings (user_id, item_id, rating) VALUES ($user_id, $item_id, $rating)";
mysqli_query($conn, $insert_rating_query);
echo "Thank you for your rating!";