ユーザーのすべての資格情報が検証されたときに、コントローラーから codeigniter でセッションを設定しようとしています。ログインコントローラーのメソッドにこのコードがあります。メソッド ' login_check
' は、form_validation の set rules メソッドによってコールバック関数として呼び出されます。あらゆる方法を試しましたが、何らかの理由で、CIのマニュアルによると単純なタスクであるはずのセッションを設定できません
注: セッションは autoload.php で自動ロードされます
$this->form_validation->set_rules('password', 'password', 'trim|required|callback_login_check');
public function login_check($password) {
$this->load->library('session');
//Field validation succeeded. Validate against database
$username = $this->input->post('username');
$this->load->model('industry_person');
//query the database
$query = $this->industry_person->check_login($username, $password);
if (!$query) {
$this->form_validation->set_message('login_check', 'Invalid username or password');
return false;
$this->index();
} else {
$data = array(
'username' => $username,
'is_logged_in' => true
);
if (!$this->session->set_userdata('logged_in', $data))
echo "error setting session";
}
}
正しい資格情報を入力し、それらがデータベースで一致する場合、 「エラー設定セッション」として出力を受け取ります。