Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php mktime()_Php_Javascript_Mysql_Sql_Webserver - Fatal编程技术网

使用php mktime()

使用php mktime(),php,javascript,mysql,sql,webserver,Php,Javascript,Mysql,Sql,Webserver,我对mktime()有问题。这是我记录用户登录时间和日期的代码,如果他是第一次登录,则$FirstTimeLogin将为true,否则$FirstTimeLogin将为false 现在的问题是,如果我第一次登录,我会收到一条消息: 今天开始1346716800故障1 但我实际上在寻找一条信息: 今天开始1346716800的成功 如果我第二次登录,就会收到此消息。我认为mktime()出了问题,也尝试了gmmktime()同样的问题 $chklogin = mysql_fetch_array(m

我对
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';
    }
}
$chklogin=mysql_fetch_数组(mysql_查询(“从admin_login中选择尝试时间,其中用户电子邮件={$User_Email}”,并成功地通过尝试时间描述限制1排序”);
如果(!$chklogin){
$FirstTimeLogin=true;
}否则{
$lastTrupt=strottime($chklogin[“尝试时间]);
$todaystart=gmmktime(0,0,0,$Cur\u Month,$Cur\u Day,$Cur\u Year);
回显“最后一次尝试”。$LASTTRUMENT。“
”; 回显“今天开始”。$todaystart.
; 如果($lastTrupt>$todaystart){ $FirstTimeLogin=false; 呼应"成功",; }否则{ $FirstTimeLogin=true; 回声“失败”; } }
实际上你的回声是错的

if ($lastAttempt > $todaystart) {
    $FirstTimeLogin = false;
    echo 'fail';
} else {
    $FirstTimeLogin = true;
    echo 'success';
}

这可能无助于回答您的问题,但您应该停止使用
mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果您不确定使用哪一个,我们没有足够的信息。
$chklogin[“尝试时间”]
中有什么内容?
$Cur\u Month
$Cur\u Day
$Cur\u Year
是如何初始化的?
$Cur\u Month
$Cur\u Day
$Cur\u Year
的值是什么?看起来你从来没有设置过。还有,
回显“最后一次尝试”。$lasttreant.
?与其
gmmktime
,为什么不干脆做
strotime('today')
?我尝试了你的代码,但得到了相同的结果。。。最后一次尝试1346789046今天开始1346803200失败1…….但是如果我再次刷新我的页面,则显示最后一次尝试1346875463今天开始1346803200成功会很好。再次,如果我将日期更改为第二天。我在第一次登录时收到相同的消息…最后一次尝试1346789046今天开始1346803200失败1但您仅更改了echo语句这有区别吗?实际上,我使用echo语句只是为了显示并确保它将进入哪个循环…在我的程序中,我根本不使用echo…正如前面提到的,只是您的echo错误,时间戳显示为正确的我建议问题可能出在您使用$FirstTimeLogin时
if ($lastAttempt > $todaystart) {
    $FirstTimeLogin = false;
    echo 'fail';
} else {
    $FirstTimeLogin = true;
    echo 'success';
}