Листинг 15. erroractivation.html Путь: /news/chat/admin/ erroractivation.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/chat/style.css" />
<title>Ошибка активациии</title>
</head>
<body>
<div style="float:none; display:inline-block; ">
<h5 class="ingress" style="text-align:center;">
Вы не активировали аккаунт, <br>
проверьте сообщения в почтовом ящике,<br>
указанном вами при регистрации
</h5>
</div>
<div>
<h5 class="ingress"><a href="/">Вернуться на главную страницу</a></h5>
</div>
</body>
</html>
Здесь вопросов быть не должно. Обычная html страница без кода. Часть стилей CSS заданы непосредственно на странице.
9.1.5 Кнопка выхода из раздела администрирования
Кнопка выхода из раздела администрирования «button_logout.php»
Листинг 16. button_logout.php Путь: /news/chat/admin/ button_logout.php
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="/chat/style.css" />
</head>
<div class="logouts">
<form action="/chat/admin/logout.php" method="post" class="logout">
<input type="hidden" name="action" value="logout" />
<input type="hidden" name="goto" value="/admin/" />
<input type="submit" name="action" value="Выйти" />
</form>
</div>
</html>
Кнопка передает данные скрипту logout.php (Листинг 25) который обнуляет соответствующие переменные сессии.
После создания этих фалов пробуем зайти на страницу администрирования
news/chat/admin и посмотреть что получилось.
Рис. 16. Форма авторизации закрывает вход в личный кабинет
Заполняем поля формы и отправляем данные.
Рис. 17. Страница личного кабинета открыта
Если всё прошло нормально открывается страница доступа к личному кабинету в административном разделе. На этой странице имеется кнопка «Выход», ссылки на страницы «Комментарии» и «Пользователи», а также ссылка «Вернуться на главную страницу».
9.1.6 Страница доступ запрещен
Сами понимаете, без такой страницы никуда.
Листинг 17. accessdenied.html.php Путь: news/chat/admin/ accessdenied.html.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/chat/admin/clean.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/chat/admin/button_logout.html';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Access Denied</title>
</head>
<body>
<h1>Доступ запрещен</h1>
<p><b><i><?php htmlout($error); ?></i></b></p>
<p><a href="/">Вернуться на главную страницу</a></p>
</body>
</html>
Страница будет выводиться, в случае если у пользователя нет прав для доступа к панели управления. Допустим, user захочет войти на страницу, доступную только пользователю с правами admin. «Доступ запрещен» будет выводиться по результатам проверки в файле access.php, на странице index раздела admin вместо основной страницы.
9.2. Статистика комментариев
9.2.1 Страница комментариев
Создаем страницу просмотра статистики комментариев «comment.html.php»
Листинг 18. comment.html.php Путь: news/chat/admin/ comment.html.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/chat/style.css" />
<title>Листинг комментариев</title>
</head>
<body class="chatbody">
<h1 class="user">Статистика комментариев</h1>
<div class="statwrap" id="">
<!– Вставляем блок формы поиска –>
<div class="statone" id="">
<?php include_once $_SERVER['DOCUMENT_ROOT'].'/chat/admin/search.html.php'; ?>
</div><!– END statone –>
<div class="stattwo" id="">
<h5 class="user">Комментарии</h5>
<?php
if (isset($says)) {
foreach ($says as $say) : ?>
<p class="stat">
<?php
echo '<span style="color:cadetblue;">' . ' ' . $say['id'] . ' ' . '</span>';
//убираем смайлы
$patterns = '/(:([^>]+):)/U';
$replace = ' smile* ';
$clean = $say['text'];
$text = preg_replace($patterns, $replace, $clean);
echo $text;
$t = time($say['saydate']);
echo '<span style="color:cadetblue;">' . ' ' . date("d.m.Y", "$t") . '</span>'; ?>
</p>
<?php endforeach;
} ?>
</div><!– END stattwo –>
<div class="statthree" id="">
<h5 class="user">Ответы на комментарии</h5>
<?php
if (isset($replys)) {
foreach ($replys as $reply) : ?>
<p class="stat"><?php
echo '<span style="color:cadetblue;">' . ' ' . $reply['replyid'] . ' ' . '<-' . ' ' . '</span>';
//убираем смайлы
$patterns = '/(:([^>]+):)/U';
$replace = ' smile* ';
$clean = $reply['replytext'];
$text = preg_replace($patterns, $replace, $clean);
echo $text;
//время
$t = time($reply['replydate']);
echo '<span style="color:cadetblue;">' . ' ' . date("d.m.Y", "$t") . '</span>'; ?>
</p>
<?php endforeach;
} ?>
</div><!– END statthree –>
</div><!– END statwrap –>
<br />
<div class="return"><a href="/chat/admin/">Вернуться</a></div>
</body>
</html>
Страница функционально состоит из трех блоков:
• Блок с данными пользователей и формой поиска.
• Блок, отображающий комментарии.