Php 什么';测试未过期饼干的正确方法是什么?

Php 什么';测试未过期饼干的正确方法是什么?,php,cookies,Php,Cookies,我很难让我的代码忽略加载过期的cookie 当我登录一个希望被记住的用户时,我设置了一个cookie,如下所示 setcookie('mysiteCookieBlah', $token, $expiry, '/', 'https://www.mysite.com', 1, 1); 每当他们刷新页面时,如果他们没有登录ie会话中没有用户ID,我就会检查cookie是否存在,看是否应该初始化自动登录他们 if(isset($_COOKIE['mysiteCookieBlah'])) $in

我很难让我的代码忽略加载过期的cookie

当我登录一个希望被记住的用户时,我设置了一个cookie,如下所示

setcookie('mysiteCookieBlah', $token, $expiry, '/', 'https://www.mysite.com', 1, 1); 
每当他们刷新页面时,如果他们没有登录ie会话中没有用户ID,我就会检查cookie是否存在,看是否应该初始化自动登录他们

if(isset($_COOKIE['mysiteCookieBlah'])) 
  $intiAutoLogin=true; 
else 
  $intiAutoLogin=false;  
当他们注销时,我将其过期

unset($_COOKIE['mysiteCookieBlah']);
setcookie('mysiteCookieBlah', "", time()-3600, '/', 'https://www.mysite.com', 1, 1);
下次页面刷新时

if(isset($_COOKIE['mysiteCookieBlah'])) 
  $intiAutoLogin = ?
应该=假,对吗?目前,它每次都会看到cookie,不管它是否过期


谢谢你看

我将注销cookie代码更改为

setcookie("mysiteCookieBlah", "", time()-3600, '/');

它成功了。我不知道为什么。

如果(isset($\u COOKIE['mysiteCookieBlah'])和($\u COOKIE['mysiteCookieBlah']){…
?为了确保COOKIE会过期,你们可以在服务器端存储过期的时间。谢谢各位。在添加($\u COOKIE['mysiteCookieBlah'])和($\u COOKIE['mysiteCookieBlah'])之后)它仍在触发$Intiautolgin=true。我在数据库中存储并检查到期时间,但如果cookie本身已过期,我不想点击数据库。我已经测试了一些,cookie似乎没有被覆盖。我也尝试设置一个全新的cookie,但这也没有写入,因此我将进一步调查。这是一个AJAX请求仅供参考。干杯。