当用户 cookie 被删除时,我们如何保持会话值?
<?php
session_start();
echo $_SESSION['userdata']['name']='bikash';
?>
如果用户删除 cookie,我的会话值已删除。请指教。
当用户 cookie 被删除时,我们如何保持会话值?
<?php
session_start();
echo $_SESSION['userdata']['name']='bikash';
?>
如果用户删除 cookie,我的会话值已删除。请指教。
因为会话 ID 存储在 cookie 中。如果用户删除它,那么您将无法恢复它。
删除 cookie 后,会话 ID 以及该 cookie 中的会话 ID 都会被删除。据我所知,如果 cookie 被删除,则无法获取会话 ID
正如rid 已经说过的,会话标识符存储在每个用户的 cookie 中。因此,当他们删除 cookie 时,会话标识符也消失了,因此无法session_start
重新启动前一个会话。相反,它将开始一个新的,没有数据。
如果您有其他方法可以将前一个会话分配给用户,例如,如果您有一个将 ip 地址映射到会话 ID 的数据库(坏主意!),那么您可以使用session_id()
.
它自己的会话 ID 存储在 cookie 中。
如果用户删除它,那么您将无法访问与会话相关的任何信息,因为无法引用它。
换句话说,您删除了浏览器 cookie,会话被删除,因为会话被存储为 cookie!
正如其他海报所提到的,cookie 包含访问会话所需的会话 ID。但是,除非您执行session_destroy()
实际会话数据,否则仍然可以在存储会话文件的目录中找到。
如果 cookie 在 cookie 中被删除,您将无法恢复 sessoin id。