[英]PHP How can I send a SAFE url via POST so that after a php script has finished it can redirect back to the page it came from?
將 go 返回到提交表單的頁面的最佳方法是什么?
例如,如果我通過 POST 將一些數據發送到“save-data.php”,然后該文件將發布的數據上傳到數據庫,那么如果 url 未知,我該如何返回到最初發送 POST 數據的頁面?
我不確定我的解釋是否正確。
更多詳情:
數據僅由管理員用戶發布。 我將此代碼用於存儲在數據庫中的可編輯導航欄。 管理員可以編輯 label 和 href 然后存儲它。 問題在於,只要您以管理員身份登錄,就可以從站點的任何頁面對其進行編輯。 當您點擊保存按鈕(在與導航欄相同的頁面上)時,它會將數據發布到插入/更新數據庫的 php 腳本。 我只需要將用戶發送回單擊保存的頁面。
如果這是動態的,您可以傳遞一個隱藏的輸入值:
<input type="hidden" name="return" value="myfile.php" />
不喜歡這個,因為它可以由用戶更改。 但是我在我的應用程序中經常做這樣的事情,但更像是這樣:
<input type="hidden" name="return_action" value="detailview" />
然后做很多事情來驗證操作以及所涉及的權限(比這更大的對話。)
如果這是一個 static 返回並且您控制它,您可以簡單地執行以下操作:
header('Location: myfile.php');
exit();
只需在保存和罰款后添加即可。
編輯抱歉剛剛注意到 URL 是否未知。 你控制所有的部分嗎? 您控制哪些部分以及控制到什么級別? 我假設您不只是讓每個人都將數據發布到 URL?
您可以使用 JavaScript 做到這一點:
window.onload = history.go(-1);
在 PHP 中是不可能的。 您需要知道推薦人 URL 才能派人去那里。 $_SERVER['HTTP_REFERER']
可能包含引薦來源網址,但不保證會被發送(某些防火牆和瀏覽器會刪除引薦來源網址頭)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.