Чтение онлайн

ЖАНРЫ

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: /');//переходим на главную страницу

В

этом скрипте мы сначала подключаемся к нашей базе данных beseder, а затем выполняем SQL запрос DROP DATABASE удаляющий все таблицы в указанной базе данных и саму базу. В результате выполнения данного оператора база удаляется полностью.

*файл подключения к БД 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

Конец ознакомительного фрагмента.

Поделиться с друзьями: