在PHP中获取URL参数
我试图在PHP中传递一个URL作为URL参数,但是当我尝试获取这个参数时,我什么也得不到
我正在使用以下url表单:
http://localhost/dispatch.php?link=www.google.com
我试图通过:
$_GET['link'];
但没有回报。 问题是什么?
$_GET
不是一个函数或语言结构,它只是一个variables(一个数组)。 尝试:
<?php echo $_GET['link'];
更具体地说,它是一个超全局的 ,也就是一个由PHP填充的内置variables,并且可以在所有的作用域中使用(可以在没有全局关键字的情况下在函数内部使用它)。
由于该variables可能不存在,因此可以(也应该)确保您的代码不会触发通知:
<?php if (isset($_GET['link'])) { echo $_GET['link']; }else{ // Fallback behaviour goes here } ?>
或者,如果您想跳过手动索引检查并可能添加进一步的validation,则可以使用filter扩展:
<?php echo filter_input( INPUT_GET, 'link', FILTER_SANITIZE_URL ); ?>
请张贴您的代码,
<?php echo $_GET['link']; ?>
要么
<?php echo $_REQUEST['link']; ?>
做工作…
为了确保您始终保持安全,不要使用任何不需要的代码插入,请使用FILTERS:
echo filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);
更多阅读php.net函数filter_input ,或查看不同filter的描述
用这个。 我有dispatch.php执行此操作。
$parameter = $_SERVER['QUERY_STRING']; echo $parameter; or Just use echo $_GET['link'];
接受的答案是好的。 但是如果你有这样的情景:
http://www.mydomain.me/index.php?state=California.php#Berkeley
您可以将命名的锚点视为一个查询string,如下所示:
http://www.mydomain.me/index.php?state=California.php&city=Berkeley
然后,像这样访问它:
$Url = $_GET['state']."#".$_GET['city'];
我没有得到任何$_GET["..."]
(例如print_r($_GET)
给了一个空数组),但$_SERVER['REQUEST_URI']
显示的东西应该在那里。 最后事实certificate,我只是进入网页,因为我的.htaccessredirect到那里(我的404处理程序是相同的.php文件,并在testing时在浏览器中input错字)。
只需更改名称意味着相同的PHP代码工作,一旦404redirect不踢!
所以有方法 $_GET
可以返回任何东西,即使PHP代码可能是正确的。
$Query_String = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] ); var_dump($Query_String)
Array([0] => link = http://www.google.com);
无论谁收回什么,我想他只需要将结果附在html标签中,
喜欢这个:
<html> <head></head> <body> <?php echo $_GET['link']; ?> <body> </html>