我'在我的login.php控制器中尝试渲染login_view.php时遇到问题。我得到的是这个错误:
Firefox检测到服务器正在重定向请求 这个地址永远不会完成。
有时可能会因禁用或拒绝接受Cookie而导致此问题。
这是我的控制器
class Login extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->helper(array('form','url','html'));
$this->load->library(array('session','form_validation'));
$this->load->database();
$this->load->model('user_model');
}
function index()
{
//get form input
$email = $this->input->post('email');
$password = $this->input->post('password');
//form validation
$this->form_validation->set_rules('email','Email-ID','trim|required|xss_clean');
$this->form_validation->set_rules('password','Password','trim|required|xss_clean');
if($this->form_validation->run() == FLASE)
{
//validation fail
$this->load->view('login_view');
}
else
{
//check user credentials
$uresult = $this->user_model->get_user($email, $password);
if(count($uresult)>0)
{
//set session
$sess_data = array('login' => TRUE, 'uname' => $uresult[0]->fname,'uid' => $uresult[0]->id);
$this->session->set_userdata($sess_data);
redirect('profile/index');
}
else
{
$this->session->set_flashdata('msg','<div class = "alert alert-danger text-center">Wrong Email/Password</div>');
redirect('login/index');
}
}
}
}
请帮我弄清楚问题是什么。谢谢。
答案 0 :(得分:0)
我建议你在autoload中加载会话库,因为你需要在其他页面上使用它。此外,你在第一个if条件下有一个拼写错误。
if($this->form_validation->run() == FLASE) // FIX FALSE
答案 1 :(得分:0)
修正了它!事实证明,我错误地使用redirect
代替$this->load->view('login_view');
和$ this->load->view('profile_view');
如果我使用redirect
,代码将始终检查if(count($uresult)>0)
是TRUE
还是FALSE
,然后继续执行redirect
动作将始终运行。所以它是无限循环。
签出支票用户凭证条件声明。