在 - setcookie函数中遇到的非格式良好的数值

时间:2015-04-26 10:44:01

标签: php datetime

            $user_id = $row['UserID'];
            $token = uniqid($user_id,TRUE);
            $salt = md5(mt_rand());
            $cookie_id = hash_hmac('SHA512',$token,$salt);

            $nextWeek = time() + (7 * 24 * 60 * 60);
            $expiry = date('Y-m-d', $nextWeek);
            //Problem exists here               

            $sql_store_cookie = "INSERT INTO pcookies(cookie_id,user_id,expiry,salt) values('$cookie_id','$user_id','$expiry','$salt')";
            mysqli_query($connection,$sql_store_cookie) or die(mysqli_error($connection));//die('{"l":"mysqli_error(`$connection`)"}');
            setcookie($cookie_id,$token,$expiry);

如果我运行上述程序,我会在non well formed numeric value warning行中获得setcookie。我希望我使用正确的类型格式。

我的时区设置是亚洲/加尔各答 到期数据类型是时间戳。

我想从当前时间开始设置7天。

请告诉我这里我做错了什么。感谢。

1 个答案:

答案 0 :(得分:0)

如果您阅读the manual,您会看到第三个参数

的此框
  

注意:      您可能会注意到expire参数采用Unix时间戳,而不是日期格式Wdy,DD-Mon-YYYY HH:MM:SS GMT,这是因为PHP在内部执行此转换。

所以你需要做以下事情

fa_icon