當用戶登錄我們的網站時,我想更改會話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