Using php mktime()


Using php mktime()

我的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';
}