Оценить:
 Рейтинг: 0

PHP. Разработка модуля комментариев для сайта

Год написания книги
2021
Теги
<< 1 ... 22 23 24 25 26 27 28 29 30 ... 78 >>
На страницу:
26 из 78
Настройки чтения
Размер шрифта
Высота строк
Поля

10. Контроллер 2

Контроллер 2 будет заниматься контролем авторизации пользователей и их возможностям для работы с комментариями.

Напишем код для входа на страницу личного кабинета и связанных с ней страниц. Контроллер 2 назовем «login_controller.php» и разместим в корне папки «chat», т.е. там же, где и контроллер 1 (createbase_controller.php)

Листинг 21. login_controller.php Путь: news/chat/ login_controller.php

<?php

error_reporting(E_ALL);

/* Проверяем данные пользователя, устанавливаем данные сессии */

include_once $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/access.php';

userIsLoggedIn();

userId();

if (isset($_SESSION['login'])) {

echo '<div class="welcom">Welcome '.$_SESSION['login'].'</div>'; //Выводим "Привет юзер"

/* Вставляем кнопки "Кабинет" и "Выход" */

include_once $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/button_cabinet.html';

include_once $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/button_logout.html';

} else {

include_once $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/users/input_button_block.html';

if (!empty($_GET['name'])) {

include_once $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/form_login.php';

}

}

В подключаемом файле access.php проверяем данные пользователя и устанавливаем данные сессии.

После проверки данных функциями userIsLoggedIn() и userId()если пользователь авторизован приветствуем его и вставляем кнопки «Кабинет» и «Выход». Если нет, выводим блок кнопок «Вход», «Регистрация», «На главную» и форму авторизации.

Напишем коды кнопок и опробуем его в деле, это можно будет сделать после добавления файлов рассматриваемых в следующем разделе.

11. Кнопки раздела администрирования

11.1 Кнопки вход и регистрация

Кнопки «Вход» «Регистрация» и «На главную» сгруппированы в одном файле «input_button_block.html»

Листинг 22. input_button_block.html Путь: news/chat/admin/ users/ input_button_block.html

<!DOCTYPE html>

<html lang="en">

<head>

<link rel="stylesheet" type="text/css" href="/chat/style.css" />

</head>

<div class="inputbutton">

<div class="ingress">

<a href="?name=door">Вход</a>

</div>

<div class="ingress">

<a href="admin/users/reg.php">Регистрация</a>

</div>

<div class="ingress">

<a href="/">На главную</a>

</div>

</div>

</html>

Назначаем обработчик нажатия кнопки «Вход».

11.2 Обработчик кнопки вход

Для обработки нажатия кнопки вход используем метод GET передавая в нем переменную «door». При нажатии кнопки происходит перезагрузка страницы и если контроллер видит переменную door то вставляет файл form_login.php

Листинг 23. form_login.php Путь: news/chat/admin/ form_login.php

<?php include_once $_SERVER['DOCUMENT_ROOT'].'/chat/admin/clean.php'; ?>
<< 1 ... 22 23 24 25 26 27 28 29 30 ... 78 >>
На страницу:
26 из 78