0

に問題がありmktime()ます。これは、ユーザーがログに記録した日時を記録している私のコードです。彼が初めてログインした場合は$FirstTimeLogintrueになり、それ以外の$FirstTimeLogin場合はfalseになります。

問題は、初めてログインすると、次のメッセージが表示されることです。

今日 start1346716800 fail1

しかし、私は実際にメッセージを探しています:

今日 start1346716800 成功

2 回目にログインすると、このメッセージが表示されます。私は何かがうまくいかないと思って、同じ問題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';
    }
}
4

1 に答える 1

0
$lastAttempt = strtotime($chklogin["Attempt_Time"]);
$todaystart  = strtotime('today');

実際、あなたのエコーは間違っています

if ($lastAttempt > $todaystart) {
    $FirstTimeLogin = false;
    echo 'fail';
} else {
    $FirstTimeLogin = true;
    echo 'success';
}
于 2012-08-30T14:33:24.237 に答える