【问题标题】:PHP: simple form encoding/decodingPHP:简单的表单编码/解码
【发布时间】:2010-04-03 11:49:20
【问题描述】:

这个问题可能以前有人问过,不过,我会再问一次。

目前,我遇到了表单编码问题。发布我的表格时,所有空格都替换为“+”字符。我想用一个真实的空格替换这个“+”字符。

有人对此有 PHP 解决方案吗?

提前致谢。

干杯,伦纳特

【问题讨论】:

    标签: php forms encoding post


    【解决方案1】:

    无法复制

    <form>
    <input type=text name="a" value="text with spaces">
    <input type=submit>
    </form>
    <?php if (isset($_GET['a'])) echo $_GET['a'] ?>
    

    根本没有空格。我做错了什么?

    【讨论】:

      【解决方案2】:

      如果浏览器行为正确,则不应发生这种情况。我的假设是 javascript 正在弄乱您的数据。编码网址时用加号替换空格,也许这会有所帮助。

      您可以使用firebug 来检查是否有任何 js 干扰。

      【讨论】:

        【解决方案3】:

        我正在使用 AJAX(x = 在本例中为 JSON)来处理表单帖子等

        那我们看代码吧。

        您可能正在尝试手动对您的数据进行格式编码,然后另一个组件也对其进行格式编码。用+ 替换空格是非常标准的,并且对于表单编码来说是预期的,但是如果你不小心做了两次,那么你将在它的末尾留下一个编码的+

        如果您使用 JavaScript escape 函数:不要。 (当您需要对表单值进行 URL 编码以包含在参数中时,正确的方法是 encodeURIComponentescape 是它自己的果味非标准编码,您几乎不需要使用它。)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-06
          • 1970-01-01
          • 1970-01-01
          • 2018-10-04
          相关资源
          最近更新 更多