1

我在我的网站上安装了一个预先构建的论坛,我想(在不同的页面中)检查论坛的会话是否处于活动状态。
就像是 :

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

问题是 - 我不知道会话名称...尝试下载一些用于会话管理的 chrome 插件,但我无法获取会话名称。

这样做的正确方法是什么?
提前谢谢!

4

5 回答 5

3

您可以看到 $_SESSION 变量的转储

var_dump($_SESSION);
于 2013-05-28T11:08:14.130 回答
3

session_name()会给你会话名称,通常在 php.ini 中定义。默认情况下它总是:PHPSESSID。此名称用作 cookie 名称或 POST/GET 变量名称。

session_id()将为您提供当前会话的标识符。它将是 cookie 或 POST/GET 变量的内容

然后,您$_SESSION将拥有所有会话数据。用于print_r()查看到目前为止您在其中存储的内容。

要知道是否设置了会话变量,您也可以这样做if(isset($_SESSION)&&count($_SESSION))

于 2013-05-28T11:39:35.010 回答
1

尝试 print_r ($_SESSION);

这样你就会看到所有的会话

于 2013-05-28T11:08:22.377 回答
0
<?php 
session_start(); 
print_r($_SESSION);
?>

使用它来查看当前设置了哪些会话变量。

于 2013-05-28T11:08:38.487 回答
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
}

另请参阅此页面的答案

于 2013-05-28T11:29:38.570 回答