【发布时间】:2012-06-13 21:39:29
【问题描述】:
我有一个回调函数来检查我的登录详细信息是否正确 - 如果它们错误,它会返回一个错误(这工作正常)。如果详细信息正确,则应设置会话 $this->session->set_userdata('logged_in',TRUE);,然后继续使用函数 login 并重定向到仪表板 - 此重定向工作正常。
在我的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;
}
}
}
【问题讨论】:
-
我们可以在dashboard/home上看到验证码吗?
-
@MikeCruz13 登录验证?我没有仪表板/主页的任何验证代码,它只是视图
-
您也可以发布您的控制器吗?根据您的控制器的外观,我的回答可能有误。
-
@xbonez 我已经发布了整个控制器 :)
-
@JessMcKenzie:好的,在这种情况下,我的回答是正确的。我正在取消删除它。
标签: php codeigniter session redirect