首页 > 解决方案 > PHP - destroy session and remove cookies

问题描述

I have a problem clear cookie when session is destroyed or expired. I create application with session (logged user) and cookies (cart) and I must clear cart when session is destroyed or expired. I'm tring use $_SESSION[SESSION_NAME], but not always $_SESSION[SESSION_NAME] has been removed after destroy or expire.

if(!isset($_COOKIE[SESSION_NAME])) {
   clearCookie();
}

When I remove cookie with session ID then cookies has been cleared, but when session expire then cookie (and cookie with session ID) have been existed.

I'm tried all session functions (https://www.php.net/manual/en/ref.session.php), but I'm not found good solution. How to clear cookie when session has been removed or expired?

标签: phpsessioncookies

解决方案


将 cookie 值设置为过去的日期

setcookie($cookie_name, '', time() - (86400 * 30), "/","");  // 86400 = 1 day
session_destroy();

推荐阅读