我按照这里的答案,但它对我不起作用:
即使在浏览器关闭后也可以保持会话?
这是我尝试过的代码:
$session_life = 2592000; // 30 days
session_set_cookie_params($session_life);
session_name('my_cart');
session_start();
// update the session_life
setcookie(session_name(),session_id(),time()+$session_life);
这样做的问题是,每次关闭浏览器时,我仍然会得到一个新的 session_id,而不是旧的。
我正在使用数据库将项目存储在“my_cart”中,而 session_id 仅用于识别用户以向他们展示自己的购物车。
让用户购物车存活 30 天的最佳方法是什么?
这是我最终得到的代码:
$cart_name = "my_cart";
$cart_life = 2592000; // 30 days
session_start();
if (isset($_COOKIE[$cart_name])) {
session_id($_COOKIE[$cart_name]);
}
setcookie($cart_name, session_id(), time()+$cart_life);