簡體   English   中英

PHP 如何通過 POST 發送 SAFE url 以便在 php 腳本完成后它可以重定向回它來自的頁面?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM