我正在尝试将 URL 作为 php 中的 url 参数传递,但是当我尝试获取此参数时,我什么也没得到 p>
我正在使用以下网址形式:
http://localhost/dispatch.php?link=www.google.com
我正在努力解决:
$_GET['link'];
但没有返回。有什么问题?
最佳答案
$_GET
不是函数或语言结构——它只是一个变量(一个数组)。试试:
<?php
echo $_GET['link'];
尤其是 superglobal : 一个由 PHP 填充的内置变量,可在所有范围内使用(您可以在没有 global 关键字的函数内部使用它)。
由于变量可能不存在,您可以(并且应该)确保您的代码不会触发通知:
<?php
if (isset($_GET['link'])) {
echo $_GET['link'];
} else {
// Fallback behaviour goes here
}
或者,如果您想跳过手动索引检查并可能添加进一步的验证,您可以使用 filter扩展:
<?php
echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);
最后但同样重要的是,您可以使用 null coalescing operator (从 PHP/7.0 开始可用)来处理丢失的参数:
echo $_GET['link'] ?? 'Fallback value';
关于php - 获取 PHP 中的 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884807/