Проблема с переключателем в PHP - PullRequest
1 голос
/ 04 июня 2010

У меня есть переменная сеанса, называемая loggedon. Я установил его на 1, когда пользователь вошел в систему, и 0, когда он вышел из системы.

Я делаю заявление, как показано ниже. но это не работает так, как должно.

    $state = $_SESSION['loggedon'];
    switch ($state)
      {
        case 0:
          include("../includes/login.php");
          break;
        case 1:
          echo "logged in";
          echo "<br /><a href='../logoff.php'>Log off</a>";
        break;
        default:
          include("../includes/login.php");
}

Кто-нибудь понимает, почему?

Приветствия

Джоунси

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Если содержимое переменной $ _SESSION ['loggedon'] равно 0/1, вы можете использовать оператор if (PHP читает 1 как true, а остальные числа как false), что будет работать немного быстрее. Просто сделайте следующее:

if($_SESSION['loggedon']){
      echo "logged in";
      echo "<br /><a href='../logoff.php'>Log off</a>";
 }else{
      include("../includes/login.php");
 }

Помните, что вы обязаны использовать session_start ();

0 голосов
/ 04 июня 2010
switch ($_SESSION['loggedon'])
  {
    case 1:
      echo "logged in";
      echo "<br /><a href='../logoff.php'>Log off</a>";
    break;
    default:
      include("../includes/login.php");

}

Менее многословен и должен делать то же самое :-) Извините за то, что код не был отформатирован как код ...

...