My-library.info
Все категории

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

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе PHP. Разработка модуля комментариев для сайта - Дмитрий Приходько. Жанр: Прочая околокомпьтерная литература / Программирование год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
PHP. Разработка модуля комментариев для сайта
Дата добавления:
24 март 2023
Количество просмотров:
21
Читать онлайн
PHP. Разработка модуля комментариев для сайта - Дмитрий Приходько

PHP. Разработка модуля комментариев для сайта - Дмитрий Приходько краткое содержание

PHP. Разработка модуля комментариев для сайта - Дмитрий Приходько - описание и краткое содержание, автор Дмитрий Приходько, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info

В книге рассмотрен вариант разработки модуля комментариев для сайта на чистом языке php в процедурном стиле.

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

PHP. Разработка модуля комментариев для сайта - читать книгу онлайн бесплатно, автор Дмитрий Приходько
значение параметризированной переменной для оператора LIKE, содержимое $_POST['text'] размещено между двумя знаками процента (%). LIKE воспринимает этот знак как групповой символ, поэтому при поиске строки $_POST['text'] в поле text формы search.html.php в расчет будут приниматься также строки, где до и после этого значения находится другой текст.

Запускаем. Если все сделано без ошибок, то при запущенном на «Open Server» тестовом сайте при переходе по адресу: news/chat/admin/comment.php видим страницу статистики комментариев (см. рис. 15)

Рис. 18. Вид страницы статистики комментариев

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

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'; ?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

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

<title>Авторизация</title>

</head>

<body>

<?php if (isset($loginError)): ?>

<?php htmlout($loginError); ?>

<?php endif; ?>

<form action="" method="post">

<h4 class="formname">Авторизация</h4>

<hr>

<div>

<label for="email">Логин:

<input type="text" name="login" id="login" class="inputs">

</label>

</div>

<hr>

<div>

<label for="password">Пароль:

<input type="password" name="password" id="password">

</label>

</div>

<hr>

<div>

<input type="hidden" name="action" value="out">

<input type="submit" value="Отправить">

</div>

</form>

</body>

</html>

В эту форму пользователь вставляет свои логин и пароль и отправляет дальше на проверку.

11.3 Кнопки кабинет и выход

Страница опять перегрузилась. Если логин и пароль введены корректно, то выводим кнопки «Кабинет» и «Выход», а заодно напечатаем в контроллере 2 приветствие:«Welcome $user».

Кнопка «Кабинет» файл «button_cabinet.html».

Листинг 24. button_cabinet.html Путь: news/chat/admin/ button_cabinet.html

<!DOCTYPE html>

<html lang="en">

<head>

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

</head>

<div class="cabinets">

<form action="/chat/admin/index.php" method="post" class="cabinet">

<input type="submit" name="action" value="Кабинет" />

</form>

</div>

</html>

Кнопка «Выход» файл «button_logout.html» рассмотрена ранее в Листинге 16.

Обработчик события кнопки «Выйти» файл «logout.php»

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

<?php

if (session_id() == '') {

session_start();

}

/* Проверяем была ли нажата кнопка "Выйти" если 'Да' уничтожаем сессию */

if (isset($_POST['action']) and $_POST['action'] == 'Выйти') {

unset($_SESSION['loggedIn']);

unset($_SESSION['login']);

unset($_SESSION['password']);

}

header("Location: " . $_SERVER["HTTP_REFERER"]);

При нажатии кнопки «Выйти» идет переход на страницу logout.php, где происходит сброс значений сессии, а затем делается редирект обратно на исходную страницу.

Для того чтобы вывести кнопки и формы необходимо в исходный текст стартовой страницы вставить (инклюдить) следующий код

<?php include_once $_SERVER['DOCUMENT_ROOT'].'/chat/login_controller.php'?>

Листинг 26. index.html

Вставка контроллера 2: login_controller.php в файл: news/index.html

<?php include_once $_SERVER['DOCUMENT_ROOT'].'/chat/createbase_controller.php'?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>NEWS</title>

</head>

<body>

<?php include_once $_SERVER['DOCUMENT_ROOT'].'/chat/login_controller.php'?>

Значимость этих проблем настолько очевидна, что начало повседневной работы по формированию позиции способствует

подготовке и реализации новых предложений!

<br>

Значимость этих проблем настолько очевидна, что повышение уровня гражданского сознания влечет за собой процесс

внедрения и модернизации модели развития.

<br> Практический опыт показывает, что рамки и место обучения кадров способствует повышению актуальности

соответствующих условий активизации.

</body>

</html>

Код строк вставок контроллера1 и контроллера 2 выделен цветом.

кнопки будут выведены в том месте документа, где вставлен код строки подключения login_controller.php.

Можете поэкспериментировать с местом размещения «инклюда» в документ. Далее приведены скриншоты, иллюстрирующие работу контроллеров 2 и 1.

Начинают появляться выводимые элементы, поэтому понемногу надо задавать им стили css. Дальнейшие скриншоты работы программы будут с использованием стилей, но сама итоговая страница стилей будет приведена в конце книги, чтобы не было лишней путаницы.

Рис. 19. Пользователь не авторизован

Рис. 20. Пользователь авторизовался

12. Страница панель управления

На страницу «Панель управления» попадаем при нажатии кнопки «Кабинет». За вывод страницы отвечает файл index.php в папке «users».

Листинг 27. index.php Путь: news/chat/admin/users/index.php

<?php

error_reporting(E_ALL);

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

/*.........Проверяем полномочия пользователя..............*/

if (!userIsLoggedIn()) {

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

exit();

}

if (!userHasRole('admin') and !userHasRole('user')) {

exit('Доступ только для Администратора');

}

/*..........Если admin разрешаем все. Start admin..........*/

//Начинаем основной цикл для администратора

if (userHasRole('admin')) {

/*.....Подключение нового пользователя.................*/

if (isset($_GET['add'])) {

include $_SERVER['DOCUMENT_ROOT'] . '/chat/dsn.php';

$pageTitle = 'Подключение нового пользователя';

$action = 'addform';

$name = '';

$email = '';

$id = '';

$button = 'Добавить пользователя';

// Выводим уровни доступа

try {

$result = $dsn->query('SELECT id, description FROM role');

} catch (pdoException $e) {

$error = 'Ошибка при получении списка ролей.';

include $_SERVER['DOCUMENT_ROOT'] . '/chat/admin/users/error.html.php';

exit();


Дмитрий Приходько читать все книги автора по порядку

Дмитрий Приходько - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


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

Отзывы читателей о книге PHP. Разработка модуля комментариев для сайта, автор: Дмитрий Приходько. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.