当用户登录我们的网站时,我想更改会话ID,但保留会话中的任何数据。我想有两个原因这样做:更改会话ID并保留数据?
- 为了防止用户帐户是在多个地方同时使用(因为如果两个人使用同一个帐户,一个的行动将破坏对方的行动) 。
- 让用户继续他/她在另一台计算机上所做的事情(例如从家中的计算机移动到工作)。
这些看起来似乎是矛盾的,但如果您认为它们真的存在矛盾,那真的不是。
问题如下;要获取当前在会话中的数据,我必须致电session_start()
。这意味着我以后不能再拨打session_id()
来设置新的会话ID。任何想法如何传输会话数据并更改会话ID。
更新:我需要能够自己选择会话ID。 session_regenerate_id()
因此不起作用。
'session_regenerate_id()'是解决方案,克莱指出。 – leepowers 2009-11-23 03:02:02
您将如何检索与工作浏览器连接的会话,以便在家中使用浏览器创建新会话? – Don 2009-11-23 03:12:19
@Don:通过将会话ID设置为该用户可重新生成。 @ pygorex1:'session_regenerate_id()'不起作用,我需要自己选择新的会话ID。 – 2009-11-23 03:15:49