Home >Backend Development >PHP Tutorial >收藏 PHP页面action值传递问题

收藏 PHP页面action值传递问题

WBOY
WBOYOriginal
2016-06-06 20:51:211359browse

(1)

我们一般在页面以这样的index.php?action=segmentfault
判断值参数是否为:

if($_POST['action']=='segmentfault'){
   //这里就是想要操作的........
     }

(2)

为什么看到有这样判断的,这:

if($action=='segmentfault'){
   //想要操作的.........
}

1,第二种方法没有,不能这样写吧?

2,php.ini中register_global=On就可以第二种方法。大家怎么看

回复内容:

(1)

我们一般在页面以这样的index.php?action=segmentfault
判断值参数是否为:

if($_POST['action']=='segmentfault'){
   //这里就是想要操作的........
     }

(2)

为什么看到有这样判断的,这:

if($action=='segmentfault'){
   //想要操作的.........
}

1,第二种方法没有,不能这样写吧?

2,php.ini中register_global=On就可以第二种方法。大家怎么看

第一种写法是错的。query_string里的应该用$_GET;或者用$_REQUEST (包括GET/POST/COOKIE)

第二种是安全问题,很容易造成注入。你非要这么写的话,在不开启register_globals的时候,可以用extract函数。

register_global=On

这种写法非常古老,从接触 php 的第一天就被告知,不要开启这个。开启之后安全隐患非常严重。

request_order影响$_REQUEST,我之前一直用$_POST $_GET

1楼正解,而且在将来的版本中register_global将被取消掉

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn