CodeIgniter无法发布数据

时间:2012-11-27 13:49:24

标签: php codeigniter post

我尝试在Codeigniter中进行简单的用户登录,但我无法通过邮件获取表单数据。

查看简单代码 控制器

class User extends CI_Controller{

function login(){


    $this->load->helper('form');
    $this->load->library('form_validation');

    $this->form_validation->set_rules('username', 'username', 'required');
    $this->form_validation->set_rules('password', 'password', 'required');
    $this->form_validation->set_error_delimiters('<em>','</em>');

    if($this->input->post('weiter')){

        if($this->form_validation->run()){
            echo "okay";

        }
    }else{
        $this->load->view("templates/header");  
        $this->load->view("user/login");
        $this->load->view("templates/footer");
    }





}

}

路由配置

 $route['user/login'] = 'user/login';

形式:

<?php echo form_open("user/login");?>
<table>

    <tr>
        <td><label for="username">Username</label></td>
        <td><input type="text" name="username"></td>
    </tr>
    <tr>
        <td><label for="password">Passwort</label></td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td><input type="submit" name="weiter"></td>
        <td></td>
    </tr>
</table>

当我查看Chrome中的开发人员工具时,我看到它会发布帖子,但返回状态为404,为什么,我可以帮助某人吗?

3 个答案:

答案 0 :(得分:0)

我能看到的问题是你的form_open(“user / login”);没有返回正确的URL,只需删除它并测试,使用以下代码进行查看

<form method="post">
<table>

    <tr>
        <td><label for="username">Username</label></td>
        <td><input type="text" name="username"></td>
    </tr>
    <tr>
        <td><label for="password">Passwort</label></td>
        <td><input type="password" name="password"></td>
    </tr>
    <tr>
        <td><input type="submit" name="weiter"></td>
        <td></td>
    </tr>
</table>
</form>

如果您不将控制器名称或方法名称更改为值,则可以选择删除路由规则$route['user/login'] = 'user/login';,因为您不需要它。

答案 1 :(得分:0)

好的,问题解决了,不是很好但是有效。 我在config.php中将属性index_page设置为''为a 清除URL,但是当设置'index.php'时一切正常......

不知道这是否正常

答案 2 :(得分:0)

您是否尝试过使用base_url()?也许你的.htaccess有问题。尝试使用下面的代码。

  <?php 
    echo form_open(base_url('user/login'));
   ?>
   <table>

<tr>
    <td><label for="username">Username</label></td>
    <td><input type="text" name="username"></td>
</tr>
<tr>
    <td><label for="password">Passwort</label></td>
    <td><input type="password" name="password"></td>
</tr>
<tr>
    <td><input type="submit" name="weiter"></td>
    <td></td>
    </tr>
 </table>
     <?php echo form_close(); 
       ?>