2012-12-13 156 views
0

我在會話中存儲了一些用戶信息,所以我不必每次查詢數據庫的每次用戶更改頁面。如果此用戶使用多個瀏覽器/計算機並且舊版會話現在具有無效數據會怎麼樣?我如何讓它們保持同步?註銷用戶的舊會話沒問題,但我想盡可能避免將會話信息寫入數據庫。PHP會話 - 每個用戶多個會話 - 如何同步?

我意識到這是一個相當普遍的問題,但我不能在Google搜索之後拿出正確的東西。

回答

1

將會話存儲在每個特定用戶的數據庫中。

然後每次用戶訪問您的網站(不管哪個瀏覽器) - 所有的信息總是在一個位置,你不必做任何奇特的'同步'的東西。

注意:他們仍然必須從每個不同的瀏覽器「登錄」。在登錄過程中,您需要檢查該用戶的數據庫中是否存在會話。如果確實如此,則需要將此新登錄附加到該會話(而不是創建一個新登錄)。

+0

除了將其存儲在數據庫中,沒有其他方法,對吧? – user1831003

+0

好吧 - 你不能將會話存儲在每個瀏覽器的cookie中 - 因爲你無法可靠地「同步」數據。所以它需要是文件/數據庫存儲 - 即服務器上的集中位置。 – Laurence

+0

您可以序列化會話並將其存儲在文件中。但我總是將數據庫保存到文件中。它更穩定 – MAXIM