Php 如何重定向到我在表单中提交的页面(分页)
你好,我有这个表格:Php 如何重定向到我在表单中提交的页面(分页),php,forms,url,redirect,pagination,Php,Forms,Url,Redirect,Pagination,你好,我有这个表格: <form method="get"> <input type="number" name="page=home&paginH"> <input type="submit"> </form> 我的代码中有一个分页…所以我想在我的站点中放置一个字段,就像上面的表单一样,当用户在字段中写入一个数字并提交它时,必须将其重定向到用户编写的页面。我的问题是这样的。。。我在URL中得到的结果是数字“2”,最后
<form method="get">
<input type="number" name="page=home&paginH">
<input type="submit">
</form>
我的代码中有一个分页…所以我想在我的站点中放置一个字段,就像上面的表单一样,当用户在字段中写入一个数字并提交它时,必须将其重定向到用户编写的页面。我的问题是这样的。。。我在URL中得到的结果是数字“2”,最后是用户提交的数字。问题是URL发生了变化,但页面仍保持不变。我找了很多,但找不到解决办法。提前谢谢
是的,对不起
这是我的php:
<?php
$per_page = 1;
//Ayto einai to apotelesma p 8a vgalei sto index(arxiko h home) ola ta post mazi.
$pages_query = mysql_query("SELECT COUNT(`ID`) FROM `posts`") or die(mysql_error());
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
//$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
if (isset($_GET['paginH'])) {
$page = (int)$_GET['paginH'];
} else {
$page = 1;
}
$start = ($page - 1) * $per_page;
$query = mysql_query("SELECT * FROM `posts` ORDER BY `Date` DESC LIMIT $start, $per_page") or die(mysql_error());
if(mysql_num_rows($query) == 0) {
echo "<tr><td colspan=\"3\">No Posts Were Found</td></tr>";
} else {
while($post = mysql_fetch_array($query)) {
$article_id=$post["ID"];
$link = "admin_login_bg/includes/article_result_readmore_img.php";
$var = "article_id";
$id = $post['ID'];
$date = $post['Date'];
$image = $post['Image_home'];
echo "<div class='perigrama'><div class='titlos'><h2><a href='admin_login_bg/includes/article_result_readmore_img.php?article_id=" . $article_id . "'><span>" . $post['Title'] . "</span></a></h2></div><div class='infos'><p>Posted by <a href='#'><span>" . $post['Author'] . "</span></a> on ". $date . " | <a href='admin_login_bg/includes/article_result_readmore_img.php?article_id=" . $article_id . "'><span>Full article</span></a></p></div><tr><td><div class='image'><img src='". $image ."' width='540' height='300'></div></td></tr><div class='content'><p>" . truncate($post['Content'],$link,$var,$id) . "</p></div><div class='more'><p><a href='admin_login_bg/includes/article_result_readmore_img.php?article_id=" . $article_id . "'><span>Read more</span></a></p></div></div>";
}
}
echo '<div class="pagination"><ul><li>';
//$first = 1;
//if ($pages >= 1) {
// echo '<a href="?page=home&paginH='.$first.'">First</a> ';
//}
$prev = ($page - 1);
if ($page > 1) {
echo '<a class="prevnext paginH" href="?page=home&paginH='.$prev.'"><span class="velakiaPrevNext"><<</span> Previous</a> ';
}
$first = 1;
if ($page > 3) {
if ($pages >= 1) {
echo '<a href="?page=home&paginH='.$first.'">1</a> ';
}
}
if ($page > 3) {
echo ' <span>...</span> ';
}
if ($pages >= 1 && $page <= $pages) {
//for ($x=1; $x<=$pages; $x++) {
//for ($x = $page + 0; $x <= min($page + 3, $pages); $x++) {
for($x = max(1, $page - 2); $x <= min($page + 2, $pages); $x++) {
//for ($x = $page + 0; $x <= max($page + 3, $pages); $x++) {
echo ($x == $page) ? '<strong><a class="currentpage" href="?page=home&paginH='.$x.'">'.$x.'</a></strong> ' : '<a href="?page=home&paginH='.$x.'">'.$x.'</a> ';
//}
}
}
$p = ($pages - 3);
if ($page <= $p) {
echo ' <span>...</span> ';
}
$last = $pages;
if ($page <= $p) {
if ($pages >= 1) {
echo '<a href="?page=home&paginH='.$last.'">'.$pages.'</a> ';
}
}
$next = ($page + 1);
if ($page < $pages) {
echo '<a class="prevnext" href="?page=home&paginH='.$next.'">Next <span class="velakiaPrevNext">>></span></a> ';
}
//if ($pages >= 1) {
// echo '<a href="?page=home&paginH='.$last.'">Last</a> ';
//}
echo '</li></ul></div>';
?>
获取一个名为“page”且值为“home”的隐藏字段,然后将您的输入字段命名为“paginH”,让用户输入数字并提交,当用户输入数字时,表单将提交给带有所需参数的“action of form”。简单的示例是,您需要清理输入。另外,您的属性有误,您的url在名称属性中,而它应该在值属性中,尽管您的url看起来也有误
HTML
<form method="get">
<input type="number" name="url" value="?page=home&paginH">
<input type="submit">
</form>
Php
<?php
header('location: '.$_GET['url']);
像这样填写表单
<form name="form_submit" method="post" action="">
<table>
<tr>
<input type="hidden" name="page" value="home" />
<td><input type="number" value="" name="paginH"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit" name="publication" /></td>
</tr>
</table>
</form>
根据规范并经过规范分析。我建议您通过以下方式更改您的表格代码:
<form method="get">
<input type="hidden" name="page" value="home">
<input type="number" name="paginH" value="">
<input type="submit">
</form>
这对您肯定会有用。也许您可以与我们共享一些处理$\u GET
请求的PHP代码。您正在使用名称
作为值
属性,您需要给输入一个名称
,并将其值设置为页面URL。您可以显示php代码和查询吗?请查看我的答案,并告诉我它是否工作。
<form method="get">
<input type="hidden" name="page" value="home">
<input type="number" name="paginH" value="">
<input type="submit">
</form>