当会话被销毁或过期时,我有一个问题清除cookie。我用会话(登录用户)和cookie(购物车)创建应用程序,当会话被破坏或过期时,我必须清除购物车。我尝试使用$_SESSIONSESSION_NAME,但并不是所有的$_SESSIONSESSION_NAME在销毁或过期后都会被删除。
if(!isset($_COOKIE[SESSION_NAME])) {
clearCookie();
}当我删除带有会话ID的cookie时,cookie已被清除,但当会话过期时,cookie (以及带有会话ID的cookie)已经存在。
我尝试了所有会话函数(https://www.php.net/manual/en/ref.session.php),但我找不到好的解决方案。当会话被删除或过期时,如何清除cookie?
发布于 2020-01-10 18:25:34
由于您的 cookie 由来自会话的数据标识,因此在销毁会话之前删除/清除cookie是合乎逻辑的。
因此,无论何时需要销毁会话,请先清除cookie,然后销毁会话。
如下所示:
clearCookie();
unset($_SESSION);
session_destroy();发布于 2020-01-10 18:35:05
将cookie值设置为过去的日期
setcookie($cookie_name, '', time() - (86400 * 30), "/",""); // 86400 = 1 day
session_destroy();https://stackoverflow.com/questions/59679513
复制相似问题