我在我的網站上安裝了一個預建的論壇,我想(在一個不同的頁面)檢查論壇的會話是否處於活動狀態。
喜歡的東西:告訴php會話的名字?
if (isset($_SESSION['forum'])) { echo "Session is active!"; }
問題是 - 我不知道會議名稱... 嘗試下載一些鍍鉻附加的會話管理,但我不能得到會話的名稱。
這樣做的正確方法是什麼?
謝謝!
我在我的網站上安裝了一個預建的論壇,我想(在一個不同的頁面)檢查論壇的會話是否處於活動狀態。
喜歡的東西:告訴php會話的名字?
if (isset($_SESSION['forum'])) { echo "Session is active!"; }
問題是 - 我不知道會議名稱... 嘗試下載一些鍍鉻附加的會話管理,但我不能得到會話的名稱。
這樣做的正確方法是什麼?
謝謝!
你可以看到的$ _SESSION變量轉儲
var_dump($_SESSION);
嘗試 print_r ($_SESSION);
taht方式,你會看到所有的會話
並非所有的會話,但會話中存儲的所有數據($ _SESSION變量) –
<?php
session_start();
print_r($_SESSION);
?>
使用該看哪個會話變量目前設置。
您需要檢查會話當前處於活動狀態,然後將forum
鍵定義
if (! ($sid = session_id()) {
session_start(); // open session if not yet opened
$sid = session_id(); // get sid as session ID
}
// $sid contains the session ID (in cookie)
if (isset($_SESSION['forum'])) {
// forum is defined
}
參見從this page
session_name()
答案會給你的會話名稱,通常在php.ini中定義。默認情況下它總是:PHPSESSID
。此名稱用作cookie名稱或POST/GET變量名稱。
session_id()
將爲您提供當前會話的標識符。這將是Cookie或POST/GET變量的內容。
然後你有$_SESSION
將包含所有的會話數據。使用print_r()
來查看目前爲止存儲的內容。
要知道,如果會話瓦爾設置你也可以做if(isset($_SESSION)&&count($_SESSION))
只是爲了澄清任何混淆; PHP會話存儲在服務器端,只能由服務器讀取,而不能由客戶端讀取。您一直在尋找的Chrome附加組件可能會允許您保存並恢復打開的標籤列表,但這不是您要查找的會話類型。 – Patrickdev
你有會話名稱= Cookie/Post/GET名稱。會話變量存儲的變量名稱。我不知道你說的是哪一個。你能否說明你想用這個名字,所以我們可以進一步幫助你? –
帕特里克是對的。 $ _SESSION的phpBB用法是將自己的會話數據存儲在數據庫中。通過includes/session.php和includes/startup.php來查看,這可以幫助您瞭解phpbb會話如何工作。 –