PHP在使用分页脚本时获取post数据



我有一个名为mainPage.php的页面,其中包含一个分页脚本,该脚本显示页面列表。

 [1][2][3][4][5] 

分页工作正常,但当我转到下一页的帖子数据消失。

for($i=1;$i<=$totalPage;$i++)
{
if($page==$i)
{
echo ' <input  type="button" value="'.$i.'"> ';
}
else
{
echo '<a href="mainPage.php='.$i.'"> <input type="button" value="'.$i.'"> </a>';
}}

是否有办法在点击这个链接后得到下一个页面的数据:

 <a href="mainPage.php='.$i.'"> 

不,不可能。当表单(带method=post)提交到服务器时,这是一个 POST请求。如果您想发出另一个POST请求,则需要发出另一个POST请求。如果你点击一个链接,那不是POST请求。

我假设您的场景类似于搜索表单,它通过POST提交并返回几个页面的结果。在这种情况下,POST被滥用了。HTTP POST请求应该用于更改服务器上的数据,例如注册新用户或删除记录。只是一个搜索表单不是数据更改,它只是数据检索。因此,您的表单应该是method=get。这将产生一个URL,其中表单值作为查询参数:

mainPage.php?search=foobar

然后您可以从中轻松创建分页url:

printf('<a href="mainPage.php?%s">...', http_build_query(array('page' => $i) + $ _GET));

这将导致:

mainPage.php?search=foobar&page=2

尝试<a href="mainPage.php?page='.$i.'">并获得页面编号。使用$_GET['page'];

您可以使用GET方法而不是post来完成您的工作。如果你想让它在post request中,你需要为每个单独做

最新更新