我已經設置了以下SQL數據:
- 數據庫類($ DB)
- 分頁類($分頁程序)
我正在嘗試編寫一個基本系統讓我管理頁面。我有一個頁面「page_manager.php」,其中包括我的數據庫類(database.php)和我的分頁類(paginate.php)。
在我的分頁類中,我有一個迴應我的SQL數據的函數。我想出了一種方法來回顯帶有必要ID的select>元素的HTML <,這使得我可以基於< select>元素的值成功回顯相應的結果(每頁10個)。因此,「1」將回顯數據庫中的前10個結果,「2」將從11-20回顯,「3」將回顯自21-30等,等等。
我添加了onChange事件到< select>元素將它的值(使用「this.value」)複製到一個隱藏的表單字段。然後我使用document.getElementById()。submit();來提交這個表單。
然後,這會將$ _GET變量添加到URL中,所以URL變爲「... /?pagenumber_form = X」。但是,當我嘗試從URL中獲取該值時,$ _GET ['pagenumber_form']爲空。
一些代碼:
<span style='font-family: tahoma; font-size: 10pt;'>Page #</span>
<select id="page_number_selection"
onchange='javascript: document.getElementById("pagenumber_form").value = this.value;
document.getElementById("pagenumber").submit();'>
<?php
for($i = 1; $i <= $this->num_pages; $i++)
echo"<option id='" . $i . "'>" . $i . "</option>";
?>
</select>
<form name="pagenumber" id="pagenumber" action="" method="get">
<input type="text" name="pagenumber_form" id="pagenumber_form" />
</form>
所以,我一直在使用$ _ POST和嘗試,但同樣的事情發生。我想使用$ _GET,原因有兩個:更容易看到我的值發生了什麼,我使用的數據不需要安全。
回顧一下:當我更改< select>元素時,將$ _GET變量添加到URL中,並將相應的值作爲「... /?pagenumber_form = X」添加到URL中,但是當我嘗試使用PHP中的值,例如...
$page_number = $_GET['pagenumber_form'];
...我得到一個NULL值。 :-(
任何人都可以幫我請謝謝
編輯:。
我剛剛作出了一個發現如果我提出我的print_r($ _ GET)我的主要指數頁面,則超全局正在返回預期我的網站結構是這樣的:
的index.php - JavaScript的按鈕使用AJAX的HTTP請求包括「responseText的」作爲我的主要< div的.innerHTML>的。 「responseText」是頁面本身的內容案例page_manager.php,其中包括pagination.php。
換句話說,我的網站是從PHP包含的,它似乎不與HTTP超級全球兼容。
任何想法如何解決這個問題?謝謝 :-)。
+ --------------------------------------------- --------------------- +
我不能回答我自己的職位,所以:
的問題不解決,但是一直四處走動。
當然我對PHP並不是很瞭解,但我覺得使用AJAX請求將PHP文件包含在文檔中本身包含其他PHP文件並不是一個好主意。我相信這個問題是由於PHP在文檔加載到瀏覽器之前執行而引起的。因此,在文檔中動態地包含PHP文件將導致所述文件的不正常工作,這是由於PHP必須在呈現頁面之前由服務器執行而不是在之後執行。
因此,我已經停止爲我的網站使用AJAX,而只是使用良好的舊PHP代替。我不知道如何繼續使用AJAX請求,所以這就解決了這個問題。
感謝那些回覆。
你試過var_dump($ _GET)嗎? – max 2012-03-24 22:30:49
我剛剛嘗試過var_dump,但仍然沒有任何結果。我也試過print_r($ _ GET); – George88 2012-03-24 22:44:24
請注意,除了會話固定(這裏沒有問題),發佈數據並不比使用GET更安全。重要的是GET請求必須是[冪等](http://stackoverflow.com/q/1077412/90527) - 它們必須是可重複的,結果相同。因此(以迂迴的方式),他們可以被添加書籤。如果您希望請求具有可重複性和可收藏性,請使用GET,否則使用POST。 – outis 2012-03-25 06:42:37