Codeigniter POST / GET变量和$ this-> input-> post

时间:2014-09-13 08:13:54

标签: php ajax database codeigniter

我在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变量是否为空的最佳方法是什么。我真的很想念一些东西进行。

谢谢。

1 个答案:

答案 0 :(得分:1)

考虑到empty($this->post->get('var'))的检查将始终返回false,无论POST / GET是否存在,因此可能仅出于这个原因。 - 所以我不确定你为什么在不同的环境中得到错误,但第一个说法是错误的,它与编写if(true)

完全一样

另外,我要检查输入的错误断言,你永远不知道什么时候你可能需要零作为输入,如果你习惯了这种做法,你可能会意外地错误