答案 0 :(得分:1)
...显示第一个结果后,下一个结果或页面会给我一个错误,表明没有输入有效输入
那是因为当你点击第2页,第3页......页面(从第1页导航后)时,$_POST
数组将为空,即$_POST['search']
赢了'设定。由于您未使用表单发送任何敏感数据,请在表单的GET
属性中使用POST
代替method
,如下所示:
<form action="..." method="get">
并获取用户输入的数据:
if (!empty($_GET['search'])) {
$search = $_GET['search'];
...
随后,您需要在每个分页链接中附加该搜索查询,以便在您从一个页面跳到另一个页面时搜索查询可用。
// your code
for($i=1; $i<=$page_count; $i++){
if($i==$page){
$per_page_htm .= "<a href='".$self."?r=".$i."&search=".urlencode($search)."' class='btn-page current'>".$i."</a>";
}else{
$per_page_htm .= "<a href='".$self."?r=".$i."&search=".urlencode($search)."' class='btn-page'>".$i."</a>";
}
}
// your code
旁注:了解prepared statement,因为您的查询现在容易受到SQL注入攻击。另请参阅how you can prevent SQL injection in PHP。