首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用if语句从URL检索变量的正确方法是什么?

使用if语句从URL检索变量的正确方法是什么?
EN

Stack Overflow用户
提问于 2016-11-23 05:53:57
回答 4查看 41关注 0票数 1

我的旧网站刚刚移到一个新的服务器(新的PHP平台)。

当网址显示:http://url.com/page.php?num=9

这在过去是有效的:

代码语言:javascript
复制
if($num == "9")
echo "hello";
?>

自这个网站建成后的一千年里,发生了什么变化?

EN

回答 4

Stack Overflow用户

发布于 2016-11-23 06:01:28

在这种情况下,您需要使用以下方式获取变量

代码语言:javascript
复制
$number = $_GET["num"];

然后,您可以继续

代码语言:javascript
复制
if($number=="9") {
     echo "hello";
}
票数 2
EN

Stack Overflow用户

发布于 2016-11-23 06:14:10

改变的是:

  1. PHP4.1- Superglobals ($_GET$_POST等)引入了
  2. PHP4.2- register_globals默认设置从ON更改为OFF
  3. PHP 5.3 -注册全局变量为deprecated
  4. PHP 5.4 -删除了注册全局变量

注册全局变量允许您自动使$num可用(如果它在URL中)。在我链接的PHP文档中,有一些关于删除该特性的各种(好)原因的讨论。一个好的TL/DR (来自该文档)可能是:

启用后,register_globals将向您的脚本注入各种变量,例如来自HTML表单的请求变量。再加上PHP不需要变量初始化的事实,这意味着编写不安全的代码要容易得多。

正如其他答案所示,现在获取它的方法是使用$_GET['num'],但如果您的代码依赖于寄存器全局变量,则可能还需要更新其他内容。

票数 1
EN

Stack Overflow用户

发布于 2016-11-23 05:58:03

代码语言:javascript
复制
$_GET['your_url_parameter_name_here']

在您的实例中使用以下代码

代码语言:javascript
复制
if($_GET['num'] == "9")
    echo "hello";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40752340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档