我正在使用PHP和CodeIgniter实现一个简单的新闻稿表单,作为一个大项目的一部分。
我的HTML代码如下。
<form method="POST" action='http://sit.com/index.php/Users/subscribenews'>
<div class="input-group">
<input type="email" id="pkemailid" name="pkemailid">
<span class="input-group-btn">
<button class="btn btn-lg btn-primary" type="submit"> Go
</button>
</span>
</div><!-- /input-group -->
</form>
在我的控制器中,我将值处理为
$emailid = $this->input->post('pkemailid');
当我执行$ _POST变量的var_dump时,我得到以下
array(0) { }
最大的问题是我能够在localhost上的WAMP服务器上正确运行它,但它在托管服务器上不起作用。
有趣的是,如果我将POST更改为GET,那么它就会开始工作。
答案 0 :(得分:0)
这一行
<input type="email" id="pkemailid" name="pkemailid">
尝试将其更改为
<input type="text" id="pkemailid" name="pkemailid">
type =“email”仅为html 5,我不确定 - 但codeigniter可能不支持html 5表单值。
=====编辑
所以我的建议是当你在试图找到一个错误的头发问题的现实阶段 - 得到一个全新的codeigniter副本,安装在你的服务器上,确保你得到欢迎页面。
现在使最简单的形式成为可能,并从控制器方法回显一些东西,以确保您将表单提交给正确的方法。接下来添加一个带有值的隐藏表单字段,并从您的方法中回显该值。
如果一切正常,那么您的服务器就不会出现原始代码中的错误。如果它不起作用,那么你的服务器有问题。