之前我已经开发了一些CI应用程序,之前从未遇到过这个问题,但我还是比较新的,并试图设置ION Auth而没有运气,所以我把它缩小到$ _POST是空的,所以我和#39;我尝试了一个全新的干净安装并做了这个非常简单的测试:
我尝试过开启和关闭CSRF& XSS以及所有不同的URI protocals,以及.htaccess文件且没有
控制器:
class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
public function send()
{
$this->load->view('test.php', array('form_data' => $this->input->post('mysubmit')));
}
}
将此添加到welcome_message视图:
<?php echo form_open('welcome/send'); ?>
<?php echo form_submit('mysubmit', 'Submit Post!'); ?>
<?php echo form_close(); ?>
检查chrome上的元素看表格,对我来说很好看:
form action="http://www.myactualdomain.com/book/index.php/welcome/send" method="post" accept-charset="utf-8"
这是test.php视图的代码:
Data: <?php echo $form_data; ?>
返回:&#34;数据:&#34;
所以我在顶部添加了index.php:
<?php
print "CONTENT_TYPE: " . $_SERVER['CONTENT_TYPE'] . "<BR />";
$data = file_get_contents('php://input');
print "DATA: <pre>";
var_dump($data);
var_dump($_POST);
print "</pre>";
?>
这返回:
CONTENT_TYPE:
DATA:
string(0) ""
array(0) {
}
我在CI之外测试了服务器,它很好,我运行了这个测试:
<?php
print "CONTENT_TYPE: " . $_SERVER['CONTENT_TYPE'] . "<BR />";
$data = file_get_contents('php://input');
print "DATA: <pre>";
var_dump($data);
var_dump($_POST);
print "</pre>";
?>
<form method="post">
<input type="text" name="name" value="ok" />
<input type="submit" name="submit" value="submit" />
</form>
这是结果:
string(21) "name=ok&submit=submit"
array(2) {
["name"]=>
string(2) "ok"
["submit"]=>
string(6) "submit"
}
表单助手是自动加载的
运行的apache服务器:PHP Version 5.3.3
这是post max size变量:post_max_size 64M 64M
我完全错过了什么吗?
问题在于config.php结果取消了www。在基本URL中修复了问题。