search.php没有从表单中获取结果


search.php not grabbing results from form

我发现在wordpress中使用php-pdo分页返回数据库结果非常困难。我在另一个页面上有一个表单,它将搜索数据发送到search4.php,我想在那里显示匹配的行并具有上一个|下一个链接。我没有得到任何结果,如果我回复$search,它只会说"search"以下是迄今为止的相关代码:

//html form on another page
<form method="POST" action="<?www.example.com/search4 ?>">
Search:
<input type="text" name="search"
<input type="submit" name="search" value="search" /></form>

//search4.php relevant code
if(isset($_REQUEST["search"]) && $_REQUEST["search"] != "")
{
$search = htmlspecialchars($_REQUEST["search"]);
$pagination->param = "&search=$search";
echo $search;
$pagination->rowCount("SELECT * FROM stories WHERE stories.category LIKE
'%$search%' OR stories.genre = LIKE '%$search%'");
$pagination->config(3, 8);
$sql = "SELECT * FROM stories WHERE stories.category LIKE '%$search%' OR
stories.genre = LIKE '%$search%' ORDER BY SID ASC LIMIT $pagination-
>start_row, $pagination->max_rows";
$query = $connection->prepare($sql);
$query->execute();
$model = array();
while($rows = $query->fetch())
{
...etc

您的<input type=text><input type=submit>有相同的名称。。。所以按钮值覆盖了文本值。。。这就是为什么总是"搜索"。

将其更改为:

<input type="text" name="search_text"/>
<input type="submit" name="search_button" value="search" />

现在,在search4.php上,您可以使用$_REQUEST["search_text"] 访问搜索文本

PD:您也可以删除提交按钮上的name属性。