PHP. Разработка модуля комментариев для сайта
Шрифт:
Листинг 5. drop.php Путь: news/chat/admin/drop.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/chat/dsn.php';
try {
$sql = 'DROP DATABASE beseder';
$s = $dsn->exec($sql);
} catch (PDOException $e) {
echo $e->getMessage;
exit('Ошибка подключения к базе данных');
}
header('Location: /');//переходим на главную страницу
В
*файл подключения к БД dsn.php будет рассмотрен в следующем разделе.
5. Файл подключения к базе данных
Теперь нужен файл, при помощи которого можно будет создавать подключения к БД. В корне папки «chat» создаем файл «dsn.php» со следующим содержимым:
Листинг 6. dsn.php Путь: news/chat/dsn.php
<?php
try {
$dsn = new PDO('mysql:host=localhost;dbname=beseder', 'root', '');
$dsn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dsn->exec('SET NAMES "utf8"');
} catch (PDOException $e) {
echo $e->getMessage;
echo $e->getLine;
exit;
}
Он будет вставляться в те PHP файлы, где потребуется обращение к базе данных.
Внимание! В строке подключения к БД:
$dsn = new PDO('mysql:host=localhost;dbname=beseder', 'root', '');
необходимо вставить соответствующие значения: имя хоста, имя БД, имя пользователя, пароль пользователя, если они отличны от используемых по умолчанию
Выводу ошибок PDO::ATTR_ERRMODE задаем режим выброса исключений PDO::ERRMODE_EXCEPTION свойства которого будут отражать код ошибки и ее описание. Этот режим полезен при отладке, так как сразу известно, где в программе произошла ошибка. Это позволяет быстро локализовать и решить проблему. Режим исключений также полезен, так как дает возможность структурировать обработку ошибок более тщательно, нежели с обычными предупреждениями PHP, а также с меньшей вложенностью кода, чем в случае работы в тихом режиме с явной проверкой возвращаемых значений при каждом обращении к базе данных [7]. Устанавливаем кодировку обращения к БД по умолчанию как UTF-8.
6.
Установка
администратора
базы данных
Теперь необходимо установить «Администратора» базы данных, т.е. пользователя сайта которому разрешены операции с базой данных. Для этого в папке «admin» создаем
подпапку «users», в которой будут находиться файлы по работе с пользователями.Задавать данные администратора удобнее через форму. В папке «users» создаем файл «form_create_admin.php». Это обычная HTML форма.
Расширение для этого и всех последующих HTML файлов, содержащих php код, принимаем как .php
Делается это затем, что лучше лишний раз подстраховаться, на предмет сохранения работоспособности кода в той конфигурации, в которой программа будет работать, а не в той, в которой она разрабатывается. Это замечание касается обработки PHP кода в HTML файле на хостинге.
Листинг 7. form_create_admin.php Путь: /news/chat/admin/users /form_create_admin.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="#" />
<title>Установить администратора</title>
</head>
<body>
<h2>Установить администратора</h2>
<form class="adminform" action="" method="post">
Введите учетные данные Администратора
<div class="label">
<label for="name">Логин:
<input type="text" name="login" id="login">
</label>
</div>
<hr>
<div class="label">
<label for="password">Пароль:
<input type="password" name="password" id="password">
</label>
</div>
<hr>
<i>Для запуска базы данных введите данные,
в дальнейшем вы сможете поменять их в разделе администрирования</i>
<div class="runcreateadmin">
<input type="hidden" name="action" value="start">
<input type="submit" value="Отправить">
</div>
</form>
</body>
</html>
В этой форме устанавливается логин и пароль администратора и передаются на обработку.
В дальнейшем в целях безопасности передаваемых формами данных их необходимо будет предварительно подготовить. Создаем вспомогательный файл «clean.php» и размещаем в папке «admin». Подготовка осуществляется функциями:
htmlspecialchars – преобразует специальные символы в HTML-сущности;
stripslashes – удаляет экранирующие символы.
Листинг 8. clean.php Путь: news\chat\admin\clean.php
Конец ознакомительного фрагмента.