我有一个简单的登录页面,网址结构如www.mydomain.com/admin/auth
几天前我遇到了一个问题,$ _POST一直是空的,所以我用Google搜索并发现http://codeigniter.com/forums/viewthread/191918/建议更改我的config.php:
$config['uri_protocol'] = 'REQUEST_URI';
到
$config['uri_protocol'] = 'PATH_INFO';
最后它工作但只有当我在URL上添加index.php时才这样: www.mydomain.com/index.php/admin/auth
我试图让$ _POST在URL上没有index.php的情况下工作,但我无法理解。我的.htaccess是:
RewriteEngine on
RewriteCond $1 !^(index.php|assets|user_guide|robots.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
我需要做的就是让$ _POST在我的网址上运行,是否有任何锻炼或解决方法?谢谢你的时间。
编辑: 这是我的控制器(我减少了所以它只加载视图,用于调试)
public function index()
{
$this->load->view('admin/login');
}
我的观点已经减少到了:
<?php var_dump($_POST); ?>
<html><head></head><body>
<form method='POST'>
<input type='text' name='nama' value='test'>
<input type='submit' value='Submit'>
</form>
</body></html>
这个代码在我没有CI的服务器上制作的单个文件上运行得非常好。
答案 0 :(得分:0)
您是否尝试通过$ this-&gt; input-&gt; post()访问$ _POST数组?例如:
$_POST['foo']
变为
$this->input->post('foo')
答案 1 :(得分:0)
步骤1. print_r($ this-&gt; input-&gt; post());在您要发布的页面上。
答案 2 :(得分:-1)
想出来,它与我的子域有关。当我禁用子域时,一切正常,它似乎与子域和CI的htaccess有关。谢谢你的时间:)