我试图将复杂的URL作为URL参数传递,但如果URL中包含&,则会出现问题,例如我想将以下链接作为参数传递
我正在尝试从用户获取URL作为参数,并将用户重定向到这个URL。
我应该如何在PHP中处理此问题?
整个故事:
我正在尝试对Flash文件进行一些广告分析,因此用户提交Flash广告到一个包含所需网页链接的网站上。
现在,我的客户需要知道单击此Flash文件的次数。为解决这个问题,我将要求每个提交Flash的用户编写一个链接到我的客户网页,并将所需的URL作为参数传递,如下所示:
http://myclientwebpage.com/disp.php?link=www.google.com&id=16
通过这种方式,我可以更新我的数据库并获得该链接被点击的次数计数。
echo "href='http://myclientwebpage.com/disp.php?link=" . $link . "'"
, 而应该写成echo "href='http://myclientwebpage.com/disp.php?link=" . rawurlencode($link) . "'"
。然后,在disp.php
代码中,你会得到$_GET['link']
,它将包含"www.google.com&id=16"(而不仅仅是"www.google.com")。 - binaryLV&
,在原始URI中应该写成%26
。所有其他字符都可以按原样引入。 - Brethlosze