You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

传递含&的字符串时$_GET取值不全的问题解决方案咨询

问题原因与解决方案

问题根源

URL中的&是GET参数的分隔符,当直接传递未编码的Baltus & Adang时,浏览器会将&后面的Adang识别为新的独立参数,导致第三页仅能获取到&之前的Baltus。

解决步骤

  • 生成URL时对参数进行URL编码
    在PHP中,使用urlencode()或rawurlencode()函数处理$NameString的值,再拼接进URL:

    // 对包含特殊字符的参数进行编码
    $encodedName = urlencode($NameString);
    // 拼接成正确的URL
    $thirdPageUrl = "your-third-module.php?NameString=" . $encodedName;
    

    编码后Baltus & Adang会转换为Baltus+%26+Adang,浏览器会将其识别为单个完整参数。

  • 接收端无需额外解码
    PHP的$_GET全局变量会自动对URL编码的参数进行解码,直接使用$_GET["NameString"]就能获取完整的原始字符串。

  • 检查中间传递环节
    确认从第二页跳转至第三页时,链接是基于编码后的参数生成的,而非直接拼接未编码的原始字符串。比如第二页中生成返回链接时,要重新对$_GET["NameString"]进行编码后再拼接。

内容的提问来源于stack exchange,提问作者Fred Baltus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:40:20