2012-12-26 3 views
-1

Я пытаюсь создать проверку переменной сеанса для каждой из моих страниц на моем веб-сайте. Код ниже близок, но я просто не знаю, правильно ли я построил инструкции If, elseif и else. Благодаря!Сменная переменная проверки PHP

<?php 

session_start(); 

if (isset($_SESSION['id']) && $_SESSION['administrator'] == 'YES'){ 
    session_write_close(); 
    echo "You are logged in & you are an administrator!"; 
    exit(); 
} elseif (isset($_SESSION['id'])){ 
     session_write_close(); 
     echo "You are logged in BUT you are NOT an administrator!"; 
     exit(); 
    } else { 
    session_write_close(); 
    echo "You are NOT logged in!"; 
    exit(); 
} 

?> 
+1

Вы протестировали его? Какова конкретная проблема, с которой вы сталкиваетесь? –

+3

Я не сомневаюсь, что здесь. – PeeHaa

+0

какая проблема вы столкнулись с этим кодом ..... – guri

ответ

1

Ваш код будет работать так, как вы ожидаете. Тем не менее, вы могли бы написать его, как показано ниже, вместо этого - это просто сэкономит вам два раза запишите id.

if(isset($_SESSION['id'])) 
{ 
    if($_SESSION['administrator'] == 'YES') 
    { 
     // is admin 
    } 
    else 
    { 
     // logged in but not admin 
    } 
} 
else 
{ 
    // not logged in 
} 
+0

Не могли бы вы объяснить мне в словах пьяницы, как это лучше, чем то, что у него есть? – PeeHaa

+0

@PeeHaa, как уже упоминалось, разница заключается в том, что вы не пишете 'isset ($ _ SESSION ['id'])' дважды. Кажется, нет смысла дублировать это. – MrCode

+0

Я выберу это как ответ, так как он помог мне очистить мой код. Благодаря! – r6danl99

Смежные вопросы