Установить cookie в PHP, затем перенаправить на новый URL и получить доступ к установленному cookie? - PullRequest
0 голосов
/ 22 июля 2011

Я пытаюсь установить 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). Как только пользователь отправляет форму, wufoo перенаправляет на страницу благодарности ... хотя, она обновляется и забирает вас с Facebook. Это была не идеальная ситуация, так как мы хотим, чтобы страница с благодарностью находилась внутри iframe. У меня не было контроля над таргетингом iframe на конец wufoos, поэтому обходным путем было бы перенаправить на другую страницу на моем сервере (тот же сервер, на котором размещен контент в 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 / кодом перенаправления)

Ответы [ 3 ]

2 голосов
/ 22 июля 2011

Файлы cookie обычно доступны только в указанном домене.

Из документации PHP:

домен : домен, для которого доступен файл cookie. Чтобы сделать файл cookie доступным во всех поддоменах сайта example.com (включая сам сайт example.com), установите для него значение «.example.com». Хотя некоторые браузеры принимают файлы cookie без начального. »RFC 2109 требует, чтобы он был включен. Если для домена задать значение «www.example.com» или «.www.example.com», файл cookie будет доступен только в поддомене www.

0 голосов
/ 09 сентября 2011

Проверьте настройки вашего браузера, чтобы увидеть, если вы включили сторонние куки. В некоторых браузерах, если они отключены, страница внутри iframe не будет получать куки, даже если они принадлежат одному домену.

0 голосов
/ 22 июля 2011

Вы вызывали session_start ()?Это заставит PHP проверить заголовки запроса для куки сессии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...