所以我试图隐藏或显示用户登录时的选项。
我有这个简单的陈述,无论我是否登录,它始终显示否。
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";
}
既不起作用,我也认为第一个更简单,但我不确定哪种方法会更好。
答案 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