我有一个在CodeIgniter视图中构建的简单表单:
<html>
<head>
<title></title>
<base href="<?php echo site_url(); ?>" />
</head>
<body>
<?php echo form_open('main/testformout'); ?>
First name: <input type="text" name="fname" /><br>
Last name: <input type="text" name="lname" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
编辑:这是上面表格的HTML输出:
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="http://www.mypage.com/main/testformout">
First name: <input type="text" name="fname" /><br>
Last name: <input type="text" name="lname" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
我已经尝试过使用和不使用表单助手,但在本例中我使用的是form_open助手。
点击提交按钮时,没有POST数据进入控制器。
控制器代码:
public function helperin()
{
$this->load->view('test/helperin_v', NULL);
}
public function testformout()
{
print_r($_POST);
echo "<br />";
echo $_SERVER['REQUEST_METHOD'];
echo "<br />";
var_dump($this->input->post());
$this->load->view('test/out_v', $viewData[$_POST]);
}
当系统和应用程序文件夹加载到与public_html文件夹相同的级别时,我得到以下结果:
GET
bool(false)
当系统和应用程序文件夹加载到public_html文件夹中时(我知道这不安全)我得到了这个结果:
Array ( )
GET
bool(false)
此外,代码在我的本地计算机上运行良好,但在上载到Bluehost服务器时无效。
这是我的htaccess文件(因为我做了足够的研究,知道这可能有价值)。
RewriteEngine On
RewriteCond $1 !^(index\.php|public|assets|images|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
Bluehost服务人员说这是因为重定向问题,他们认为问题已经结束,但我没有做重定向,而是留下CodeIgniter框架或他们的服务器。