Mod重写和搜索查询字符串

时间:2011-09-10 23:27:00

标签: php forms input request rewrite

要搜索某些内容,用户需要使用以下网址:

http://.../results/query/something

我收到了我的文本输入,其中用户键入要发布的字符串,但它看起来如下:

http://.../results/query/?query=something

我尝试更改'post method'类型,但没有带来任何好结果。我怎么能这样做,所以它看起来像那样?

http://.../results/query/something

2 个答案:

答案 0 :(得分:0)

<form id="myform" method="post" action="/">
<input type="text" id="query" name="query" />
<input type="submit" name="submit" onclick="return go();" />
</form>

<script type="text/javascript">
function go(){
    var query = document.getElementById('query').value;
    document.getElementById('myform').action = 'http://yourdomain/results/query/'+query;
}
</script>

答案 1 :(得分:0)

简单回答:

  • 使用method="post"

  • 在发布表单后使用urlencode()以及对值进行任何其他适当的清理,使用PHP构建URL。

  • 重定向到您想要的页面。

 $query = isset($_POST['query']) ? urlencode($_POST['query']) : '';
 header("Location: results/query/$query");