Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以要+;在我的文本框中签名?_Php_Html - Fatal编程技术网

Php 我可以要+;在我的文本框中签名?

Php 我可以要+;在我的文本框中签名?,php,html,Php,Html,有没有办法让我的文本框接受加号(+)。事实上,我有一个电话号码输入框,可以接受(+)符号,然后是号码。有办法吗。因为当我在php中使用$\u POST数组访问它时,它会删除符号并只给出数字。这是我从谷歌得到的: application/x-www-form-urlencoded:这是默认编码。发送前对所有字符进行编码(空格转换为“+”符号,特殊字符转换为ASCII十六进制值) 因此,如果将空格转换为“+”,那么真正的“+”符号将无法区分。对吗?是的,有加号作为值的编码。 自足的例子 <?p

有没有办法让我的文本框接受加号(+)。事实上,我有一个电话号码输入框,可以接受(+)符号,然后是号码。有办法吗。因为当我在php中使用
$\u POST
数组访问它时,它会删除符号并只给出数字。这是我从谷歌得到的:

application/x-www-form-urlencoded
:这是默认编码。发送前对所有字符进行编码(空格转换为“+”符号,特殊字符转换为ASCII十六进制值)


因此,如果将空格转换为“+”,那么真正的“+”符号将无法区分。对吗?

是的,有加号作为值的编码。
自足的例子

<?php if ( !isset($_GET['foo']) ) { ?>
<html>
    <head><title>...</title></head>
    <body>
        <form method="GET" action="?">
            <p>
                <input type="text" name="foo" value="+49301234567789" />
                <input type="submit" />
            </p>
        </form>
    </body>
</html>
<?php
}
else {
    if ( 0==strncmp('+', $_GET['foo'], 1) ) {
        echo 'leading plus sign';
    }
    else {
        echo 'no leading plus sign';
    }
}   

...


我使用了
rawurlencode($\u POST['mobile'])
来检索值,其中
'mobile'
是文本输入名称,它会返回带“+”符号的值。

您可以对
+
Simbol进行编码。我只是提交了一个包含文本框的表单,其中应该包含“+”符号和数字。没有为此编写脚本@Rhoppy您可以发布处理post数据的代码吗?我怀疑你正在把这个数字转换成int或者是一些东西,而不是字符串,这会去掉+。在急于提供URL编码的答案之前,请考虑PHP在发布表单时自动地关心所有的编码需求。OP肯定在做一些事情来显式破坏他的数据。OP正在使用POST,他声称
$\u POST
已经缺少信息。除非我们看到一些代码,否则这个问题是无法回答的。action=“POST”和$\u POST的工作原理相同。这里的示例说明php和公共webclient都不会阻止用户/脚本发送/处理加号。