【问题标题】:how to solve "302 found" response after form submit in codeigniter在codeigniter中提交表单后如何解决“302 found”响应
【发布时间】:2012-11-13 14:17:42
【问题描述】:

我正在使用 codeigniter,我有一个登录视图,我在其中向控制器提交表单以获取登录功能,但我得到的响应是 302 Found,并重定向到我的登录页面。

我的控制器代码是

class super_admin extends CI_Controller
{

    public function index()
    {
        $this->load->view('admin/login_view');
    }

    function checkLogin()
    {
        $email = mysql_real_escape_string($_POST['email']);
        $pwd = mysql_real_escape_string($_POST['pwd']);

        $this->load->model('admin/admin_model');
        $user = $this->admin_model->checkUser($email);
        //print_r($user[0]);
        if ($user && ($user[0]->password == md5($pwd)))
        {

            $user_data = array(
                            'user_id' => $user[0]->user_id,
                            'user_name' => $user[0]->name,
                            'user_email' => $user[0]->email
                        );

            $this->session->set_userdata($user_data);
            $this->load->view('admin/dashboard_view',$user_data);
        }
        else
        {
            $this->session->set_flashdata('invalid', '<div class="alert alert-error" id="invalid" ><h6>Invalid Email or Password</h6></div>');
            redirect('admin/super_admin');
        }
    }
}

我该如何解决这个问题?

【问题讨论】:

标签: php codeigniter http-status-code-302


【解决方案1】:

请不要在提交表单的方法中使用重定向加载视图,否则刷新页面时您不会收到发布请求,并且您的条件返回 false,这将导致故障。试试这个解决方法。还要检查你的 $user 变量包含什么。

class super_admin extends CI_Controller
{

    public function index()
    {
        $this->load->view('admin/login_view');
    }

    function checkLogin()
    {
        $email = $this->input->post('email', TRUE);
        $pwd = $this->input->post('pwd', TRUE);

        $this->load->model('admin/admin_model');
        $user = $this->admin_model->checkUser($email);
        //print_r($user[0]);
        if ($user && ($user[0]->password == md5($pwd)))
        {

            $user_data = array(
                            'user_id' => $user[0]->user_id,
                            'user_name' => $user[0]->name,
                            'user_email' => $user[0]->email
                        );

            $this->session->set_userdata($user_data);
            redirect('super_admin/dashboard');
        }
        else
        {
            $this->session->set_flashdata('invalid', '<div class="alert alert-error" id="invalid" ><h6>Invalid Email or Password</h6></div>');
            redirect('admin/super_admin');
        }
    }

    function dashboard()
    {
       if( $this->session->userdata('user_id') ) {
         $user_data = $this->session->all_userdata();
         $this->load->view('admin/dashboard_view',$user_data);
       } else {
         redirect('admin/super_admin');
       }
    }
}

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 1970-01-01
    • 2020-11-10
    • 2021-04-20
    • 2012-05-02
    • 2017-05-10
    • 2020-02-09
    • 2012-03-04
    • 1970-01-01
    相关资源
    最近更新 更多