Игнорирование заявления if - PullRequest
0 голосов
/ 25 августа 2010

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

<?php
session_start();

if(!empty($_SESSION)){
 header("Location: home.php");
}

Но этоигнорируется, и он запускает скрипт входа в систему, как будто $ _SESSION пуст, даже если я распечатываю массив Session на домашней странице, и он всегда показывает, что он имеет значения, плюс остальная часть сценария в любом случае назначает значения сеанса.Даже если я изменю его на if (empty($_SESSION)) или добавлю else { die()} после него, он просто полностью его игнорирует.

Теперь, если я добавлю что-либо для печати сеанса, используя print_r ($ _ SESSION) или echo'ingконкретное значение, даже если я помещу это вне оператора if, кажется, что оно понимает, что $ _SESSION имеет значение и выполняет перенаправление.Я мог бы просто поместить это там навсегда, поскольку это никогда не появилось бы ... но я бы предпочел выяснить, почему это не работает сейчас.

Ответы [ 2 ]

4 голосов
/ 25 августа 2010

Если вы не прервете сценарий, он будет работать до конца:

<?php
session_start();

if(!empty($_SESSION)){
    header("Location: home.php");
    exit;
}
0 голосов
/ 25 августа 2010

Вы должны добавить die() или exit() в блоке if, иначе сценарий продолжит выполнение.

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