Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mod Rewrite和search查询字符串_Php_Forms_Input_Request_Rewrite - Fatal编程技术网

Php Mod Rewrite和search查询字符串

Php Mod Rewrite和search查询字符串,php,forms,input,request,rewrite,Php,Forms,Input,Request,Rewrite,要搜索内容,用户需要使用以下URL: http://.../results/query/something http://.../results/query/something 我得到了文本输入,用户在其中键入要发布的字符串,但它看起来如下所示: http://.../results/query/?query=something 我试图更改“post方法”类型,但没有带来任何好结果。我怎么能这么做,所以看起来是这样的 函数go(){ var query=document.getEleme

要搜索内容,用户需要使用以下URL:

http://.../results/query/something
http://.../results/query/something
我得到了文本输入,用户在其中键入要发布的字符串,但它看起来如下所示:

http://.../results/query/?query=something
我试图更改“post方法”类型,但没有带来任何好结果。我怎么能这么做,所以看起来是这样的


函数go(){
var query=document.getElementById('query')。值;
document.getElementById('myform')。action='0http://yourdomain/results/query/“+查询;
}
简单答案:

  • 使用
    method=“post”

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

  • 重定向到所需的页面


你不能用PHP来做这件事(除非你想重定向),JS非常适合这个目的。嗯,很好,但是我怎么能用JS来做呢?发布了一个示例作为答案,OFC将“yourdomain”更改为你的域。
<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>
 $query = isset($_POST['query']) ? urlencode($_POST['query']) : '';
 header("Location: results/query/$query");