Пожалуйста, просмотрите это Stackoverflow сообщение.
У меня та же проблема с PHP, что и у bob_cobb. Вот ответ Брэда Крисита:
Порядок операций.
Поместите создание вашей сессии и
Проверка на валидность в самом
верхняя часть страницы, так что остальные
страница может выносить суждения, отменяет
существование $ _SESSION ['username']
(Скорее всего, вы пытаетесь проверить
они внутри области содержимого, так что ваш
«yay» или «ney» сообщение появляется в
нужный раздел документа.
Довольно, да, но вся верхняя половина
страница не может видеть, что это
[потенциально] допустимый сеанс.)
Он в основном говорит, что session_start () и условные выражения, которые проверяют переменные сеанса, должны быть наверху, чтобы остальная часть страницы могла действовать на основании этого.
Однако мой сеансовый чек равен вверху страницы.
<?php
session_start();
if ($_SESSION['username'])
//User is already logged in, echo the log out button.
...
else
//User is not logged in, echo the log in form & button.
...
//Login form validation if user is not logged in and submitted form.
//At the end, create session variable ($_SESSION['username'])
//Destroy session if user pressed log out button.
session_destroy();
?>
Все работает нормально, но, как и в случае с постером другого вопроса, мне нужно обновить страницу, чтобы выполнить скрипт top (скрипт, который проверяет $ _SESSION [ 'имя пользователя']).
Почему это?