Евгений Кононов (ВЕК)
Конечная











Главная    Новости и объявления    Круглый стол    Лента рецензий    Ленты форумов    Обзоры и итоги конкурсов    Диалоги, дискуссии, обсуждения    Презентации книг    Cправочник писателей    Наши писатели: информация к размышлению    Избранные произведения    Литобъединения и союзы писателей    Литературные салоны, гостинные, студии, кафе    Kонкурсы и премии    Проекты критики    Новости Литературной сети    Журналы    Издательские проекты    Издать книгу   
Литературный конкурс юмора и сатиры "Юмор в тарелке"
Положение о конкурсе
Буфет. Истории
за нашим столом
КО ДНЮ СЛАВЯНСКОЙ ПИСЬМЕННОСТИ И КУЛЬТУРЫ
Лучшие рассказчики
в нашем Буфете
Раиса Лобацкая
Будем лечить? Или пусть живет?
Юлия Штурмина
Никудышная
Английский Клуб
Положение о Клубе
Зал Прозы
Зал Поэзии
Английская дуэль
Вход для авторов
Логин:
Пароль:
Запомнить меня
Забыли пароль?
Сделать стартовой
Добавить в избранное
Наши авторы
Знакомьтесь: нашего полку прибыло!
Первые шаги на портале
Правила портала
Размышления
о литературном труде
Новости и объявления
Блиц-конкурсы
Тема недели
Диалоги, дискуссии, обсуждения
С днем рождения!
Клуб мудрецов
Наши Бенефисы
Книга предложений
Писатели России
Центральный ФО
Москва и область
Рязанская область
Липецкая область
Тамбовская область
Белгородская область
Курская область
Ивановская область
Ярославская область
Калужская область
Воронежская область
Костромская область
Тверская область
Оровская область
Смоленская область
Тульская область
Северо-Западный ФО
Санкт-Петербург и Ленинградская область
Мурманская область
Архангельская область
Калининградская область
Республика Карелия
Вологодская область
Псковская область
Новгородская область
Приволжский ФО
Cаратовская область
Cамарская область
Республика Мордовия
Республика Татарстан
Республика Удмуртия
Нижегородская область
Ульяновская область
Республика Башкирия
Пермский Край
Оренбурская область
Южный ФО
Ростовская область
Краснодарский край
Волгоградская область
Республика Адыгея
Астраханская область
Город Севастополь
Республика Крым
Донецкая народная республика
Луганская народная республика
Северо-Кавказский ФО
Северная Осетия Алания
Республика Дагестан
Ставропольский край
Уральский ФО
Cвердловская область
Тюменская область
Челябинская область
Курганская область
Сибирский ФО
Республика Алтай
Алтайcкий край
Республика Хакассия
Красноярский край
Омская область
Кемеровская область
Иркутская область
Новосибирская область
Томская область
Дальневосточный ФО
Магаданская область
Приморский край
Cахалинская область
Писатели Зарубежья
Писатели Украины
Писатели Белоруссии
Писатели Молдавии
Писатели Азербайджана
Писатели Казахстана
Писатели Узбекистана
Писатели Германии
Писатели Франции
Писатели Болгарии
Писатели Испании
Писатели Литвы
Писатели Латвии
Писатели Финляндии
Писатели Израиля
Писатели США
Писатели Канады
Положение о баллах как условных расчетных единицах
Реклама
SetLinks error: Incorrect password!

логотип оплаты
Визуальные новеллы
.
Произведение
Жанр: Публицистика и мемуарыАвтор: Андрей Рыжов
Объем: 3761 [ символов ]
Рыба 1
Сегодня я попытаюсь рассказать вам о том, как написать гостевую книгу на PHP и MySQL. Ничего сложного в этом нет, да и возможности данной гостевой не очень большие: постраничный вывод записей, возможность удалять записи.
 
Допустим, что у вас уже есть PHP, MySQL и веб-сервер. Вы все установили и настроили.
 
Начнем с создания таблицы, в которой будут храниться данные нашей гостевой книги. Будем спрашивать у пользователя имя и комментарий. При желании пользователь сможет сообщить адреса электронной почты и домашней странички. Для администрирования книги нам понадобится еще одно поле, уникальное для каждой записи, - идентификатор. Ну и дата, конечно. В итоге получается такая таблица:
 
CREATE TABLE gb (
id int(10) unsigned NOT NULL auto_increment,
datetime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
name varchar(100) NOT NULL,
email varchar(100),
www varchar(100),
message text NOT NULL,
PRIMARY KEY (id)
);
 
Таблица у нас есть. Теперь можно приступать к программированию.
 
Для начала определим константы, которые понадобятся нам в дальнейшем:
 
<?
/*
* defines.php -- константы
*/
 
// общие константы
define('PATH', '/gb/'); // путь к гостевой книге
define('RECSPERPAGE', 10); // количество записей на одной странице
 
// Параметры БД
define('DBHOST', 'localhost'); // имя хоста
define('DBUSER', 'root'); // имя пользователя
define('DBPASSWD', 'root'); // пароль
define('DBNAME', 'test'); // имя базы данных
?>
 
Напишем модуль для работы с СУБД MySQL. Я вынес все функции работающие с MySQL в отдельный модуль, чтобы их можно было легко переписать при смене СУБД. Думаю, комментариев в исходнике будет достаточно.
 
<?
/*
* bd.php -- работа с MySQL
*/
 
// подключение к СУБД и открытие базы данных
function db_connect($host, $user, $passwd, $dbname)
{
$link = @mysql_connect($host, $user, $passwd) or
die('Не могу подключиться к серверу баз данных');
@mysql_select_db($dbname) or die('Не могу открыть базу данных «'.$dbname.'»');
return $link;
}
 
// запрос к БД
function db_query($query)
{
$result = @mysql_query($query) or die('Не могу сделать запрос к базе данных');
return $result;
}
 
// получение текущей записи результата в виде массива
function db_fetch_array($result)
{
return mysql_fetch_array($result);
}
 
// уничтожение результата
function db_free_result($result)
{
return mysql_free_result($result);
}
 
// получение числа записей (строк) в результате
function db_num_rows($result)
{
return mysql_num_rows($result);
}
?>
 
Для написания нормальной гостевой книги нам понадобятся еще две библиотеки. Первая - работа со строками:
 
<?
/*
* strings.php -- функции для работы со строками
*/
 
//проверяет является ли строка адресом e-mail
function strings_isemail($string)
{
return ereg(
'^([a-zA-Z0-9_]|-|.)+'.
'@'.
'([a-zA-Z0-9_]|-|.)+'.
'[a-zA-Z]{2,4}$',
$string);
}
 
//добавление ссылок на http и e-mail
function strings_addlinks($string)
{
$string = ereg_replace("(http://[a-zA-Z0-9_.#%?/&=-]* )",
"<a href="1">1</a>", $string);
$string = ereg_replace("(([a-zA-Z0-9_]|-|.)+@([a-zA-Z 0-9_]|-|.)+[a-zA-Z]{2,4})",
"<a href="mailto:1">1</a>", $string);
 
return $string;
}
 
// чистка строки
function strings_clear($string)
{
$string = stripslashes($string); //восстановление кавычек после формы
$string = htmlspecialchars($string); //замена специальных символов их кодами
//замена апострофа его кодом (нужно для того, чтобы нормально работали запросы)
$string = str_replace("'", "'", $string);
$string = trim($string); //снос ве%E
Дата публикации: 04.12.2007 09:34
Предыдущее: Тест Ужас

Зарегистрируйтесь, чтобы оставить рецензию или проголосовать.

Рецензии
Юрий Мудренко (Юрий Star)[ 11.11.2007 ]
   Уважаемый, будьте так любезны ответить мне, где девять моих произведений, которые сегодня исчезли с моей странички и сайта?
   И еще, Вы проигнорировали мой давний вопрос к Вам в вашей гостевой книге.

Литературный конкурс памяти Марии Гринберг
Предложение о написании книги рассказов о Приключениях кота Рыжика.
Татьяна В. Игнатьева
Закончились стихи
Наши эксперты -
судьи Литературных
конкурсов
Татьяна Ярцева
Галина Рыбина
Надежда Рассохина
Алла Райц
Людмила Рогочая
Галина Пиастро
Вячеслав Дворников
Николай Кузнецов
Виктория Соловьёва
Людмила Царюк (Семёнова)
Павел Мухин
Устав, Положения, документы для приема
Билеты МСП
Форум для членов МСП
Состав МСП
"Новый Современник"
Планета Рать
Региональные отделения МСП
"Новый Современник"
Литературные объединения МСП
"Новый Современник"
Льготы для членов МСП
"Новый Современник"
Реквизиты и способы оплаты по МСП, издательству и порталу
Организация конкурсов и рейтинги
Шапочка Мастера
Литературное объединение
«Стол юмора и сатиры»
'
Общие помышления о застольях
Первая тема застолья с бравым солдатом Швейком:как Макрон огорчил Зеленского
Комплименты для участников застолий
Cпециальные предложения
от Кабачка "12 стульев"
Литературные объединения
Литературные организации и проекты по регионам России

Шапочка Мастера


Как стать автором книги всего за 100 слов
Положение о проекте
Общий форум проекта