2013-07-21 49 views
0

我需要做的是使用PHP分頁併發布點擊hrefPHP_SELF並根據它重新設計頁面。在POST中定製自定義分頁

下面是一些示例代碼:

for ($i = 1; $i <= $pagecount; $i++) { 

    if ($i == 1) 
     echo "<ul>"; 

    echo "<li>"; 
    echo "<input type=\"hidden\" name=\"p\" value=\"". $i ."\">"; 
    echo "<a href=\"\" onclick=\"document.forms['page'].submit(); return false;\">"; 
    echo "<span>". $i ."</span></a></li>"; 
    if ($i == $pagecount) 
    echo "</ul>"; 

} 

我列出這個頁面和我要的是隻發送點擊的頁面數PHP_SELF但它只發送p=2 2頁(例如$_POST["p"] = 2 ),因爲最後一個變量隱藏p是2.我怎樣才能解決這個問題,而不需要改變href部分?我的目標是發送變量,並且不希望它在URL中看到。感謝任何提前:)

+0

onclick將不得不提取相關頁碼並將其插入隱藏字段之前您.submit()它。爲什麼你使用POST進行分頁呢?通常情況下,您可以使用GET請求單擊結果,這意味着您可以將頁碼作爲查詢參數MUCh更容易地嵌入。 –

+0

我的目標是發送變量並且不希望在URL中看到它。感謝您的回覆,我知道GET更容易,唯一需要做的就是設置href =「?p =」。$ i但我特別想用POST – erdem84

回答

0

我通過使這樣的代碼解決了這個問題:

for ($i = 1; $i <= $pagecount; $i++) { 

    if ($i == 1) 
     echo "<ul>"; 

    echo "<li>"; 
    echo "<input type=\"hidden\" id=\"p\" name=\"p\">"; 
?> 
<a href="" onclick="document.getElementById('p').value=<?php echo $i ?>; document.forms['page'].submit(); return false;"> 
<?php 
    echo "<span>". $i ."</span></a></li>"; 
    if ($i == $pagecount) 
    echo "</ul>"; 

} 

的a href代碼不會下的PHP代碼工作。不知道確切的原因,但它必須是與getElementById選項有關的東西。