我对mktime()有问题。这里是我记录用户登录时间和日期的代码,如果他是第一次登录,那么$FirstTimeLogin将是真,否则$FirstTimeLogin将是假的。
现在的问题是,如果我第一次登录,我会收到一条消息:
今天,start1346716800 fail1
但我实际上是在寻找一条信息:
今天start1346716800的成功
如果我第二次登录,我会收到这条消息。我以为mktime()出了点问题,也尝试了一下gmmktime() --同样的问题。
$chklogin = mysql_fetch_array(mysql_query("SELECT Attempt_Time FROM admin_loginattempts WHERE User_Email='{$User_Email}' AND Successful='Y' ORDER BY Attempt_Time DESC LIMIT 1"));
if (!$chklogin) {
$FirstTimeLogin = true;
} else {
$lastAttempt = strtotime($chklogin["Attempt_Time"]);
$todaystart = gmmktime(0, 0, 0, $Cur_Month, $Cur_Day, $Cur_Year);
echo 'Last Attempt' . $lastAttempt . '<br>';
echo 'Today start' . $todaystart . '<br>';
if ($lastAttempt > $todaystart) {
$FirstTimeLogin = false;
echo 'success';
} else {
$FirstTimeLogin = true;
echo 'fail';
}
}发布于 2012-08-30 14:33:24
$lastAttempt = strtotime($chklogin["Attempt_Time"]);
$todaystart = strtotime('today');其实你的回声是错的
if ($lastAttempt > $todaystart) {
$FirstTimeLogin = false;
echo 'fail';
} else {
$FirstTimeLogin = true;
echo 'success';
}https://stackoverflow.com/questions/12199005
复制相似问题