【发布时间】:2017-06-01 06:45:44
【问题描述】:
我有一些问题,我的代码工作正常,但会话没有。 这里是代码:
public function index()
{
if (isset($_POST['btnSubmit'])) {
$this->lm->username = $_POST['username'];
$this->lm->password = $_POST['password'];
$sql = sprintf("SELECT hakAkses, nip FROM user WHERE username = '%s' AND password = '%s'",
$this->lm->username,
$this->lm->password
);
$query = $this->db->query($sql);
$row = $query->row();
$sessData = array('nip' => $row->nip,
'hakAkses' => $row->hakAkses);
$this->session->set_userdata($sessData);
print_r($this->session->all_userdata());
if ($this->session->userdata('hakAkses') == 'ADMIN') {
redirect('Admin/index','refresh');
} else if ($this->session->userdata('hakAkses') == 'PENGAJAR'){
redirect('Pengajar/index','refresh');
} else {
redirect('Login','refresh');
}
} else {
$this->load->view('Login/LoginView');
}
}
当我在设置 session$this->session->set_userdata($sessData); 后执行此操作时,一切顺利。但是当我再次尝试以其他形式打印时,会话已经消失。
我的会话配置:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessios';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
好的原因是每次我重定向页面时会话都会生成新会话。 如何处理?
【问题讨论】:
-
您如何设置会话?你能发布你的代码吗?
-
您是否在 config.php 上设置了会话保存路径,不要离开为 NULL
标签: php codeigniter session