簡體   English   中英

發送消息 PHP header 位置重定向

[英]Send a message with PHP header location redirect

是否可以在 PHP header 中包含一些消息:

header("Location: http://somesite.com");
header("Message: hello");

然后在 site.com:

$message = some_function(); // "hello"

我目前在 URL 中使用 $_GET 參數,但正在尋找替代方法,也許發送 $_POST?

我正在嘗試不使用 $_GET,或使用 cookies(我知道,這些是最好的方法..)

聽起來您想將一些額外的數據發送到您要重定向到的頁面。 不,這在查詢字符串之外是不可能的。 您應該了解這里發生了什么。

當您發送302301狀態代碼以及Location:標頭時,瀏覽器會看到此內容,然后向Location:標頭指定的URL發出單獨的請求。 服務器未向該頁面發送任何內容。 就像用戶只是在瀏覽器中鍵入該新URL一樣。

我說這幾乎是因為在某些情況下,瀏覽器設置了引薦來源網址。 雖然不能保證。

可以做的是發送某種包含更多信息的令牌。 也許您的頁面將消息保存在數據庫之類的東西中,然后在要重定向到的URL的查詢字符串中傳遞ID。

另外,如果您設置了會話/ cookie數據,並且要重定向到同一域中的某個內容,則可以在用戶最終登錄的頁面上閱讀該信息。

除了 Brad 的建議之外,您還可以在 url 中使用 # 發送一些信息而不影響查詢字符串,然后使用 js 捕獲它。

header("Location: http://somesite.com#success");

在 js 中:

if(window.location.href.indexOf('#success')>0) {
    alert("operation successfully completed");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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