PHP自动"获取"变量

zuk*_*uk1 3 php get global-variables

我为我的公司设计了一个新的网站,我正在尝试实现交换机导航,这是我过去在我所有网站上使用的.

<?php
switch($x) {

default:
include("inc/main.php");
break;

case "products":
include("inc/products.php");
break;

}
?>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我去index.php?x =产品没有任何反应时,它仍然显示inc/main.php,换句话说它没有从URL中检测到X变量.这与全局变量有关吗?

Aln*_*tak 15

是的,你的PHP配置已经正确地得到register_globals关闭,因为这是令人难以置信的不安全.

刚刚放:

$x = $_REQUEST['x']
Run Code Online (Sandbox Code Playgroud)

在脚本的顶部.

$_GET如果您特别希望这适用于GETHTTP方法,也可以使用.我看到有些人声称$_REQUEST某种程度上不安全,但没有证据支持这一点.


han*_*ngy 5

看起来你以前的webhost都使用了register_globals,你的代码依赖于它.这是一个危险的设置,并在PHP 6.0中正确删除!请switch($_GET['x']) {改用.