Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter can';t post数据_Php_Codeigniter_Post - Fatal编程技术网

Php CodeIgniter can';t post数据

Php CodeIgniter can';t post数据,php,codeigniter,post,Php,Codeigniter,Post,我尝试在Codeigniter中进行简单的用户登录,但我无法通过Post获得表单数据 看看简单的代码 控制器 class User extends CI_Controller{ function login(){ $this->load->helper('form'); $this->load->library('form_validation'); $this->form_validation->set_rules('user

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

看看简单的代码 控制器

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");
    }





}
表格:

<?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,为什么,我可以帮助别人吗

我看到的问题是你的表单打开(“用户/登录”);没有返回正确的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'因为如果不将控制器名称或方法名称更改为值,则不需要它

好的,问题已经解决了,不太好,但它可以工作。 我已在config.php中将属性索引页面设置为“”以用于 清除URL,但当设置为'index.php'时,所有这些都可以正常工作


不知道这是否正常

您是否尝试过使用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(); 
       ?>

用户名
紫苏

与此无关(您可以将其从项目中删除)。如果这个页面的url是你可以把hm不它不是问题,我检测到的问题是,默认的控制器可以获得post数据,但所有其他控制器不是,结果代码是甚至所有404只是由默认的_控制器不。。。我不明白:每次你只能在一个控制器中获取值,我很好奇你是如何尝试访问其他控制器中的值的。我想知道我是如何将它写在顶部的,我看到所有控制器都显示在浏览器上,只是它们有一个404错误代码,这让人困惑。我不需要将控制器添加到路由,只要我想用s特定路径覆盖它们,这正常吗?:DIts不正常,一次只使用一个控制器。如果您使用的控制器不止一个,那么您就有麻烦了,可以根据需要创建多个功能,而codeigniter具有非常好的路由功能,您不需要使用多个控制器
  <?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(); 
       ?>