【发布时间】:2014-04-01 23:33:32
【问题描述】:
当我提醒用户 ID 时,我会从 else 语句中得到正确的号码。 if 语句根本不会发出警报。所以我认为我放在那里的条件有问题。
奇怪的是,即使 else 语句,我的 div 也不会改变颜色,但它确实会正确提醒,所以我很困惑。
AJAX 函数
$.ajax({
url: 'status.php',
dataType: "json",
type: 'GET',
success: function(data) {
if (data.message === "online"){
$('.status #user'+data.userId).css({background: '#40A547'});
} else{
//alert(data.userId);
$('.status #user'+data.userId).css({background: '#7f8c8d'});
}
}
});
status.php
header('Content-Type: application/json');
$array = array();
if (logged_in() === true){
$res8 = mysql_query("SELECT * FROM `users` LIMIT 1");
if(mysql_num_rows($res8) > 0){
while($row8 = mysql_fetch_assoc($res8)){
if ($row8['status'] === "1") {
$array['message'] = 'online';
$array['userId'] = $row8['user_id'];
}
}
}
}
else {
$array['message'] = 'offline';
$array['userId'] = '2'; // just for testing
}
echo json_encode($array);
div
<div class="status" id="user2">test</div>
【问题讨论】:
-
您在哪里以及如何使用
logged_in()函数?您的问题/代码中没有其他引用它。 -
这只是一个执行此操作的函数: return (isset($_SESSION['user_id'])) ?真:假;
-
在条件之前提醒
data.message。你得到什么输出? -
我收到“离线”警报
-
@Gadgetster 你是否包含了
logged_in()函数声明的文件?也可以var_dump(logged_in())告诉我们输出结果。