一旦通過POST提交了一些數據,是否有可能通過不同的頁面使它們成爲$ _POST,就像$ _SESSION允許我們做的一樣?
回答
今天挖一個老問題。但我忘了後我挖了有效的解決方案....
將這個片段在你的每一頁
if(isset($_POST) & count($_POST)) { $_SESSION['post'] = $_POST; }
if(isset($_SESSION['post']) && count($_SESSION['post'])) { $_POST = $_SESSION['post']; }
您需要解析$ _POST中的數據並在表單中重新創建它。你可以用隱藏的字段來做到這一點。
或者,您可以將$ _POST數據保存在用戶會話中,並在需要時將其引用。您必須管理數據的生命週期,以確保它不會停留太久。
我使用的鏈路上發送的查詢字符串的頂部,所以我不使用形式發佈那些 – Starx 2010-08-11 13:49:04
然後你必須將$ _POST解析爲參數並將它們添加到你的鏈接中。它們將在$ _GET和$ _REQUEST中可用於您的腳本。 – 2010-08-11 13:54:19
治療方法甚至比疾病還要嚴重。如果存在大量文本或密碼等敏感信息會怎麼樣? – 2010-08-11 14:52:40
問題是您要通過存儲在$ _GET變量中的URL發送數據,而不是$ _POST。如果您希望以任一格式提交數據,請改用$ _REQUEST。
關於是否使用$ _REQUEST是一個好主意,有一點爭議,但如果你正在做一個簡單的網站,那就沒什麼問題了。
如果你寧願不使用$ _REQUEST,那麼你可以使用每個變量下面的代碼你期望:
if (!empty($_GET['foo'])) {
$foo = $_GET['foo'];
} elseif (!empty($_POST['foo'])) {
$foo = $_POST['foo'];
} else {
die("Foo not submitted");
}
- 1. $ _SESSION變量不保存
- 2. 如何將我的$ _POST變量永久保存在$ _SESSION中?
- 3. 瞭解$ _POST和$ _SESSION變量
- 4. $ _SESSION所有$ _POST變量?
- 5. 保存頁面ID在$ _SESSION
- 6. 爲什麼$ _POST變量無法在PHP中保存爲$ _SESSION?
- 7. $ _POST變量保持不變
- 8. PHP $ _SESSION不通過頁面共享
- 9. 我的php $ _SESSION不保存
- 10. 如何發送$ _SESSION變量通過cUrl
- 11. PHP $ _SESSION數據不在頁面間保存
- 12. 由於form.php保存「email」不通過確認頁面的會話
- 13. 多次提交後保存$ _SESSION變量
- 14. 通過兩個不同的頁面之間的變量與GA
- 15. PHP會話變量不通過頁面
- 16. 存儲$ _SESSION變量
- 17. $ _SESSION變量不傳送一頁一頁
- 18. 刷新頁面後保留$ _POST生成的變量
- 19. $ _SESSION不會取得不同頁面上的數據
- 20. 如何使用重複的$ _POST更新$ _SESSION變量
- 21. $ _SESSION變量的PHP變量
- 22. 在wordpress頁面中檢索$ _POST變量
- 23. $ _SESSION php中的變量(頁面到頁面)
- 24. 保存一行並通過php張貼到相同的頁面
- 25. $ _SESSION變量保持爲空
- 26. 爲什麼$ _SESSION數據不是跨頁面保存的?
- 27. 通過使用PHP刷新頁面存儲數組變量
- 28. 通過整個$ _POST變量彈出
- 29. $ _POST沒有通過任何變量
- 30. PHP $ _SESSION變量單頁
Yikes!最好的只寫編碼。 – TRiG 2012-04-30 18:27:52