Php 表单提交返回空数据

Php 表单提交返回空数据,php,codeigniter,Php,Codeigniter,我正在使用PHP框架CodeIgniter 查看 <?php echo form_open('login/connect'); ?> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><?php echo form_label('Username', 'username'); ?></td>

我正在使用PHP框架CodeIgniter

查看

<?php echo form_open('login/connect'); ?>
    <table border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td><?php echo form_label('Username', 'username'); ?></td>
            <td><?php echo form_input(array('id'=>'username', 'name'=>'username')); ?></td>
        </tr>
        <tr>
            <td><?php echo form_label('Password', 'password'); ?></td>
            <td><?php echo form_password(array('id'=>'password', 'name'=>'password')); ?></td>
        </tr>
        <tr>
            <td></td>
            <td><?php echo form_submit('login_submit', 'Valider'); ?></td>
        </tr>
    </table>
<?php echo form_close(); ?>
}

HTML

<div id="login">
    <div id="login-inner">
        <h1>Login</h1>
        <form action="http://myswebsite.com/admin/index.php/login/connect" method="post" accept-charset="utf-8">                    
            <table border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td><label for="username">Username</label></td>
                    <td><input type="text" name="username" value="" id="username"  /></td>
                </tr>
                <tr>
                    <td><label for="password">Password</label></td>
                    <td><input type="password" name="password" value="" id="password"  /></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="login_submit" value="Valider"  /></td>
                </tr>
            </table>
        </form>
    </div>
</div>

登录
用户名
密码
但它返回一个空数组

有人能提出一个解决这个问题的方法吗


谢谢。

我想他使用的是CodeIgniter,因此表单_open()将自动放置方法=“post”。请你能分享表单的输出HTML吗

检查您是否没有重定向请求,否则post变量将被重置。 尝试打印而不是var\u dump…

不要使用$\u POST 试用

$username= $this->input->post('username');
$password=$this->input->post('password');
确定了问题。 它与网站url有关,表单提交时出现了不需要的301重定向。
引用:

在父类之后输入以下类::\u construct()

$this->load->helper('url');
$this->load->helper('form');

您没有指定方法,因此它应该是一个get-requestShow-your-Controller。@oPi您不需要在codeigniter中指定方法,默认情况下是它的
post
。检查为什么要包含
.php
扩展名<代码>$this->load->view('login.tpl.php')@jogesh_-pi不知道。很抱歉,soHello出现了错误,我尝试了print\r,但它不起作用(仍然获取空数据)。捕获发送的请求后,我从标题中获得以下信息:状态代码:301永久移动这是问题吗?如果是,如何避免这种情况(这方面有好的教程吗)?提前感谢。状态代码301表示永久重定向。这应该是问题所在。跟踪您的请求并了解重定向的“位置”。发生重定向时,将重置POST变量。您应该在重定向之前看到您的$\帖子。很抱歉,我对CodeIgniter没有太多经验,但我认为问题就在这里。是的,正确的方法是
$this->input->post()
,但是
$\u post
也可以。如果OP没有通过
$\u POST
获得输出,那么
$this->input->POST()
@jogesh\u pi也会发生同样的情况。捕获发送的请求后,我从标题中获得以下信息:状态代码:301永久移动这是问题吗?如果是,如何避免这种情况(这方面有好的教程吗)?提前谢谢。@jogesh_-pi我也已将代码更新为上述方法。@nikhil查看这篇文章@jogesh_-pi谢谢,发现了问题。它与不需要的重定向有关。
$this->load->helper('url');
$this->load->helper('form');