回答
沒有什麼能夠阻止你保存表格中的分頁信息。比如你是在:
http://mysite/list.php?page=3&maxperpage=50
頁面上的鏈接可以在用戶的頁面和maxperpage重定向到
http://mysite/edit.php?id=8475&page=3&maxperpage=50
保存爲隱藏控件到窗體每次形式展現時間(重裝他們在回傳失誤的情況下)
<input type="hidden" name="page" value="<?php echo $_REQUEST['page']; ?>" />
<input type="hidden" name="maxperpage" value="<?php echo $_REQUEST['maxperpage']; ?>" />
然後回發完成後,使用_POST隱藏字段來重定向到前一頁:
header('location: http://mysite/list.php?page='.$_POST['page'].'&maxperpage='.$_POST['maxperpage']);
很顯然,我已經在那裏如驗證跳過了很多東西,所以不要忘了把一些...
我的表單有十幾個參數,所以我應該爲每個參數保留一個隱藏的控件或簡單地切換到? – Paul 2012-01-09 17:38:25
當你傳遞這些分頁/過濾器/搜索參數時,你會繼續使用GET,但是當你得到一個表單(比如編輯表單)時,你會將這些參數推送到隱藏字段中。然後,當你完成這些隱藏的領域(例如保存後),你將這些隱藏的領域推回到網址並重定向用戶...... – 2012-01-09 19:10:23
它取決於很多事情,主要是你通過表單傳遞什麼內容。
一般情況下,如果你在表單中有一個textarea,通過GET發送它是一個壞主意,因爲你更有可能達到URL的最大字符限制。 顯然,如果你傳遞一個文件,那麼它需要POST。 哦,顯然如果它是敏感數據(例如用戶名/密碼),那麼使用GET並不是一個好主意。
除此之外,我認爲只要在任何地方使用數據前「清潔」數據,就不會使用GET代替。
如果使用GET不是一個選項,那麼您可以改爲使用POST,但將所有內容保存在COOKIE或SESSION變量中,以便您在提交後使用分頁/麪包屑時可以在上一頁中檢索形成。
擴大一點對亞歷克斯tandu的評論:
當你發送數據將改變服務器上的狀態,您應該使用POST。您在請求數據時或在執行其他一些會使服務器狀態保持不變的操作時應該使用GET。
所以,是的,你是正確的使用POST來提交你的表格,GET不建議在這種情況下。
然後在帖子將用戶重定向到他們的上一頁之後,也許在短暫的延遲之後查看感謝信息。
- 1. 發佈重定向獲取隱藏URL參數
- 2. 從WEBVIEW中發佈的URL獲取參數android
- 3. 如何獲取URL參數發生後
- 4. 如何使用嵌入式Javascript(EJS)獲取獲取/發佈URL參數?
- 5. 正確獲取CURL發佈參數(PHP)
- 6. liftweb - 訪問獲取/發佈參數
- 7. 從extjs網格獲取發佈參數
- 8. 如何獲取表單/發佈參數?
- 9. 從URL參數獲取值
- 10. 獲取URL參數的值
- 11. 用jquery獲取url參數
- 12. 獲取多個url參數
- 13. 使用'#'獲取URL參數
- 14. rails從URL獲取參數
- 15. 獲取URL參數在Flash
- 16. C#Asp.NET獲取URL參數
- 17. 獲取URL參數與RegExp
- 18. Symfony3從URL獲取參數
- 19. 獲取URL參數在PHP
- 20. 獲取Zend Framework URL參數
- 21. 從URL獲取參數Android
- 22. 從url獲取參數
- 23. Codeigniter從url獲取參數
- 24. 從Hashtag Url獲取參數
- 25. Python Tornado獲取URL參數
- 26. 主幹獲取URL參數
- 27. 獲取URL參數Angular.js
- 28. 如何獲取URL參數?
- 29. 使用url發佈5個參數以從API中獲取數據
- 30. 獲取SWF布爾參數
你可以提交表單POST中並重定向到一個網頁(使用['header'](http://uk3.php.net/manual/en/function.header.php))和GET參數,這將允許書籤。 – Alex 2012-01-09 17:02:24
當然。你可以也應該使用'GET'來檢索。 – 2012-01-09 17:02:31
什麼樣的形式?只是一個搜索表單或用戶的詳細信息等? – Treffynnon 2012-01-09 17:06:31