檢查用戶是否已登錄,如果用戶已登錄警報並感謝評級,並且如果不提醒登錄以進行評分檢查用戶是否使用JQuery評級進行登錄,並提醒您必須登錄否
<script>
$(document).ready(function() {
$("#demo2 .stars").click(function() {
$.post("rate.php",{rate:$(this).val(), vid_id :
$vid_result['vid_id']}, function(d) {
console.log(d);
//JSON.parse(d);
if(d.status && d.trim(status) == 'active'){
alert('Thanks For Rating');
}
else if(d.status && d.trim(status) == 'inactive'){
alert('You have to be logged in to rate');
}
},"json");
});
});
</script>
此查詢使用此php波紋管以提醒用戶他/她已成功評分。我已經設法插入評級,只有當用戶使用PHP登錄,並且如果他/她沒有登錄,則不插入評級。但是,我如何修復JQuery,以便根據用戶是否登錄來提醒用戶相應的消息在或不?
// this page is rate.php
<?php
include 'core/init.php';
if (isset($_POST['rate']) && !empty($_POST['rate'])) {
if(isset($session_user_id)){
$rate = sanitize($_POST['rate']);
$vidid = sanitize($_POST['vid_id']);
// check if user has already rated
$sql = "SELECT `id` FROM `rating` WHERE `rater_id`='" .
$session_user_id."' AND `video_id` = '".$vidid."'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
if ($result->num_rows > 0) {
$sql = "UPDATE rating SET `rate` = '$rate' WHERE `rater_id`='" . $session_user_id . "' AND `video_id` = '".$vidid."'";
if (mysqli_query($conn, $sql)) { }
echo $row['id'];
} else {
$sql = "INSERT INTO `rating` (`video_id`, `rater_id`, `rate`) VALUES ('$vidid' ,'$session_user_id', '$rate')";
if (mysqli_query($conn, $sql)) {
//success
json_encode(array('status'=>'active'));
}else
echo "fail";
}
}else{
//not logged in
json_encode(array('status'=>'inactive'));
}
}
?>
在你的PHP,你應該返回它們的狀態,而不是你的''0'''''''失敗''''''你必須登錄到速率''。即。 ''echo'json_encode(array(「status」=>「active」);'/'echo json_encode(array(「status」=>「inactive」);'。然後在你的$ .post():: success'中,檢查狀態,即「if(d.status =='active'){//說謝謝,並檢查評級} else if(d.status =='inactive'){//告訴他們先登錄}' – Sean
@Sean你好,謝謝你的回覆,但是我要在哪裏回顯json_encode(array ...的狀態在? –
@Sean我編輯了這篇文章並添加了你爲我推薦的內容,但它仍然是沒有工作是否有其他方式我可以處理這個問題? –