[英]check if user is logged in with JQuery rating and alert you have to be logged in if not
檢查用戶是否已登錄,如果用戶已登錄並顯示警告以感謝評分,如果用戶未登錄,請登錄以評分
<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'));
}
}
?>
rate.php:
在兩個地方回顯json編碼的數組
echo json_encode(array('status'=>'active'));
在jQuery的職位:刪除d.trim(status)
相反
d.status && d.status == 'active'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.