2013-05-28 28 views
1

我在我的網站上安裝了一個預建的論壇,我想(在一個不同的頁面)檢查論壇的會話是否處於活動狀態。
喜歡的東西:告訴php會話的名字?

if (isset($_SESSION['forum'])) { echo "Session is active!"; } 

問題是 - 我不知道會議名稱... 嘗試下載一些鍍鉻附加的會話管理,但我不能得到會話的名稱。

這樣做的正確方法是什麼?
謝謝!

+1

只是爲了澄清任何混淆; PHP會話存儲在服務器端,只能由服務器讀取,而不能由客戶端讀取。您一直在尋找的Chrome附加組件可能會允許您保存並恢復打開的標籤列表,但這不是您要查找的會話類型。 – Patrickdev

+0

你有會話名稱= Cookie/Post/GET名稱。會話變量存儲的變量名稱。我不知道你說的是哪一個。你能否說明你想用這個名字,所以我們可以進一步幫助你? –

+0

帕特里克是對的。 $ _SESSION的phpBB用法是將自己的會話數據存儲在數據庫中。通過includes/session.php和includes/startup.php來查看,這可以幫助您瞭解phpbb會話如何工作。 –

回答

3

你可以看到的$ _SESSION變量轉儲

var_dump($_SESSION); 
1

嘗試 print_r ($_SESSION);

taht方式,你會看到所有的會話

+1

並非所有的會話,但會話中存儲的所有數據($ _SESSION變量) –

0
<?php 
session_start(); 
print_r($_SESSION); 
?> 

使用該看哪個會話變量目前設置。

0

您需要檢查會話當前處於活動狀態,然後將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

3

session_name()答案會給你的會話名稱,通常在php.ini中定義。默認情況下它總是:PHPSESSID。此名稱用作cookie名稱或POST/GET變量名稱。

session_id()將爲您提供當前會話的標識符。這將是Cookie或POST/GET變量的內容

然後你有$_SESSION將包含所有的會話數據。使用print_r()來查看目前爲止存儲的內容。

要知道,如果會話瓦爾設置你也可以做if(isset($_SESSION)&&count($_SESSION))