Heim > Artikel > Backend-Entwicklung > 收藏 PHP页面action值传递问题
(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将被取消掉