我的mktime()
有问题。这是我记录用户登录时间和日期的代码,如果他是第一次登录,那么$FirstTimeLogin
将为true,否则$FirstTimeLogin
将为false。
现在的问题是,如果我第一次登录,我会收到一条消息:
今天开始1346716800故障1
但我实际上在寻找一条信息:
今天开始1346716800成功
如果我第二次登录,就会收到此消息。我认为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';
}
}
$lastAttempt = strtotime($chklogin["Attempt_Time"]);
$todaystart = strtotime('today');
实际上你的回声只是错误的
if ($lastAttempt > $todaystart) {
$FirstTimeLogin = false;
echo 'fail';
} else {
$FirstTimeLogin = true;
echo 'success';
}