簡體   English   中英

在 PHP 中設置 cookie,然后重定向到新的 URL 並訪問設置的 cookie?

[英]Setting cookie in PHP, then redirecting to new URL and access the set cookie?

我試圖設置一個 cookie,然后重定向到一個新的 URL 並訪問(或檢查是否設置了 cookie)設置的 cookie,但它似乎在新的 URL 中不可用。

<?php
header("Location: http://www.facebook.com/pages/tabappURL");
setcookie('coupon', true, time() + 120); //hold for 2 min, time in seconds
?>

有任何想法嗎?

另外,讓我解釋一下是什么,或者我為什么要這樣做。 我有一個 Facebook 選項卡應用程序,它是一個 iframe... 用戶提交表單后,wufoo 會重定向到感謝頁面……但是,它會刷新並帶您離開 Facebook。 這不是理想的情況,因為我們希望感謝頁面位於 iframe 中。 我無法控制在 wufoos 端定位 iframe,因此解決方法是重定向到我的服務器上的另一個頁面(在 iframe 中托管內容的同一服務器)設置一個 cookie,然后重定向回 FB 應用程序頁面。 然后 FB 應用程序檢查是否設置了 cookie,然后顯示感謝消息。

從技術上講,這是兩頁:

index.php(有)

<div class="not-liked">please like us</div>
<div class="liked">enter contest</div>
<div class="thanks">thank you</div> <!-- hidden until page refresh and cookie set -->

redirect.php(上面有cookie/重定向代碼)

Cookies 通常只能在指定域內訪問。

從 PHP 文檔:

domain : cookie 可用的域。 要使 cookie 在 example.com(包括 example.com 本身)的所有子域上可用,您可以將其設置為“.example.com”。 雖然有些瀏覽器會接受沒有首字母的 cookies。,» RFC 2109 要求包含它。 將域設置為“www.example.com”或“.www.example.com”將使 cookie 僅在 www 子域中可用。

檢查您的瀏覽器設置以查看您是否啟用了第三方 cookies。 在某些瀏覽器中,如果禁用 iframe 中的頁面,即使它們屬於同一個域,它們也不會收到 cookies。

你調用 session_start() 了嗎? 這將使 PHP 檢查 session cookie 的請求標頭。

暫無
暫無

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

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