Дмитрий Приходько

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


Скачать книгу

какие таблицы созданы.

      На данном этапе БД не нужна, поэтому удаляем. В phpMyAdmin:

      – выбираем базу «beseder»;

      – жмём кнопку «Операции»;

      – жмем кнопку «Удалить базу данных (DROP)».

      Для того чтобы выполнять удаление не входя в phpMyAdmin средствами PHP, создаем файл «drop» и размещаем его также в папке «admin». Теперь можно будет удалять базу переходя по адресу: news/chat/admin/drop.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