我的会话无法正常工作
My session doesnot work properly
我有问题,下面的 if
条件总是进入第一个 if
条件,永远不会进入 elseif
条件。
下面是我的代码:
if ($this->session->has_userdata('role') == 1) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('adashboard');
} elseif ($this->session->has_userdata('role') == 2) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('udashboard');
}
你能告诉我为什么吗?
希望对您有所帮助:
使用userdata
代替has_userdata
:userdata
returns指定项key的值
if ($this->session->userdata('role') == 1)
{
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('adashboard');
}
elseif ($this->session->userdata('role') == 2)
{
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('udashboard');
}
更多:https://www.codeigniter.com/user_guide/libraries/sessions.html
希望对您有所帮助
has_userdata() 检查是否设置了给定的会话索引及其 return 布尔值。
$this->session->has_userdata('role') ;
此代码检查是否设置了角色。所以在你的情况下它 returns true 相当于 1.
在您的情况下,您需要使用 userdata()
而不是 has_userdata()
。
$role=$this->session->userdata('role');
if ($role == 1) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('adashboard');
} elseif ($role == 2) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('udashboard');
}
我有问题,下面的 if
条件总是进入第一个 if
条件,永远不会进入 elseif
条件。
下面是我的代码:
if ($this->session->has_userdata('role') == 1) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('adashboard');
} elseif ($this->session->has_userdata('role') == 2) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('udashboard');
}
你能告诉我为什么吗?
希望对您有所帮助:
使用userdata
代替has_userdata
:userdata
returns指定项key的值
if ($this->session->userdata('role') == 1)
{
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('adashboard');
}
elseif ($this->session->userdata('role') == 2)
{
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('udashboard');
}
更多:https://www.codeigniter.com/user_guide/libraries/sessions.html
希望对您有所帮助
has_userdata() 检查是否设置了给定的会话索引及其 return 布尔值。
$this->session->has_userdata('role') ;
此代码检查是否设置了角色。所以在你的情况下它 returns true 相当于 1.
在您的情况下,您需要使用 userdata()
而不是 has_userdata()
。
$role=$this->session->userdata('role');
if ($role == 1) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('adashboard');
} elseif ($role == 2) {
$this->session->set_flashdata('success', 'Welcome ' . $userInfo[0]->name . '!');
redirect('udashboard');
}