当前位置: 首页 > 面试题库 >

PHP中的GET URL参数

郑西岭
2023-03-14
问题内容

我正在尝试将URL作为php中的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
}

另外,如果您想跳过手动html" target="_blank">索引检查并可能添加其他验证,则可以使用过滤器扩展:

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

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

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


 类似资料:
  • 这是我的php代码 我得到了这个错误 致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[HY093]:参数编号无效:未在C:\xampp\htdocs\miradmin\views\add#news.php:24堆栈跟踪:#0 C:\xampp\htdocs\miradmin\views\add#news.php(24):PDO语句中定义参数- 就可以了。

  • 错误:函数中的错误(type,msg,asError=TRUE):Recv失败:对等点重置连接 附加基包:[1]stats4并行stats图形grDevices utils数据集方法基 RCurl版本:1.98-1.3

  • 问题内容: 我有以下代码: 我可以用来过滤这样的数组: 我如何在lower_than_10中添加参数,以便它也接受要检查的数字?喜欢,如果我有这个: 如何从array_filter调用它传递10到$ num或任何数字? 问题答案: 作为@Charles使用闭包的解决方案]的替代方法,您实际上可以在文档页面的注释中找到示例。 这个想法是您创建一个具有所需状态()和回调方法(作为参数)的对象: 用法(

  • 问题内容: 我正在为CodeIgniter开发我的REST客户端库,并且正在努力研究如何在PHP中发送PUT和DELETE参数。 在一些地方,我看到人们在使用这些选项: 令人讨厌的是,这似乎无济于事。这是设置PUT参数的正确方法吗? 如果是这样,如何设置DELETE参数? $ this- > option()是我的库的一部分,它只是建立一个CURLOPT_XX常量数组,并在执行建立的cURL请求时

  • 问题内容: 在PHP 4/5中是否可以在调用时指定一个命名的可选参数,从而跳过您不想指定的参数(例如在python中)? 就像是: 谢谢 问题答案: 不,这是不可能的:如果要传递第三个参数,则必须传递第二个参数。并且命名参数也不可能。 一种“解决方案”是只使用一个参数,一个数组并始终传递它……但不要总是在其中定义所有内容。 例如 : 并这样称呼: 将获得以下输出: 但是我真的不喜欢这个解决方案: