为什么用户删除浏览器cookie后会删除会话值?

时间:2013-07-05 12:31:50

标签: php

如何在删除用户cookie时保留会话值?

 <?php
    session_start();
  echo $_SESSION['userdata']['name']='bikash';
?>

如果用户删除了Cookie,我的会话值就会被删除。请指教。

6 个答案:

答案 0 :(得分:10)

因为会话ID存储在cookie中。如果用户将其删除,则无法恢复。

答案 1 :(得分:2)

删除Cookie后,会删除会话ID以及该Cookie中的会话ID。如果根据我的知识删除cookie,则无法获取会话ID

答案 2 :(得分:2)

作为rid already said,会话标识符存储在每个用户的cookie中。因此,当他们删除Cookie时,会话标识符也会消失,因此session_start无法重新启动上一个会话。相反,它将开始一个新的,没有数据。

如果您还有其他方法可以将以前的会话分配给用户,例如,如果您有一个将ip地址映射到会话ID的数据库(糟糕的主意!),那么您可以使用{{1}恢复以前的会话ID }}

答案 3 :(得分:1)

它自己的会话ID存储在cookie中。

如果用户删除它,那么您无法访问与会话相关的任何信息,因为无法引用它。

换句话说,删除浏览器cookie,会话被删除,因为会话存储为cookie!

答案 4 :(得分:1)

正如其他海报所提到的,cookie包含访问会话所需的会话ID。但是,除非执行session_destroy(),否则仍可在目录文件存储的目录中找到实际会话数据。

答案 5 :(得分:1)

如果cookie被删除,则无法恢复会话ID。