如何重定向到我在表单中提交的页面(分页)

时间:2013-07-31 11:39:21

标签: php forms url redirect pagination

您好我有这样的表格:

<form method="get">
    <input type="number" name="page=home&paginH">
    <input type="submit">
</form>

我的代码中有一个分页...所以我想在我的网站中添加一个字段,如上面的表格,当用户在字段中写一个数字并提交它时,必须将他重定向到该页面用户写道。我的问题是这样的......我在网址中得到的结果是http://example.com/index.php?page%3Dhome%26paginH=2最后的数字“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>';




?>

4 个答案:

答案 0 :(得分:1)

取一个名为“page”的隐藏字段并将值命名为“home”,然后将输入字段命名为“paginH”并让用户输入数字并提交,当他表单时将提交给“表格的动作” “有必要的参数。

答案 1 :(得分:1)

根据代码和分析后的代码。我建议您通过以下方式更改您的表单代码:

<form method="get">
    <input type="hidden" name="page" value="home">
    <input type="number" name="paginH" value="">
    <input type="submit">
</form>

这对你肯定有用。

答案 2 :(得分:0)

简单示例,您需要清理输入。另外,你的属性有问题,你应该在name属性中有你的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']);

答案 3 :(得分:0)

像这样给你的表格。

<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>

发布您将获得的价值

Array
(
    [page] => home
    [paginH] => 2
    [publication] => Submit
)