FireFox 3.6 для Mac не читает cookie / перенаправляет должным образом - PullRequest
1 голос
/ 03 марта 2010

У меня есть изящная маленькая схема перенаправления домашней страницы на основе файлов cookie для моего веб-сайта .По сути, когда пользователь впервые заходит на веб-сайт, ему предоставляется два варианта («Продукты вместо услуг обработки»).Когда пользователь нажимает одну из двух кнопок, функция JavaScript сохраняет cookie с соответствующим выбором («продукты» или «обработка»).Этот cookie настроен для хранения в течение 365 дней.

Затем, когда пользователь в следующий раз посещает корневой уровень веб-сайта (/), следующий код PHP перенаправляет их на соответствующую страницу:

<?php

//  Pull last home page choice
$home_page_choice = $_COOKIE["HomePageChoice"];
if ($home_page_choice == "products") {
//  Redirect user to Products page
    header("Location: products/index.php");
    exit();
} else if ($home_page_choice == "machining") {
    //  Redirect user to Machining Services page
    header("Location: machining/index.php");
    exit();
} else {
    //  Redirect user to first-time user home page (where user can choose where to go)
    header("Location: home/index.php");
    exit();
}

?>

Если пользователь случайно щелкнет на домашней странице сайта, этот файл cookie будет очищен и готов к новому выбору.Если вы спросите меня, это самый умный код из когда-либо созданных!;)

Проблема в том, что FireFox для Mac (версия 3.6), похоже, просто не перенаправляет должным образом (это означает, что он просто переходит на последнюю страницу 'else' или 'home / index.php'; FireFox3.6 для Windows работает так же, как IE 8 и Safari на обеих платформах. Я знаю, что FireFox может читать cookie, я тестировал его с помощью «echo $ home_page_choice;».

Так что же происходит с FireFox? IЯ полагаю, что это должна быть какая-то ошибка FireFox, поскольку PHP - это серверный язык и более или менее независимый от браузера.

-HazMatt

1 Ответ

0 голосов
/ 03 марта 2010

вы ДОЛЖНЫ (согласно rfc) предоставить полный URL-адрес в заголовке местоположения (т. Е. С "http://host/").). Я не знаю, решит ли это вашу проблему, но это стоит исправить в любом случае.

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