if会话数据上的语句codeigniter

时间:2016-03-14 15:27:44

标签: php codeigniter session

所以我试图隐藏或显示用户登录时的选项。

我有这个简单的陈述,无论我是否登录,它始终显示

if( !isset($_SESSION) ){
                    echo "yes";
                }
                else {
                    echo "no";
                }

我也试过

function __construct()
{
parent::__construct();
$this->is_logged_in();
}


    if(is_logged_in())

        {
            echo "yes";
        }

    else
    {
        echo "no";                      
    }

既不起作用,我也认为第一个更简单,但我不确定哪种方法会更好。

3 个答案:

答案 0 :(得分:2)

isset($_SESSION)检查变量是否已设置,此处$_SESSION已定义。

所以在你的情况下,!(isset($_SESSION)) false是{1}},isset($_SESSION)!true

要检查会话值,请尝试false。这将检查isset($_SESSION['key_you_set'])是否存在。

答案 1 :(得分:1)

假设您已设置名为 session_id 的会话 您可以在codeigniter中检索会话信息,例如

$session_id = $this->session->userdata('session_id');

现在您可以查看以下内容

if($session_id==""){
echo "session not set";
}
else{
echo "session set";
}

答案 2 :(得分:0)

我认为这有助于你......

$session_id = $this->session->userdata('session_id');

代码更少但更安全

echo (!empty($session_id ) && isset($session_id) ) ? "session set" : "session not set" ;  // ternary operator