首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取PHP中的URL参数

获取PHP中的URL参数
EN

Stack Overflow用户
提问于 2011-05-04 22:16:21
回答 7查看 731.1K关注 0票数 211

我试图在php中传递一个URL作为url参数,但是当我尝试获取这个参数时,我什么也得不到。

我使用下面的url格式:

代码语言:javascript
复制
http://localhost/dispatch.php?link=www.google.com

我在试着让它通过:

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

但是什么也没有返回。有什么问题吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-05-04 22:21:53

$_GET不是函数或语言构造-它只是一个变量(数组)。尝试:

代码语言:javascript
复制
<?php
echo $_GET['link'];

特别是,它是一个superglobal:一个由PHP填充的内置变量,在所有作用域中都可用(您可以在没有global关键字的函数内部使用它)。

由于变量可能不存在,您可以(也应该)确保您的代码不会触发以下通知:

代码语言:javascript
复制
<?php
if (isset($_GET['link'])) {
    echo $_GET['link'];
} else {
    // Fallback behaviour goes here
}

或者,如果您想跳过手动索引检查,并可能添加进一步的验证,则可以使用filter扩展:

代码语言:javascript
复制
<?php
echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);

最后但并非最不重要的一点是,您可以使用null coalescing operator (从PHP/7.0开始提供)来处理缺少的参数:

代码语言:javascript
复制
echo $_GET['link'] ?? 'Fallback value';
票数 319
EN

Stack Overflow用户

发布于 2014-05-21 01:50:05

使用以下命令:

代码语言:javascript
复制
$parameter = $_SERVER['QUERY_STRING'];
echo $parameter;

或者直接使用:

代码语言:javascript
复制
$parameter = $_GET['link'];
echo $parameter ;
票数 21
EN

Stack Overflow用户

发布于 2013-10-31 22:25:24

为了确保您始终是安全的,而不会得到各种不想要的代码插入,请使用过滤器:

代码语言:javascript
复制
echo filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);

有关php.net function filter_input的更多信息,请查看the description of the different filters

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5884807

复制
相关文章

相似问题

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