とても奇妙なことが起こっています。別のタイプのユーザーを追加したので、モデレーターと管理者を設定して、サイトへのさまざまなレベルのアクセスを許可できます。これは、ユーザー タイプ 1、2、禁止、非アクティブで問題なく機能していました。しかし、タイプ 3 を追加するとすぐに、セッションがドロップするように見えます。
これが私が行っているコードです。
$loginObject = array('email' => $this->input->post('email'),
'password' => md5($salt.$this->input->post('password')));
$login = $this->users_model->checkUser($loginObject);
if($login == true){
$currentUser = $login;
$this->session->set_userdata('currentUser', $currentUser);
$this->session->set_userdata('loggedin', true);
$this->user = $this->session->userdata('currentUser');
$type = $this->users_model->getUser($this->user->user_id);
if($type[0]->type == 1){
redirect('story/viewStories/'.$this->user->pen_name);
}else if($type[0]->type == 2) {
redirect('subMenu/recentStories');
}else if($type[0]->type == 3){
/* This is where the sessions seem to drop */
redirect('subMenu/recentStories');
}else if($type[0]->type == 'banned'){
$this->session->sess_destroy();
redirect('/banned/');
}elseif ($type[0]->type == 'deactive') {
redirect('/home');
}
}else{
redirect('/home/errorPage');
}
私はすべてを var_dumpted しましたが、ユーザーの値はそこにあるように見えますが、最近の記事のページにリダイレクトされるとすぐに、セッションは存在しなくなります。そして、私は他の各ユーザーとしてログインしましたが、彼らは適切なセッションで問題なくリダイレクトします。壊れるのはそのユーザーだけです。
タイプをテストしましたが、それはそこにあります。つまり、その機能に到達してリダイレクトします。私はもはやユーザーに関する情報を持っていません...そしてそれが管理者タイプであるため、それが必要です。
これには何か理由がありますか?私はばかげた間違いをしているだけですか?