我有一個回調函數,檢查我的登錄細節是否正確 - 如果他們錯了,它會返回一個錯誤(這工作正常)。如果細節正確,它應該設置會話$this->session->set_userdata('logged_in',TRUE);
,然後繼續使用功能login
並重定向到儀表板 - 此重定向工作正常。Codeigniter會話返回310重定向
在我function index(){}
上的任何信息板頁面也行
if($this->session->userdata('logged_in')) redirect('dashboard/home');
上面的線是一個引起我的310重定向,但我不確定爲什麼?
我想檢查用戶登錄重定向到dashboard/home
否則返回到登錄頁面home/login
控制器:
class Home extends CI_Controller {
function __construct() {
parent::__construct();
}
public function index()
{
//if($this->session->userdata('logged_in')) redirect('dashboard/home');
$data['contentMangement'] = $this->options_model->systemOptions();
$data['pageTitle'] = 'Login';
$data['message'] = "";
$this->load->view('_assets/header', $data);
$this->load->view('login', $data);
$this->load->view('_assets/footer');
}
public function login() {
$this->form_validation->set_rules('userEmail','Username', 'required|valid_email|trim|max_length[99]|xss_clean');
$this->form_validation->set_rules('userPassword','Password', 'required|trim|max_length[200]|xss_clean|callback__checkUsernamePassword');
if($this->form_validation->run() === FALSE) {
$data['contentMangement'] = $this->options_model->systemOptions();
$data['pageTitle'] = 'Login';
$data['message'] = validation_errors('<div class="alert alert-error">', '</div>');
$this->load->view('_assets/header', $data);
$this->load->view('login', $data);
$this->load->view('_assets/footer');
}elseif($this->form_validation->run() === TRUE){
redirect('dashboard/home');
}
}
function _checkUsernamePassword() {
$username = $this->input->post('userEmail');
$password = $this->input->post('userPassword');
$user = $this->user_model->check_login($username,$password);
if(! $user)
{
$this->form_validation->set_message('_checkUsernamePassword', 'Sorry the details you provided have not been found');
return FALSE;
}else{
$this->session->set_userdata('logged_in',TRUE);
return TRUE;
}
}
}
我們可以在儀表板/主頁上看到驗證碼嗎? – MikeCruz13
@ MikeCruz13登錄驗證?我沒有任何有關儀表板/家庭的驗證碼,只是查看 –
您是否也可以發佈您的控制器。根據你的控制器的外觀,我的答案可能是錯誤的。 – xbonez