我可以通过php中的get方法发送任何字符吗?

时间:2010-11-17 10:26:38

标签: php get

我正在为我的网站构建一个小搜索脚本。我需要通过get方法发送数据,因为通过POST它会变得非常混乱,因为我必须显示许多搜索结果页面。

所以,我的问题是我可以直接使用get方法吗?是指我需要编码网址还是其他任何东西? 我在现代浏览器中检查过它。它工作得很好..

由于

编辑: 将变量放入url时使用Urlencode。

我使用method ='get'提交我的搜索表单然后我获得变量并执行搜索查询并使用可变数据创建新的页面链接。 - 长度,尺寸不是概率。 你们建议我应该使用urlencode func。只做新链接???

3 个答案:

答案 0 :(得分:4)

您可以而且应该对可能包含空格和其他不符合URL的字符的数据使用urlencode()。

http://php.net/manual/en/function.urlencode.php

答案 1 :(得分:2)

您需要对URL上的参数进行编码,例如http://www.example.com/MyScript.php?MyVariable=%3FSome%20thing%3F

请注意,通过GET可以发送多少数据是有限制的 - 对旧浏览器的限制更多。如果我没记错的话,IE6在URL中限制为1024个字符,所以如果你认为你要考虑使用它,可以考虑使用POST,或者你可以排除一些用户。

答案 2 :(得分:2)

您应该在发送变量之前使用urlencode($variable)Link)(即使浏览器通常会处理此问题),并在收到变量后使用urldecode ($variable)Link),通过这种方式,您可以确保正确处理特殊字符。