reatachi_kun
@reatachi_kun
Анимееешкиии :333

3 else или 2 if?

В общем, есть у меня шапка, в ней должна быть инфа для не зарегистрированного юзверя, для обычного юзверя и для админа. У Юзверей есть user_group- где 1- админ, 5- обычный юзверь
Вот я решил для не залогиненых и залогиненых
if(empty ($_SESSION['username']) or empty ($_SESSION['id'])){
echo'
<div id="header">

</div>
';
}else{
echo'
<div id="header">
<a href="/">главная</a>
</div>
';
}

Нужно что бы админ видел все это, и еще свои элементы, такие как панель управления
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 4
miraage
@miraage
Старый прогер
Можно еще вынести получение группы юзера.
switch (true):
    case ($_SESSION['user_group'] ?? null) === 1:
        // admin
        break;
    case ($_SESSION['user_group'] ?? null) === 5:
        // user
        break;
    default:
        // guest
        break;
endswitch;
Ответ написан
Комментировать
kompi
@kompi
nullstack devoops
Чтобы избежать мучений: завернуть, например, получение группы в функцию или метод, а потом более лаконично перебрать через switch:
function getUserGroup() {
//..
}
switch(getUserGroup()) {
  case 'admin': 
    break;
  case 'user': 
    break;
  case 'guest':
  default: 
    break;
}
Ответ написан
Комментировать
Lumore
@Lumore
Front-end developer
<div id="header">
<?php
if(empty ($_SESSION['username'] or empty ($_SESSION['id'])){

}else{
echo'
<a href="/">главная</a>
';
} elseif($_SESSION['username']['is_admin'] == true) {
echo 'admin';
}
?>
</div>
Ответ написан
@Silm
1. Группу пользователя получаем не из сессии, а из БД
2. Выводим нужный html блок как угодно, но только не через вложенные if
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы