我在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;
答案 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
快乐编码!