大家好我有以下会话代码:
if (!isset($_SESSION['product_viewed'][$product_id])){
$_SESSION['product_viewed'][$product_id] = $product_id;
}
我尝试使用与会话类似的名称设置cookie但是语法错误。我做错了什么?
答案 0 :(得分:1)
浏览器关闭时会破坏会话。
实现您要做的事情的唯一方法是将会话数据插入到数据库中,有效地保留它的两个副本 - 并在cookie中存储密钥或唯一ID。当用户再次登录时,将从cookie(或从另一个数据库表)中获取ID,然后运行一些代码,以便从数据库中获取数据。获得数据后,您将为用户重新创建会话。
Cookie通常会对可以存储的内容有4k的限制,因此如果它有任何实质性的内容,您将无法以任何方式使用它们。
说了这么多,请实际发布一些代码,以便我们可以看到你想要做的事情,或者找出你出错的地方。
在你的问题中没有任何真实的代码,我只能假设你没有做任何这些。如果你展示了你实际在做什么,那么SO的用户实际上可以跳入并开始找出你出错的地方。