我有一个项目,我使用XAMPP在Windows的localhost上使用CodeIgniter开发。这个项目差不多完成了,并且在我的第一台笔记本电脑(我在第一台笔记本电脑上开发)的服务器和本地主机上运行良好。但是,当我试图在我的第二台笔记本电脑上运行这个项目时,这个项目在页面加载/重定向时会丢失/删除会话。而在页面刷新/重定向之前已经收到并生成了会话数据。< / p>
注意:我在第一台和第二台笔记本电脑上使用相同的源代码
我不知道为什么。我已经尝试过stackoverflow朋友的问题解决方案,但没有得到工作解决方案。
我的自动加载
$autoload['libraries'] = array('database','session','pagination','bcrypt','form_validation');
默认情况下我的配置会话和Cookie
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
我的控制器
public function auth()
{
$username=$this->input->post('username');
$password=$this->input->post('password');
$this->login_m->set_username($username);
$query = $this->login_m->login();
if ($query->num_rows()==1)
{
$row = $query->row();
if ($password == $this->bcrypt->check_password($password,$row->password)) {
$data_login= array(
'username'=>$row->username,
'id_user'=>$row->id_user,
'nama'=>$row->nama,
'akses'=>$row->akses
);
$this->session->set_userdata($data_login);
$akses = $this->session->userdata('akses');
if ($akses=='super admin' or $akses=='admin') {
redirect('dashboard');
}elseif ($akses=='user') {
redirect('home');
}
}
else {
echo "<script>alert('Gagal login: Cek nip, password!');history.go(-1);</script>";
}
}
else {
echo "<script>alert('Gagal login: Cek nip, password!');history.go(-1);</script>";
}
}
我的模特
public function login()
{
$query = "SELECT * from por_user where username = ?";
return $this->db->query($query,array($this->get_username()));
}
注意:我在第一台和第二台笔记本电脑上使用相同的源代码
当我在重定向后打印会话时,结果为 null
任何人都可以帮助我吗? 原谅我的英语:D谢谢你
答案 0 :(得分:0)
您需要设置类似
的保存路径应用/高速缓存/会话/
$config['sess_save_path'] = APPPATH . 'cache/session/';
许可0700