用$ _POST传递字符串

时间:2018-08-02 19:51:36

标签: php

我在php中创建了一个搜索功能。我使用输入字段,并将变量传递给搜索功能。但是,当搜索输入字符串包含多个单词(例如, “纽约”。在这种情况下,仅通过New,因此找不到结果。我现在需要将一个字符串括在“”中,但是我做错了。你能支持我吗?

那是输入的输入文件。

td><input type="text" name="address" placeholder="' . $city .'" value=""/></td>

然后将这个变量传递给以下代码:

$address = $_POST['address'];
$distance = $_POST['distance'];
$url = "https://example.com/get_search_product/?address=" . $address . "&distance=" . $distance;

2 个答案:

答案 0 :(得分:1)

提供您的$ address实际上是“纽约”

$address = urlencode($address)

纽约有一个空格,如果您想以这种方式构造一个url,则需要将其转换为New + York

答案 1 :(得分:0)

您要创建url字符串。它们之间不应有空间。否则,参数值将被空格分隔。因此,结果,您只会得到第一个单词。

解决方案:用'+'或'%20'替换空格。或者在完整的urlencode($address)上使用$url,以所有特殊字符替换为其URL编码字符。

$address = $_POST['address'];
$distance = $_POST['distance'];
$url = "https://example.com/get_search_product/?address=" . $address . "&distance=" . $distance;
$url = urlencode($url); //add this

引用:
https://www.w3schools.com/tags/ref_urlencode.asp
http://php.net/manual/en/function.urlencode.php

快乐编码!