Переменные сессии PHP Неопределенные ошибки - PullRequest
2 голосов
/ 15 августа 2011

У меня возникла очень неприятная проблема с административным веб-сайтом, который я недавно разработал. Я установил обработку ошибок для электронной почты и случайно получаю несколько сообщений «Ошибка: [8] неопределенный индекс: имя пользователя», пока система используется. Однако я не смог определить точные действия, которые вызывают эти ошибки. Кроме того, эти сообщения не отображаются, когда для обработки ошибок установлено эхо, а функциональность сайта не затрагивается.

Мне кажется, что проблема была вызвана тайм-аутом сеанса, и сайт не обрабатывал это правильно. Однако, если имя входа остается на некоторое время, а затем обновляется, оно действительно перенаправляет на страницу входа, как и ожидалось, без ошибок.

В самом верху каждой страницы указано:

session_start();

Далее идет код обработки ошибок. Затем следует код безопасности, первая проверка которого:

if(isset($_SESSION['loggedin']) and isset($_SESSION['username'])) {

Если это не удается, вызывается session_destroy();, и он перенаправляет на страницу входа.

Я не могу понять, почему я все еще продолжаю получать

> Error: [8] Undefined index: username'

по электронной почте, когда проверка isset находится в заголовке каждой страницы! Нерегулярность этих ошибок делает невозможным отладку.

Любое понимание того, что может быть проблемой, будет очень цениться! Большое спасибо:)

1 Ответ

2 голосов
/ 15 августа 2011

Попробуйте добавить к вашему коду отладки. Сделайте ваши отладочные электронные письма также отправьте вам вывод вызова debug_backtrace во время вывода файла. Таким образом, вы можете увидеть точный путь, по которому можно перейти от самого внешнего скрипта к строке, где происходит ошибка.

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