我使用 CI 2.2 来构建一个简单的登录系统。但是当我尝试生成会话时遇到问题。当然,我已经正确设置了库(数据库,会话)和User_M。当我从数据库(没有会话)检索数据时,这工作正常。这是我的控制器代码:
public function verify()
{
// Define variable
$user = $this->input->post('username');
$pass = $this->input->post('password');
// Check input data
if (!empty($user) AND !empty($pass))
{
// Check match data from db
$checks = $this->User_M->check_user($user, $pass);
if($checks->num_rows() == 1)
{
foreach ($checks->result() as $check)
{
$sess = array (
'username' => $check->username,
'logged_in' => TRUE
);
$rest = $this->session->set_userdata($sess);
if ($rest)
{
echo "working";
} else {
echo "not working";
}
}
} else {
echo "Not found";
}
} else {
echo "You've empty field";
}
}
另外解释一下,我用if ($rest)
检查结果...嘭��嘭��呸,这是在呼应 不工作.请让我知道我的错误在哪里?
提前致谢
我认为问题出在这个陈述上
$rest = $this->session->set_userdata($sess);
set_userdata()
不返回任何内容,因此根据您的条件,它将始终执行 else 部分。
尝试像这样改变您的状况
if (!empty($this->session->userdata("username"))){
echo "Working";
}else{
echo "Not Working";
}