在PHP中将复杂URL作为参数传递

Fer*_*deh 10 php url

我正在尝试将复杂的URL作为url参数传递,但如果url包含&,例如我想将以下链接作为参数传递,则会出现问题

http://www.google.ps/search?hl=en&client=firefox-a&hs=42F&rls=org.mozilla%3Aen-US%3Aofficial&q=The+type+%27Microsoft.Practices.ObjectBuilder.Locator%27+is+defined+在该+ +是+ +未引用的+组件+.+你必须+ + +添加一个+参考+至+装配+水溶液= F&AQI =&AQL =&OQ =

我正在尝试从用户获取URL作为参数并将用户重定向到此URL.

我怎么能在PHP中处理这个?


整个故事:

我正在尝试对Flash文件进行一些广告分析,以便用户将Flash广告提交​​到包含指向所需网页的链接的网站.

现在,我的客户端需要知道这个flash文件被点击了多少次.为了解决这个问题,我将直到每个提交flash的人都写一个链接到我的客户端网页并将所需的URL作为参数传递如下

http://myclientwebpage.com/disp.php?link=www.google.com&id=16

通过这种方式,我可以更新我的数据库,并计算点击此链接的次数

bin*_*yLV 15

使用urlencode()rawurlencode().


你写了:

我正在尝试从用户获取URL作为参数并将用户重定向到此URL.

但你没有回答这个问题 - 你如何获得该URL?用户如何为您提供?是写的<input type='text'/>吗?或者用户是否点击了包含URL作为参数之一的链接?或者作为存储在DB中的某个URL的ID传递?

我想到了一个案例 - 在打开真实页面之前用纯文本替换URL并将用户发送到某些"重定向页面",因此最终页面看不到可能包含一些安全数据的HTTP引用者(例如,会话ID).在这种情况下,你会写

<a href='redirect.php?link=<?php echo rawurlencode($url); ?>'>
    <?php echo htmlspecialchars($url); ?>
</a>
Run Code Online (Sandbox Code Playgroud)

代替

<a href='redirect.php?link=<?php echo $url; ?>'>
    <?php echo htmlspecialchars($url); ?>
</a>
Run Code Online (Sandbox Code Playgroud)