我需要使用 GET 地址传递一个 url。举一个我试过的例子:
http://www.example.com/area/#http://www.example.com/area2/
我也尝试用其他字符替换正斜杠,但这似乎不起作用。您将如何在 GET 中传递 url?
据我了解,您应该使用url_encode()
and url_decode()
。
该函数url_encode()
允许您创建一个可用作链接的字符串。
你应该这样使用它:
$link = 'goto.php?link=' . url_encode($_POST['target_site']);
当您要重定向到用户定义的站点(例如)时,您可以通过以下方式解码参数:
$decoded_link = url_decode($_GET['link']);
// Now it's safe to use the given URL (for example I can redirect to there)
header('location: ' . $decoded_link);
希望能帮助到你。
该#
字符链接到页面上的锚点。浏览器会自动滚动到点号后带有 id 的元素。所以这不是你要找的。
要传递 GET 参数,语法如下:
http://example.com/area?http://example.com/area2
然后,如果你var_dump($_GET)
,你会看到你的 URL。但是,如果您还想在 URL 中传递其他字段,则可以使用 key=value 对,如下所示:
http://example.com/area?url=http://example.com/area2¶m1=a¶m2=b
在这种情况下,您的 URL 将在$_GET['url']
.