2013-11-02 53 views
1

我有一個登錄系統/ site,和/ site/site-admin。我現在的問題是,如果我登錄/網站,/網站/網站管理員認爲你作爲管理員登錄(顯然是一個問題哈哈)我找不到任何有關如何設置會話只允許一個信息目錄中,我只找到了存儲會話數據的位置。PHP - 爲多個登錄設置會話目錄?

+0

_「我只找到了存儲會話數據的位置」_:同一地點(不管可能如何)。 – geomagas

+0

@geomagas你指的是'session_save_path([string $ path])'? – Ariana

+0

不,我指的是'$ _SESSION'本身。 – geomagas

回答

3

如何使用session_name()爲/ site和/ site/site-admin創建兩個不同的會話?

在您打開您的網站會話之前,只需致電session_name("<sitename>"),然後在管理面板中打開您的會話之前,請致電session_name("<sitename>-admin")。然後你有兩個不同的會話cookie,會話ID和會話數據爲你的兩個網站。


編輯:

如果您需要共享會話數據/網站和/網站/網站管理員之間,可能需要另一種解決方案。在這種情況下,請將您的數據存儲在$_SESSION['site']而不是$_SESSION(或$_SESSION['site-admin']或分別)。例如:$_SESSION['site']['logged_in'] = true;

在這種情況下,兩個站點共享相同的會話,但不訪問相同的會話數據。公用數據可以存儲在任何其他數組密鑰中(例如,$_SESSION['common'])。但請注意:在這種情況下,會話純粹存在並不意味着您已登錄或授權。

+0

常見會話數據如何? – geomagas

+0

你是什麼意思?您是否需要將數據存儲在可以通過/ site和/ site/site-admin訪問的會話中? –

+0

我?不,這不是我的問題。但是OP可能會。或者,最重要的是,遇到類似問題的人會遇到類似的問題。 – geomagas