2010-03-02 2 views
1

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

Затем, в следующий раз, когда пользователь посещает корневой уровень сайта (/), следующий код 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'; FireFox 3.6 для Windows работает, как и IE 8 и Safari на обеих платформах. Я знаю, что FireFox может читать cookie, я тестировал его с помощью «echo $ home_page_choice;».

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

-HazMatt

ответ

0

вы должны (в соответствии с RFC) обеспечивают полный url в заголовке местоположения (т. с "http://host/"). Я не знаю, решает ли это вашу проблему, но в любом случае стоит закрепить ее.

+0

Спасибо за подсказку; Я обновил PHP-код, чтобы включить полный абсолютный URL для всех трех ссылок, но, увы, он не решает проблему FireFox. – HazMatt

Смежные вопросы