我有这个链接:
http://localhost/dow.php?url=/site.net/page.php?action=download&id=3424&authkey=234234324242342
和
$_GET["url"]
应该是
=/site.net/page.php?action=download&id=3424&authkey=234234324242342`
但是当我尝试
时print $_GET["url"];
它只打印/site.net/page.php?action=download
问题显然与& char,我试过htmlspecialchars($_GET["url"])
没有运气。
我该怎么做才能拥有整个字符串?
答案 0 :(得分:0)
不是因为其他两个参数不同。
你需要分别得到他们每个人。比如$_GET['id'], $_GET['authkey']
或者您可以使用foreach
构造。
foreach($_GET as $k=>$v)
{
$myparams[$k]=$v;
}
echo $myparams['authkey'];// "prints" 234234324242342
答案 1 :(得分:0)
我不知道你在哪里获得了目标网址,但是在将其打印到get之前尝试对其进行编码。
即JS中的encodeURIComponent
函数,PHP中的rawurlencode
,或者只使用此ref here来替换您想要的任何html字符。 rawurldecode
之后的$_GET['url']
。
答案 2 :(得分:0)
要获得完整的请求,您必须使用$_SERVER['QUERY_STRING'];
例如:
echo $_SERVER['QUERY_STRING'];