在 PHP 中获取 URL 参数

2022-08-30 06:18:58

我试图在php中将URL作为url参数传递,但是当我尝试获取此参数时,我什么也没得到

我使用以下网址表单:

http://localhost/dispatch.php?link=www.google.com

我正在尝试通过:

$_GET['link'];

但什么也没回来。问题出在哪里?


答案 1

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

<?php
echo $_GET['link'];

特别是,它是一个超全局变量:一个由PHP填充的内置变量,可以在所有范围内使用(您可以在没有global关键字的函数内部使用它)。

由于该变量可能不存在,因此您可以(并且应该)确保您的代码不会通过以下方式触发通知:

<?php
if (isset($_GET['link'])) {
    echo $_GET['link'];
} else {
    // Fallback behaviour goes here
}

或者,如果要跳过手动索引检查并可能添加更多验证,则可以使用筛选器扩展:

<?php
echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);

最后但并非最不重要的一点是,您可以使用 null 合并运算符(自 PHP/7.0 起可用)来处理缺少的参数:

echo $_GET['link'] ?? 'Fallback value';

答案 2

请张贴您的代码,

<?php
    echo $_GET['link'];
?>

<?php
    echo $_REQUEST['link'];
?>

工作...


推荐