$ this-> input-> post()和$ _POST []之间的区别?

时间:2017-06-27 04:53:36

标签: php codeigniter-3

codeigniter中$this->input->post()$_POST[]之间有什么区别?

3 个答案:

答案 0 :(得分:4)

$_POST是原生PHP superglobal

$this->input->post()是CodeIgniter Input Class

的一种方法

从他们的文件:

  

输入类有两个目的:

     
      
  1. 它预处理全局输入数据以确保安全。
  2.   
  3. 它提供了一些辅助方法来获取输入数据并对其进行预处理。
  4.   

因此,$this->input->post()是CodeIgniter提供的辅助方法。不必检查$_POST中是否设置了值,检索它,然后保护该值免受XSS攻击等安全问题的影响,您只需使用$this->input->post()并让它为您完成工作。 / p>

这就是使用框架的重点。它会为您处理这样的细节,因此您可以专注于实现业务逻辑。

答案 1 :(得分:0)

$this->input->post()用于从控制器中的视图中获取单个值,另一方面,$_POST[]用于从控制器中的视图中获取整个值。我们也可以在$_POST['some_value']

的地方使用$this->input->post()

答案 2 :(得分:0)

两个函数的工作方式相同,它将获取HTTP POST variables

$_POST是一个本机PHP超全局变量(这意味着它们始终可以访问,无论范围如何 - 您可以从任何函数,类或文件访问它们而无需执行任何特殊操作。)

 e.g. $_POST['form name goes here']

$this->input->post()是CodeIgniter的内置功能。它将包含2参数。第一个参数将包含POST变量的名称。第二个参数可选。第二个可选参数允许您通过XSS过滤器运行数据。通过将第二个参数设置为布尔值TRUE来启用它。

e.g. 
$this->input->post(NULL, TRUE); // returns all POST items with XSS filter

$this->input->post(); // returns all POST items without XSS filter