В этом примере в увидите как создать свою гостевую книгу с анти спам защитой, такой как математическая Captcha в которой пользователю нужно решить простые примеры, например сложения двух чисел и записать соответствующий ответ в форму ввода, В создаваемой нами гостевой книге мы будем использовать объектно ориентированный подход в php, а для хранения информации базу данных MySQL.
Шаг-1 И первым действием будет создания необходимых таблиц в базе данных в которых в дальнейшем будет храниться информация, для этого выполните SQL запрос который представлен ниже.
-- -- Структура таблицы `s_guestbook` -- CREATE TABLE `s_guestbook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ip` varchar(16) NOT NULL DEFAULT '', `name` varchar(32) NOT NULL DEFAULT '', `message` text NOT NULL, `when` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
Шаг-2 Теперь определим стили внешнего вида гостевой книги, создайте новый CSS файл с именем main.css и скопируйте в него набор стилей ниже.
body { background:#eee; font-family:Verdana, Helvetica, Arial, sans-serif; margin:0; padding:0; } .example { background:#FFF; width:625px; font-size:80%; border:1px #000 solid; margin:3.5em auto 2em; padding:1em 2em 2em; } .post { border:1px #DDD dashed; margin:5px;
padding:5px; font-size:11px;
width:95%; } .example form div { margin-bottom:5px; }
Шаг-3 И вот теперь приступим к самому PHP, далее будет представлено листинги php файлов которые осуществляют работу создаваемой нами гостевой книги.
index.php
Этот файл выполняет показ форм ввода и Captcha, а также проверяет правильность введённых данных и если всё верно, выводит ваше сообщение и 14 последних.
guestbook.inc.php
Этот файл является библиотекой классов для нашей гостевой книги. Он содержит необходимые функции addPost — для добавления новых сообщений, getAllPosts – возвращает нам последние 15 записей из базы данных, getMathCaptcha – генерирует capthca, getVisitorIp – получает IP посетителя. На этом всё.