我正在CodeIgniter中的注册页面上工作.问题是,我的帖子数据没有通过.以下代码始终生成“失败”:
class Signup extends CI_Controller {
function index()
{
if ($this->input->post())
{
echo 'success';
}
else
{
echo 'fail';
echo form_open('signup');
echo form_input('username', 'Username');
echo form_input('email_address', 'Email address');
echo form_submit('submit', 'Create Acccount');
echo form_close();
}
}
}
可能是什么问题呢?
为了使问题更加有趣,在我的localhost上,表单工作得很好.这是在远程服务器上失败的时候.
更新1:根据要求,这是服务器输出的内容:(我模糊了网址,我没有透露)
<form accept-charset="utf-8" method="post" action="http://www.url.com/signup">
<input type="text" value="Username" name="username">
<input type="text" value="Email address" name="email_address">
<input type="submit" value="Create Account" name="submit">
</form>
更新2:我看到localhost和远程服务器之间的行为有另一个区别:在提交表单后刷新(cmd R或F5)页面时,在本地主机上我的浏览器要求我再次发送表单.远程服务器上的同一页面不会从浏览器调用该问题,因此看起来某些重定向或网址问题会导致问题?
更新3:似乎在远程服务器上,用户被重定向301.(永久移动)我仍然不知道此重定向来自何处.重定向有效地杀死了后期数据,因此它解释了为什么post()返回false.
那么,有谁知道我为什么要301了?
更新4:我通过将base_url设置为http://www.url.com而不是http://url.com来重定向到CodeIgniter中
改变之后,它解决了问题!