Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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 多个搜索输入输出为wordpress中的一个搜索_Php_Wordpress_Forms_Search - Fatal编程技术网

Php 多个搜索输入输出为wordpress中的一个搜索

Php 多个搜索输入输出为wordpress中的一个搜索,php,wordpress,forms,search,Php,Wordpress,Forms,Search,我正在尝试创建一个搜索框,它有4个输入,但输出为一个搜索。这是我目前的代码: <form method="get" id="searchform" action="http://sitename.com/"> <input type="text" name="s" /> <input type="text" name="a" /> <input type="text" name="b" /> <input type="text"

我正在尝试创建一个搜索框,它有4个输入,但输出为一个搜索。这是我目前的代码:

 <form method="get" id="searchform" action="http://sitename.com/">
 <input type="text"  name="s" />
 <input type="text" name="a" />
 <input type="text"  name="b" />
 <input type="text"  name="c" />
 <div class="clear_space"></div>
 <input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" />
 </form>

但wordpress中的输出是这样的:/?s=牛奶&a=鸡蛋&b=奶酪&c=大蒜&submit=搜索

但是我需要它这样输出:/?s=牛奶+鸡蛋+奶酪+大蒜&提交=搜索

因此,不知何故,这些额外的输入需要将它们的文本添加到第一个?s=中,只需一个+。。。非常感谢您的帮助。

您在开玩笑吗


您正在寻找的
+
只是一个空格。有一个文本字段,当表单提交时,单词之间的空格将转换为
+

哇,你有很多问题,但是在深入讨论之前,让我告诉你,你的“输出”实际上是一个get参数,或者一个URL。现在,您应该
永远不要将同一id用于不同的标记(!!!)。如果你想了一个合理的理由,那么再想想

更改您的表格如下:

<form method="get" id="searchform" action="http://sitename.com/">
 <input type="text" class="field" placeholder="Search"   />
 <input type="text" class="field" placeholder="Search"  />
 <input type="text" class="field" placeholder="Search"  />
 <input type="text" class="field" placeholder="Search"  />
 <input type="hidden" name="s" id="s" />
 <div class="clear_space"></div>
 <input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" />
 </form>

我需要4个输入,因为我正在构建一个工具,人们可以在其中搜索4个单独的项目。但他们需要返回一个搜索结果。因此,您使用
explode
将结果拆分为一个数组或其他内容,然后编程逻辑,用数组中的任何一个单词查找结果。对不起,这是一个愚蠢的疏忽。我只是复制输入来创建表单中的4,看看发生了什么。我会试着把注意力集中在表单提交事件上,如果我还有其他问题,就回到这里。我猜.js将收集4个输入并创建get查询。js将确保您的隐藏输入包含要搜索的值(用空格分隔),并且在您的隐藏输入包含正确的值后,才应提交表单。我可以不使用php来执行此操作吗?有点担心,因为它说表单提交事件在IEF中不起作用“它”是什么,它在哪里说?当您在浏览器中使用该站点时,PHP将在服务器上执行。您必须在用户单击“提交”按钮之后和有效提交表单之前处理表单提交。所以你不能在服务器端做这件事,你不能在PHP中做这件事。好吧……我知道我现在需要.js来处理这个事件。还是有点摸不着头脑。我认为在提交表单时,提交事件会将4个输入的值合并为一个隐藏输入的值,这将是作为GET参数提交的值,对吗?在哪里可以学到更多关于实现这一点的知识?
//...
var value = "";
$(".field").each(function(){
    value += ((value !== "") ? (" ") : ("")) + $(this).val();
});
$("#s").val(value);
//...