0

我正在处理一个激活链接。它看起来像这样。

localhost/actvte/validate.php?type=activate&geo=define&
value=227755RYQBENU5G8WE7RFPO6CD6Z#MJ1H1FA@G#IZWZ53903
&target=loaded&resrc=G6MYMI2R67727229911380184297841084713071U8VUYIGR
&master=user@gmail.com

但是当我使用 $_get['value'] 时,我只得到 o/p “227755RYQBENU5G8WE7RFPO6CD6Z”。在整个链接变得无用之后。如果我这样做

  echo $_get['target']; or echo $_get['master'];

它说undefined variable' target'或' master'。

那么我该如何处理这个大链接。

4

4 回答 4

4

您应该做的是urlencode()在将字符串放入 GET 之前对字符串使用 PHP 中的函数。这样你的字符串就变成了227755RYQBENU5G8WE7RFPO6CD6Z%23MJ1H1FA%40G%23IZWZ53903,而不是227755RYQBENU5G8WE7RFPO6CD6Z#MJ1H1FA@G#IZWZ53903特殊字符不能在查询字符串中使用。

例如,浏览器甚至永远不会将哈希发送到服务器,因此后面的所有内容都不会到达您的手中。

有关 URI 语法(包括哈希)的更多信息,请查看RFC 3986 。

于 2013-09-26T08:59:39.883 回答
2

通过不使用或正确编码片段标识符 (#)。

于 2013-09-26T08:58:44.830 回答
1

您不应该在 URL 中使用 # 而是以某种方式对其进行编码,或者使用其他字符。

于 2013-09-26T08:59:02.480 回答
1

URL 中的第#一个表示片段标识符的开始。如果要将其作为数据而不是 URL 的分隔符组件发送,则需要将其表示为%23.

于 2013-09-26T09:00:11.547 回答