我试图在 php 中将 URL 作为 url 参数传递,但是当我尝试获取此参数时,我什么也没得到
我使用以下网址形式:
http://localhost/dispatch.php?link=www.google.com
我正在努力解决这个问题:
$_GET['link'];
但什么也没回来。问题是什么?
$_GET
不是一个函数或语言结构——它只是一个变量(一个数组)。尝试:
<?php
echo $_GET['link'];
特别是,它是一个超全球:由 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);
最后但并非最不重要的一点是,您可以使用空合并运算符(自可用以来PHP/7.0) 处理丢失的参数:
echo $_GET['link'] ?? 'Fallback value';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)