我在Codeigniter中有关于帖子变量的问题,现在我修复了它,但是我不确定这是否正常,换句话说,我真的想知道为什么我只有问题在托管服务器上,而不是在本地。
问题: 我想要更安全的脚本,所以我用$ this-> input-> post和$ this-> input-> get替换了$ _POST / $ _ GET,就像在这个例子中一样:
if(!empty($this->input->get('endDate'))){
$data['datepicker'] = $this->input->get('thisDate');
}
这在我的本地主机上工作正常,但我认为这是错误的方式,因为当我部署到托管服务器时,我从validation engine获得了ajax解析错误我是使用,我无法登录系统,得到所有时间ajax解析错误,并以某种方式弄清楚每当我检查是否为空$ this-> input-> post(' var)或者和get一样,错了。
我已经从Codeigniter检查了输入类并且发现,$ this-> input-> post返回true / false,所以我改变了这样的格式:
if(!($this->input->get('endDate'))){
$data['datepicker'] = $this->input->get('thisDate');
}
这很好用。 我仍然想知道 - 为什么代码在localhost上工作,但是它没有在服务器上,或者检查POST / GET变量是否为空的最佳方法是什么。我真的很想念一些东西进行。
谢谢。
答案 0 :(得分:1)
考虑到empty($this->post->get('var'))
的检查将始终返回false,无论POST / GET是否存在,因此可能仅出于这个原因。 - 所以我不确定你为什么在不同的环境中得到错误,但第一个说法是错误的,它与编写if(true)
另外,我要检查输入的错误断言,你永远不知道什么时候你可能需要零作为输入,如果你习惯了这种做法,你可能会意外地错误