【发布时间】:2017-08-17 04:16:30
【问题描述】:
public function user_login()
{
$email = $_POST['email'];
$password = $_POST['password'];
$userdata = $this->em->user_login($email, $password);
$user_info = $this->em->does_user_exist($email, $password);
if ($user_info->num_rows() == 1) {
foreach ($user_info->result() as $row) {
$data = array(
'id' => $row->id,
'username' => $row->username,
'email' => $row->email,
'user_type' => $row->user_type,
'logged_in' => TRUE
);
$this->session->set_userdata($data);
}
if($userdata) {
echo 1;
} else {
echo 'error';
}
}
}
这是我的控制器,我在其中检查用户是否可以登录以及用户是否存在(如果存在)我获取所有数据并设置会话。出于某种原因,当我回显它不会显示的会话用户名时。有什么问题?
我是这样回应会话的:
<div>
hello<p><?php echo $this->session->userdata('username'); ?></p>
</div>
<div>
<p><?php echo $data['username']; ?></p>
</div>
还有其他方法可以回显会话吗?
【问题讨论】:
-
我会 var_dump
$this->session或$this->session->userdata -
输出是什么?它只是空的吗?或者你得到一个错误?你
$this->load->library('session');了吗? -
我这样做是为了检查是否设置了会话 Array echo "
"; print_r($this->session->all_userdata());回声“
”; -
输出只是数组 ( [__ci_last_regenerate] => 1502943577 )
-
我在配置中自动加载会话库
标签: php codeigniter session