我在頁面上有一個表單,用戶有輸入來編輯一個XML文件,表單的動作是將它發送到一個單獨的PHP腳本,在腳本發出提交後進行編輯。腳本將寫入成功或失敗,無論哪種方式,我都會通過標題將它重定向回表單頁面。是否有簡單的方法將確認或失敗消息傳回給表單頁面?我可以在網址中完成,但我寧願保持整潔。PHP在頁面之間傳遞消息
4
A
回答
16
我已經看到它完成(以及我個人使用)的方式只是會話。
// process something
if($success) {
flash_message('success','Did whatever successfully.');
} else {
flash_message('error','Oops, something went wrong.');
}
header('Location: whatever.php');
然後在其他地方,在你的庫或函數的文件或什麼:
function flash_message($type, $message) {
// start session if not started
$_SESSION['message'] = array('type' => $type, 'message' => $message);
}
視圖/頁
然後,你可以這樣做:
if(isset($_SESSION['message'])) {
printf("<div class='message %s'>%s</div>", $_SESSION['message']['type'],
$_SESSION['message']['message']);
unset($_SESSION['message']);
}
這是很基本的,但你可以從那裏擴展它,如果你想多個消息等。底線是我相信會議是最好的。
2
我更喜歡將表單處理代碼和表單顯示代碼放在同一頁面中。如果你真的想將它分開,你可以將代碼移動到不同的文件中,並從表單文件中包含該文件,但是從客戶端它看起來像是同一個PHP文件。
然後,始終提交到表單並在顯示錶單之前在頂部進行錯誤檢查。如果有消息顯示,您只需再次顯示錶單,並顯示消息以及用戶的數據,以便他們可以解決問題。他們可以再次提交,您可以再次檢查錯誤。如果他們成功提交,您可以將它們重定向到其他地方,或者僅顯示「成功」消息。
相關問題
- 1. 在JSF頁面之間傳遞信息
- 2. 在php頁面之間傳遞網址
- 3. 在php頁面之間傳遞變量
- 4. 在內容腳本和背景頁面之間傳遞消息
- 5. 在erlang進程之間傳遞消息?
- 6. 在Backbone.js之間傳遞消息Views
- 7. 在EventMachine連接之間傳遞消息
- 8. 使用消息隊列在進程之間傳遞消息
- 9. 兩個類之間的消息傳遞
- 10. msgpack:C++和java之間的消息傳遞
- 11. 在頁面之間傳遞數據ASP.NET
- 12. 在頁面之間傳遞對象
- 13. 在asp.net頁面之間傳遞XML
- 14. 在asp.net頁面之間傳遞數據
- 15. 在頁面之間傳遞jQuery參數
- 16. UWP在頁面之間傳遞數據
- 17. 在頁面之間傳遞值
- 18. 在頁面之間傳遞數據鍵
- 19. 在JSF頁面之間傳遞參數
- 20. 在頁面之間傳遞數據asp.net
- 21. 在opencart頁面之間傳遞變量
- 22. 在WordPress頁面之間傳遞參數
- 23. 在頁面之間傳遞狀態?
- 24. 在頁面之間傳遞數據wp7
- 25. 如何在wxPython PyWizardPage嚮導的頁面之間傳遞信息?
- 26. 如何在PHP頁面之間安全地傳遞信用卡信息
- 27. Chrome擴展中的頁面和內容腳本之間的消息傳遞?
- 28. PHP:在頁面之間傳遞非表單變量?
- 29. PHP:在多個頁面之間傳遞GET
- 30. 在PHP頁面之間傳遞大數組