我试图在php中传递一个URL作为URL参数,但当我试图获得这个参数时,我什么都没有得到

我使用下面的url形式:

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

我正试着让它通过:

$_GET['link'];

但是没有回音。有什么问题吗?


当前回答

用这个:

$parameter = $_SERVER['QUERY_STRING'];
echo $parameter;

或者直接用:

$parameter = $_GET['link'];
echo $parameter ;

其他回答

我没有得到任何$_GET["…"](例如print_r($_GET)给出一个空数组)然而$_SERVER['REQUEST_URI']显示东西应该在那里。最后,我发现我只能访问网页,因为我的.htaccess重定向到那里(我的404处理程序是同一个.php文件,并且我在测试时在浏览器中犯了一个拼写错误)。

简单地更改名称意味着在404重定向不起作用时相同的php代码可以正常工作!

因此,即使php代码可能是正确的,$_GET也有可能不返回任何内容。

请张贴你的代码,

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

or

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

做的工作……

用这个:

$parameter = $_SERVER['QUERY_STRING'];
echo $parameter;

或者直接用:

$parameter = $_GET['link'];
echo $parameter ;

公认的答案是好的。但如果你有这样一个场景:

http://www.mydomain.me/index.php?state=California.php#Berkeley

你可以像这样把命名锚作为一个查询字符串:

http://www.mydomain.me/index.php?state=California.php&city=Berkeley

然后,像这样访问它:

$Url = $_GET['state']."#".$_GET['city'];
$Query_String  = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );
var_dump($Query_String)

数组 ( [0] => link=www.google.com )