我的旧网站刚刚移到一个新的服务器(新的PHP平台)。
当网址显示:http://url.com/page.php?num=9时
这在过去是有效的:
if($num == "9")
echo "hello";
?>自这个网站建成后的一千年里,发生了什么变化?
发布于 2016-11-23 06:01:28
在这种情况下,您需要使用以下方式获取变量
$number = $_GET["num"];然后,您可以继续
if($number=="9") {
echo "hello";
}发布于 2016-11-23 06:14:10
改变的是:
$_GET、$_POST等)引入了register_globals默认设置从ON更改为OFF注册全局变量允许您自动使$num可用(如果它在URL中)。在我链接的PHP文档中,有一些关于删除该特性的各种(好)原因的讨论。一个好的TL/DR (来自该文档)可能是:
启用后,register_globals将向您的脚本注入各种变量,例如来自HTML表单的请求变量。再加上PHP不需要变量初始化的事实,这意味着编写不安全的代码要容易得多。
正如其他答案所示,现在获取它的方法是使用$_GET['num'],但如果您的代码依赖于寄存器全局变量,则可能还需要更新其他内容。
发布于 2016-11-23 05:58:03
$_GET['your_url_parameter_name_here']在您的实例中使用以下代码
if($_GET['num'] == "9")
echo "hello";https://stackoverflow.com/questions/40752340
复制相似问题