Codeigniter - 控制器无法呈现视图

时间:2016-10-27 17:41:04

标签: php codeigniter session

我'在我的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');
            }
        }
    }
}

请帮我弄清楚问题是什么。谢谢。

2 个答案:

答案 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动作将始终运行。所以它是无限循环。

签出支票用户凭证条件声明。