无法将+符号传递给php页面进行处理

时间:2012-08-09 06:53:45

标签: php html get url-parameters

我有一个下拉列表,

<select name="pid" onchange="getReport(this.value)">
<option>Select a PID:</option>
<option value="SFP-GE-S">SFP-GE-S</option>
<option value="SFP-OC12-MM">SFP-OC12-MM</option>
<option value="SFP-OC3-MM">SFP-OC3-MM</option>
<option value="XENPAK-10GB-LR+">XENPAK-10GB-LR+</option>
<option value="XENPAK-10GB-SR">XENPAK-10GB-SR</option>
</select>

通过GET调用将所选值传递给我的send.php,即调用send.php?pid = value。但是我选择“XENPAK-10GB-LR +”选项只能传递“XENPAK-10GB-LR”并且+符号不存在,因为我的数据库查询出错了。有人可以帮助解决这个问题...

4 个答案:

答案 0 :(得分:4)

URL中的

+是表示空格的特殊字符。在将其连接到URL之前,您需要URL encode该值。

答案 1 :(得分:3)

将javascript中的参数use escape函数传递给url encode。

答案 2 :(得分:2)

您的参数需要进行urlencoded,+是网址中的空格符号。

答案 3 :(得分:1)

使用以下代码对网址进行编码

var myURL = encodeURIComponent(yourURL);