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

Шрифт
Интервал


saydate – дата добавления комментария;

Мне кажется в этих двух таблицах все понятно, вопросов быть не должно.

Для администрирования создаем три таблицы: «users», «authorrole», «role».

Таблица «users», будет содержать следующие данные:

id – уникальный номер пользователя;

login – логин пользователя;

password – пароль пользователя;

email – адрес электронной почты пользователя;

img – адрес расположения аватара пользователя;

activation – проверка активации пользователя;

date – дата регистрации пользователя.

Для идентификации автора комментария, поле «id» таблицы «users» будет в запросах к бд связываться с полем «userid» таблиц «say» и «reply»

Таблица «role» будет содержать следующие данные:

id – роль (права) пользователя;

description – описание прав пользователя;

Таблица «authorrole» – промежуточная и будет содержать следующие данные:

authorid – id пользователя;

roleid – роль (права) пользователя;

Таблица «authorrole» связывает пользователей «users» и их права «role»

Для смайлов создаем таблицу «smiles». Таблица будет содержать следующие данные:

id – id смайла;

smile – условное обозначение смайла;

path – путь к смайлу.

Пишем файл, создающий базу данных и необходимые таблицы. Назовем этот файл «createbase.php» и разместим в папке «admin». Сохраняем в формате php.


Листинг 4. createbase.php Путь: news/admin/createbase.php


error_reporting(E_ALL);//включаем вывод ошибок


/* 1. Создаем переменные подключения */


$host = "localhost"; /* Имя хоста */


$root = "root"; /* Имя пользователя БД */


$root_password = ""; /* Пароль к БД */


$db = "beseder"; /* название БД */


/* 2. Создаем базу данных */

try {

$dsn = new PDO("mysql:host=$host", $root, $root_password);

$dsn->exec("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8 COLLATE utf8_general_ci;");

echo 'База создана (OK!)
' . ' Имя БД: ' . '' . $db . '' . '
Пользователь: ' . '' . $root . '';

} catch (PDOException $e) {

echo $e->getMessage();

echo $e->getLine();

exit('Ошибка при создании базы');

}


$dsn = null;//обнуляем подключение


/* 3. Формируем запросы для создания таблиц */


try {

$dsn=newPDO("mysql:host=$host;dbname=$db",$root,root_password);//подключаемся к созданной БД

$dsn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


/* Нумерация страниц */


$sql_page = "CREATE TABLE IF NOT EXISTS page (