如果用户在过去一小时内有活动,我正在努力解决问题。以下是我的代码,但总是返回yes,无论如何:
$houraway = (int)mktime() + (60 * 60);
$now = mktime();
while($user = mysql_fetch_array($qusers)) {
echo $user['Name']." - ";
$datetime = explode(" ", $user['Custom6']);
$date = $datetime[0];
$date = explode("-", $date);
$time = $datetime[1];
$time = explode(":", $time);
$hr = $time[0];
$min = $time[1];
$sec = $time[2];
$y = $date[0];
$m = $date[1];
$d = $date[2];
$lastloginmk = (int)mktime($hr, $min, $sec, $m, $d, $y);
echo " - ".$lastloginmk;
if($lastloginmk <= $houraway) { echo "yes"; } else { echo "no"; }
echo "<br />";
}
上次活动时间存储在数据库中,如下所示:
2009-09-22 13:32:28
提前致谢!
赖安
答案 0 :(得分:1)
该行
$houraway = (int)mktime() + (60 * 60);
以一小时展望未来。最后一次登录将始终早于未来,因为最后一次登录必须是过去的。
我认为您希望上次登录大于一小时之前。更改$houraway
并更改上次比较,您应该好好去。
答案 1 :(得分:1)
我认为您想要的代码是:
$hourago = mktime() - (60 * 60);
while($user = mysql_fetch_array($qusers)) {
echo $user['Name']." - ";
$lastloginmk = strtotime($user['Custom6']);
echo " - ".$lastloginmk;
if($lastloginmk <= $hourago) { echo "yes"; } else { echo "no"; }
echo "<br />";
}
希望这有帮助。