Необходимо дважды войти в систему. Сессии PHP и проблемы с входами в Chrome и Opera

Проблема, с которой я сталкиваюсь, заключается в том, что для моей формы входа мне нужно дважды войти в систему для регистрации, но только в Chrome (моя версия 4.0.249.89) и Opera (моя версия – 10.10).

Вот код, который я тестировал:

Страница авторизации:

session_start ();

$_SESSION['user_id'] = 8; $_SESSION['user_name'] = 'Jim'; session_write_close(); header('Location: http://www.my-domain-name.com/'); exit(); 

Главная страница:

 session_start(); 

session_start();

if (isset ($ _ SESSION ['user_id']))
{
echo "Вы вошли в систему!";
}
еще
{
echo «Вы не вошли в систему!»;
}

Страница выхода:

 session_start(); session_unset(); session_destroy(); header('Location: http://www.my-domain-name.com/ '); exit(); 

В настоящее время, при новой загрузке без файлов cookie, если я перейду на my-domain-name.com/login/, он перенаправит на домашнюю страницу и скажет: «Вы не вошли в систему!». но если я пойду туда снова, он скажет: «Вы вошли в систему!». Есть идеи?

Спасибо за вашу помощь.

Попробуйте добавить sleep(2); перед выпуском заголовка перенаправления; что скажет вам, действительно ли это ошибка в вашем коде, или если данные сеанса просто не записываются в файл достаточно быстро.

У меня такая же проблема. Я просто удалил www. в разделе заголовка.

Тогда это сработало для меня. Это будет выглядеть так: header ('Местоположение: http://my-domain-name.com/ ');

Ваш код, как представлено, кажется, что он вызовет бесконечный цикл переадресации с домашней страницей, вызывающей session_start (), установив файл cookie и поручив браузеру загрузить домашнюю страницу. Есть ли какая-то логика в коде, представленном здесь?