Кнопки входа, регистрации и Админ-пенели

Mefistofel

Интересующийся
📜
В общем не получается добавить элементарное)
Есть главная страница на которой если пользователь не вошел то есть только кнопка "Вход" и "Регистрация"
Дальше через else указывается если пользователь вошел то есть следующие кнопки "Аккаунт" и "Выход"
Но мне нужно впиндюрить сюда Админ-панель (тоесть чтобы у пользователя из базы c таблицы 'users' где "role" = admin) выдавало ссылку "Админ-панель"
вот часть кода
PHP:
<?php if (User::isGuest()): ?>                                      
                                            <li><a href="/user/login/"><i class="fa fa-lock"></i> Вход</a></li>
                                            <li><a href="/user/register/"><i class="fa fa-lock"></i> Регистрация</a></li>
                                        <?php else: ?>
                                            <li><a href="/cabinet/"><i class="fa fa-user"></i> Аккаунт</a></li>
                                            <li><a href="/user/logout/"><i class="fa fa-unlock"></i> Выход</a></li>
                                        <?php endif; ?>
 
Последнее редактирование:

Cester

Постигающий
📜
PHP:
<?php if (User::isGuest()): ?>                                   
  <li><a href="/user/login/"><i class="fa fa-lock"></i> Вход</a></li>
  <li><a href="/user/register/"><i class="fa fa-lock"></i> Регистрация</a></li>
<?php else: ?>
  <?php if (User::isAdmin()): ?>
    <li><a href="/adminpanel/"><i class="fa fa-user"></i> Админ панель</a></li>
  <?php endif; ?>
  <li><a href="/cabinet/"><i class="fa fa-user"></i> Аккаунт</a></li>
  <li><a href="/user/logout/"><i class="fa fa-unlock"></i> Выход</a></li>
<?php endif; ?>
Создаешь функцию проверки isAdmin. В которой пишешь проверку если перс авторизирован и role = admin
И всё. Ничего сложного.

UPDATE:
Я так подумал, проще написать многозадачную функцию. Для дальнейшего использования.
Т.е функцию isAdmin заменяем на hasRole() в неё передаем параметр в нашем случае admin и далее в функции как и раньше проверяем если перс авторизирован и смотрим его role если он совпадает с искомым то выдаем true...
В дальнейшем можно использовать и для модеров, дилеров, и т.д и т.п

И снова update)
Я так понимаю что класс User хранит в себе параметры перса. А это значит что получить role еще проще
User::ФукцияПолученияДатыПерса['role'] == 'admin'
И всё. Можно не писать костылей...
 
Последнее редактирование:

Mefistofel

Интересующийся
📜
PHP:
<?php if (User::isGuest()): ?>                                  
  <li><a href="/user/login/"><i class="fa fa-lock"></i> Вход</a></li>
  <li><a href="/user/register/"><i class="fa fa-lock"></i> Регистрация</a></li>
<?php else: ?>
  <?php if (User::isAdmin()): ?>
    <li><a href="/adminpanel/"><i class="fa fa-user"></i> Админ панель</a></li>
  <?php endif; ?>
  <li><a href="/cabinet/"><i class="fa fa-user"></i> Аккаунт</a></li>
  <li><a href="/user/logout/"><i class="fa fa-unlock"></i> Выход</a></li>
<?php endif; ?>
Создаешь функцию проверки isAdmin. В которой пишешь проверку если перс авторизирован и role = admin
И всё. Ничего сложного.

UPDATE:
Я так подумал, проще написать многозадачную функцию. Для дальнейшего использования.
Т.е функцию isAdmin заменяем на hasRole() в неё передаем параметр в нашем случае admin и далее в функции как и раньше проверяем если перс авторизирован и смотрим его role если он совпадает с искомым то выдаем true...
В дальнейшем можно использовать и для модеров, дилеров, и т.д и т.п

И снова update)
Я так понимаю что класс User хранит в себе параметры перса. А это значит что получить role еще проще
User::ФукцияПолученияДатыПерса['role'] == 'admin'
И всё. Можно не писать костылей...
Спасибо, держи лойс, помог)
 

Bayer

Специалист
⚖️
🏆
📜
💎
  • Надмозг
а зачем вообще это isGuest . Строчку <?php if $массив['role']=='admin'{echo'';}?> видит только тот у кого в строке role стоит admin .
Создай массив $user например в котором будет select * from `название таблицы`

P.S. мешать html с php вообще не очень...
 

CyberVit

Продвинутый
🏆
📜
💎
  • Надмозг
а зачем вообще это isGuest . Строчку <?php if $массив['role']=='admin'{echo'';}?> видит только тот у кого в строке role стоит admin .
Создай массив $user например в котором будет select * from `название таблицы`

P.S. мешать html с php вообще не очень...
кстати хороший совет, если я допустим вижу мешанину html и php - я эту срань всегда переписываю... меня это бесит и глаза режет!
 

Cester

Постигающий
📜
а зачем вообще это isGuest . Строчку <?php if $массив['role']=='admin'{echo'';}?> видит только тот у кого в строке role стоит admin .
Создай массив $user например в котором будет select * from `название таблицы`

P.S. мешать html с php вообще не очень...
А смысл? Это даже не функция. Чем будет хуже если я сохраню стилистику?
Вывод будет только после соблюдения условия и не иначе.
Я и сам не любитель каши из кода, но не в подобных случаях.

Если у Вас есть весомые либо полезные советы по этому поводу, я бы выслушал)
 
Внимание! Эта тема устарела на 701 дней.
Тут обсуждать нечего, лучше создай новую тему. Конечно, если очень-очень нужно (например хочешь ответить на древний вопрос), то отвечай. Но помни: некропост — зло, а модератор не дремлет!
Сверху