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