我在使用POST在PHP頁面間傳遞值的問題。我在頁面底部使用隱藏字段來說明頁面上有多少項(學生行)。我也有一個過濾器選項,可以減少頁面上顯示的項目數量。當我從過濾的頁面提交數據時,所有的值(包括隱藏的值)都不用擔心。當我提交未過濾頁面的數據時,隱藏的值無法通過(因此我的數據收集不會發生)。問題transfering PHP頁面之間的數據與POST
的硬道理是,這並不在我的基於Apache的測試環境中發生的,當我移動這基於IIS的生產環境時纔會發生。
這裏是初始頁面的屏幕截圖(隱私原因實際數據已被除去),其示出了輸入。有30個輸入中的每個(360個)的12行:
這裏是與我需要的隱藏字段的HTML代碼:
<input type="hidden" value="12" name="numStudents">
<input type="hidden" value="10" name="numTasks">
<input type="hidden" value="3" name="numCriteria">
<input class="btn btn-primary btn-large" type="submit" value="Save" name="submit">
這裏是接收值的PHP代碼:
//Get the general information from the form
$numStudents = $common->clean($_POST["numStudents"], $CON);
$numTasks = $common->clean($_POST["numTasks"], $CON);
$numCriteria = $common->clean($_POST["numCriteria"], $CON);
//Loop to get grades for all students
$output = "";
$flagChange = FALSE;
$count = 0;
for($i = 0; $i < $numStudents; $i++)
當我直接回顯$ numStudents或$ _POST [「numStudents」]的值時,不會顯示任何內容。
真正令人困惑的事情是 - 當我有1名或2個學生名單,未過濾的數據來自通過沒有問題(回波顯示正確的值)。如前所述,如果我過濾數據以便每個學生只顯示6列輸入,則數據即可順利通過。
確實有IIS中允許POST變量值的最大值是多少?如果是這樣,這可以改變嗎?我檢查了我的PHP.ini文件,帖子的最大大小設置爲8M(這個數據甚至不應該接近)。
難道還有其他設置的地方我需要改變嗎?
我的maxAllowedContentLength被設置爲30,000,000字節,應該是綽綽有餘。我曾嘗試將其更改爲6000萬以防萬一,但這並未解決我的問題。你的回答確實幫了我很大的忙,因爲它讓我能夠更有效地搜索查詢。謝謝。 – Tristan 2014-12-04 00:57:27