Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
rusldv
7 лет назад

PHP Урок 19. Добавляем меню навигации

PHP Урок 19. Меню



Предыдущие уроки:


Программируем на PHP - Введение

PHP - Запросы от браузера к серверу

PHP - Как работает сервер

PHP - Урок 4. PHP - интерпретатор

PHP - Урок 5. Переменные сервера и глобальные переменные

PHP - Урок 6. Конструкции print и echo. Кавычки одинарные и двойные и конкатенация строк

PHP - Урок 7. Переменные, константы и условия

PHP - Урок 8. Точка входа в приложение. Настройка mod_rewrite и файл .htaccess

PHP - Урок 9. Массивы и switch. Кодим основной каркас

PHP - Урок 10. COOKIE

PHP - Урок 11. Функции. Добавляем ядро системы core.php

PHP - Урок 12. Обзор модели MVC. Добавляем шаблоны страниц в наше приложение

PHP - Урок 13. Введение в базы данных и SQL. СУБД MySQL. Подключаемся к БД из нашего приложения

PHP - Урок 14. Регистрация пользователей на сайте

PHP Урок 15. Авторизация пользователей

PHP. Урок 16. Проверка авторизации. Функция check().

PHP Урок 17. Добавляем CSS фреймворк Bootstrap и jQuery

PHP Урок 18. Загрузка файлов на сервер


Теория

Понятно, что ни одна социальная сеть не обходится без меню. Особенно верхнего. Оно и в твиттере, и в голосе и даже в инстаграме есть. Так будет же и у нас. Надеюсь все помнят как ведет себя меню:
  1. Если вы авторизированы - вам предоставляется панель управления вашими личными данными и настройками.
  2. Если вы не авторизированы - кнопка войти. Ну естественно заголовки и всякий популярный контент, мол посмотрите как у нас тут хорошо.

Наше меню не будет исключением. А поскольку мы подключили библиотеку bootstrap3 то добавив уже готовые стили, попробуем предать ему благородный вид. (Если что у меня с версткой все плохо не говоря уже о дизайне=))

Практика


Нам необходимо добавить даже 2 меню. Так понятнее. Тем-более там в основном копипаст. Одно будет для авторизованных пользователей, а другое нет.
Так как наше меню должно всегда отражаться, несзвисимо на какой странице пользователь.
Поэтому добавляем его в начале шаблона обертки - index.tpl.php

Поскольку саму авторизацию мы уже сделали, нам будет не сложно. Мы будем проверять id не равен ли он нулю. Если ноль, значит - нужно отобразить меню с кнопкой Войти.
Вставляется это дело сразу после тега body и там оно выложится до секции с подключением внутряка.

Тут много тегов не нравится редактору голоса поэтому картинкой

Среди множества бутстраповских тегов мы можем заметить


<?if(!$this_id){?>
<?}else{?>

Непосредственно так мы и определяем какое меню показывать. A $this_id как мы помним мы определили в главном файле приложения index.php


    $pdo = init();
// Проверка авторизации
    $cookie_id = $_COOKIE['id'];
    $cookie_hash = $_COOKIE['hash'];
    $this_id = check($pdo, $cookie_id, $cookie_hash);

Так как инициализация переменной до сегмента switch (точнее вне его) то эта переменная будет присутствовать во всех шаблонах, в том числе и index.tpl.php


Следующие посты наверное будут самыми интересными. Во первых мы добавим API что позволит понять принципы любых API в том числе и голоса. Затемм будет урок про циклы. Так как мы будем работать с выборкой многих строк из БД. После чего немного изменим то что сейчас при изучении делали с БД. И приступим в каждом последующем уроке добавлят наши страницы - подписки, профиль, новости и т.д
71
183.196 GOLOS
На Golos с November 2016
Комментарии (2)
Сортировать по:
Сначала старые