Php POST变量为空

Php POST变量为空,php,codeigniter,Php,Codeigniter,我有以下控制器文件: <?php class Test extends CI_Controller { function __construct() { parent::__construct(); } function index() { print_r($_POST); $view_params = array(); $this->load->view('

我有以下控制器文件:

<?php
class Test extends CI_Controller 
{
    function __construct()
    {
        parent::__construct();  
    }

    function index()
    {   
        print_r($_POST);
        $view_params = array();

        $this->load->view('test', $view_params);
    }
}
?>

查看以下文件:

<form action="/test" method="post">
    <input type="text" name="test" />
    <input type="submit" />
</form>

<ul id="account">
    <li class="separator url"><label>Domain Address (URL)</label><input maxlength="22" type="text" name="sub_url" />
    <small class="subtext">This is the link people use to find your site. You can change this at any time.</small>
</li>
</ul>
<img class="green_arrow" src="assets/images/green_arrow.png" />

    域地址(url) 这是人们用来查找您的站点的链接。您可以随时更改此设置。
当我点击提交按钮时,没有发布数据,但当我刷新页面时,它会显示数据已经发布并将重新发送


另外,我认为html只是一个片段,但请理解,我试图减少代码,从而减少问题区域的数量。之后会有这么多垃圾的原因是,如果我删除,视图文件将停止工作,但这是另一个问题

CodeIgniter出于安全目的清空$\u POST、$\u GET等。改用输入类

$post = $this->input->post();

请在此阅读:
嘿,约翰·内森,很高兴我能解决你的问题。您所要做的就是启用apache的mod rewrite

a2enmod rewrite 
/etc/init.d/apache2 reload

因为您没有apache的mod rewrite,code igniter一定是弄乱了一些重写规则,并在回发邮件时弄乱了表单数据。

如果您只是调用父级的构造函数,则不需要在那里使用构造函数-这已经为您完成了。它到底打印了什么?数组()?还是什么都没有?谢谢雅各布,我不知道我不需要构造器。从现在起,这将有助于减少我的代码。
a2enmod rewrite 
/etc/init.d/apache2 reload