Codeigniter - 提交表单后收到404错误

时间:2014-12-08 10:38:11

标签: codeigniter

我是Codeigniter的新手,我正在尝试通过构建简单的管理面板来学习它...但在最后几天我遇到了一些错误:

当我发送/提交登录信息时,我收到404错误。这是我的控制器代码:

类登录扩展了CI_Controller {

public function index()
{   
    if($this->aauth->is_loggedin()){redirect('/dashboard');}

    $this->sign_in();

}

public function sign_in()
{   
    $this->load->view('header');    
    $this->load->view('login'); 
    $this->load->view('footer');
}   

public function validate()
{
    $this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean|valid_email');
    $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');


    if($this->form_validation->run() == FALSE){
        //Field validation failed.  User redirected to login page
        $this->load->view('header');    
        $this->load->view('login'); 
        $this->load->view('footer');

    }else{
        //Check for database and redirect to private area
        redirect('/dashboard');
    }   

}

}

我还在github上分享了我的整个项目,因为它可能与其他文件有关:

https://github.com/shaimoryosef/admin

请尽量帮我找出问题所在..

由于 晒

2 个答案:

答案 0 :(得分:0)

你需要改变两件事

首先:在view / login.php

登录是链接

`<a href="index.html" class="btn btn-lg btn-success btn-block">Login</a>`

更改为按钮

<button type="submit" class="btn btn-lg btn-success btn-block">Login</button>

第二个将index.php放在form_open()

<?php echo form_open('index.php/login/validate'); ?>

答案 1 :(得分:0)

此链接

 <a href="index.html" class="btn btn-lg btn-success btn-block">Login</a>

是错误的,这就是为什么你可能会得到404错误,因为href属性指向index.html。

如果您想提交表单,只需提交一个提交按钮,您就可以通过表单操作登录/验证。我的建议是使用

<?php echo form_submit('mysubmit', 'Submit'); ?>

<?php echo echo form_button(array( 'type' => 'submit',  'content' => 'Login')); ?>

来自表单助手的函数。检查CI user guide并选择最适合您的人。