© Copyright
Алекс aka TrigGer & x-graphic
studio.
© Все права защищены.
Перепечатка
материалов разрешается, только после письменного разрешения автора (e-mail).
При перепечатке любого материала с журнала видимая ссылка на источник www.kovrik.hut.ru
и все имена, ссылки авторов обязательны.
Маленькая
баннерная сеть каждому
Рекомендации
по продвижению малых сайтов
Фреймы
в HTML документах
О
композиции в дизайне
"Пятый
элемент" для web-сайта
Введение
в Java Script
Скрипт
показа баннеров на PHP4
Импортирование
информации с чужого сайта на свой сайт в свой дизайн
Сплошное
покемонство (часть1)
Сплошное
покемонство (часть2)
Сплошное
покемонство (часть 3)
Сплошное
покемонство (часть4)
*** WEB Star #3 Programming
"Пятый элемент" для web-сайта.
Автор:
Алекс aka TrigGer
Источник: kovrik.hut.ru
В
этой статье пойдет речь о том, как создать своими руками гостевую книгу. По
этой теме есть много информации в Сети, но я предлагаю создать вам гостевую
(хотя и простенькую) самим, которая бы работала (протестировано на HUT.RU).
Конечно, в Сети можно скачать и готовую гостевую или зарегистрироваться на
специальном сайте, чтобы сделать себе гостевую бесплатно (www.guestbook.ru).
Но все-таки приятно сделать что-нибудь самому. Пусть эта простая гостевая
станет для вас шаблоном и по ней вы можете в дальнейшем создавать другие гостевые.
Хотя, не смотря на небольшие возможности гостевой (такие как проверка пароля
админа, редактирование, удаление сообщений, настраиваемый дизайн). Насчет
настройки дизайна - тут вам придется повозиться в ручную с файлами и сделать
такой, какой вам надо. Никакого web-интерфейса по настройке дизайна нет. Это
и к лучшему - скрипт меньше.
Приступим. Наша гостевая будет состоят из нескольких файлов. А именно:
Allfunc.php - содержит основные функции гостевой.
Edit.php - правка и удаление сообщений.
Footer.inc - отвечает за вставку копирайтов.
Gb.php - основной файл обработчик гостевой книги.
Index.html - главный файл гостевой книги, содержащий форму гостевой. На этот
файл надо делать ссылку, так как он самый основной.
Msgs.dat - файл с сообщениями.
Setup.php - файл конфигурации гостевой.
Style.txt - файл стилей гостевой.
Запомните, что все имена файлов надо писать с маленькой буквы.
Ну что ж приступим к рассмотрению файла index.html.
Как мы видим из листинга код файла очень прост. Тут ничего сложного нет. Несколько
замечаний по тегу <style type="text/css">…</style>.
В этот тег вставлен стиль, который описывает, как должен выглядеть скролл-бар
у браузера. Вы можете сделать его любым. Так что останавливаться не будем.
Данные из формы передаются файлу обработчику gb.php. Также в начале файла
стоит комментарий по вставке файла style.txt, который отвечает за дизайн страниц
(ђ#include virtual="style.txt"). Вроде бы все переходим далее.
Листинг файла gb.php. Самое
начало пропускаем, так как идут html-теги. Они нам не интересны. Переходим
к скрипту. В начале у нас инклудиться style.txt, который отвечает за дизайн
(<?php include("style.txt);?>) Далее опять идет инклуд файлов allfunc.php
и setup.php, и так называемая аутентификация пользователя, а именно его IP.
if( (!isset($message)) && (!isset($name)) && (!isset($step))
)
echo("Ошибка! Вы не указали свое имя или сообщение!");
Эта строка отвечает за вывод ошибки.
Далее идет добавление сообщения, если, конечно, не было ошибки. Выводим форматированное
имя, e-mail, url и само сообщение. Далее добавляем внизу дату, месяц, год
и время (час и минута). Затем открываем datfile, которым у нас является msgs.dat
и записываем информацию в файл (fwrite($log,"$dan\n");). Затем закрываем
файл - это строка fclose($log); И выводим надпись: "Ваша запись успешна
добавлена в гостевую книгу! Спасибо за визит! Прочитать ее можно здесь. На
слово "здесь" ставим ссылку.
Далее идет вывод сообщения на страницу, если, конечно, не было ошибки. Надеюсь
сами разберетесь. Хочу сказать, что в начале этот пункт у нас обозначен, как
step=view. Это ссылка, по которой можно смотреть записи без добавления сообщения
в гостевую. Начало стандартное - открываем msgs.dat. Проверяем сколько их.
Если их больше одной, то генерируем ссылку на вторую, третью и т.д. страницы.
И выводим общее число сообщений в гостевой книге. Далее выводим надпись: "ДОБАВИТЬ
ЗАПИСЬ" и ставим ссылку на форму. Далее уже генерируем лист и выводим
сообщения имеющиеся у нас в файле msgs.dat. И в низу выводи общее количество
записей в гостевой. Надеюсь понятно! :-)
Далее идет шаг правки сообщения (step=edit). В принципе это тоже ссылка, но
только для админа, который следит за гостевой и простым пользователям знать
о существовании этого шага не обязательно. В начале проверям правильность
пароля и выводим сообщение : "В доступе отказано". Это так для понта.
Кстати, на этот шаг можно выйти из браузера, если набрать следуещее: www.domen.ru/directory/guestbook/gb.php?step=edit.
Далее, после надписи, выводим форму для введения пароля. Это для админов!!!
Далее выводим сообщения для админа и делаем формы для правки и удаления сообщения.
Под правкой я понимаю внесение изменение в текст самого сообщения и ответ
на это сообщение.
Ну и самый низ - это инклудим footer.inc. Все с этим файлом разобрались.
Идем далее. Смотрим файл allfunc.php.
В этом файле содержаться основные функции гостевой, а в частности проверка
инфы на вшивость, то есть - это обрезание html-тэгов, кавычек, слэшей и так
далее. Чтобы люди не баловались.
Рассмотрим по подробней. Первая функция - это обрезание html тэгов. В строке
($string) обрезаем &, <, >, \, \" и приравниваем их к таким
значениям, как: &, ", <, >. Так как тэги, кавычки,
слэши можно написать не только символами, но еще и буквами. Вот это и называется
проверка инфы на вшивость. Приравняли, обозначили, что нам не надо, теперь
самое время каленым железом выжечь их из сообщения. Вот эта запись: for(reset($html);
$key=key($html); next($html)) {
$string = str_replace("$key","$html[$key]",$string);
}
return $string;
}
А далее все практически одинаково. Так что я не вижу смысла рассматривать
все это подробнее.
Переходим к файлу edit.php.
Тэги описывать не буду, перейдем к самому скрипту. В начале инклудим allfunc.php
и setup.php. Тут все понятно. Далее выводим надпись "Администрирование",
затем проверяем пароль на правильность. После того, как мы удалили или ответили
на сообщение выводим сообщение о том, что сообщение отредактировано, и выводим
ссылки. Это после редактирования. А далее выводим все имеющиеся сообщения
в нашей гостевой книге в специально для этого созданные формы, где мы можем
их редактировать или удалять. Файл по своим размерам небольшой и половина
функций находиться в gb.php. Так что на этом закончим. Ну а в самом внизу
опять инклудим footer.inc и закрываем скрипт.
Переходим к footer.inc.
Здесь все просто - всего лишь одна ссылка и надпись copyright. Вместо имени
можете подставить свое или название организации это не принципиально.
Идем дальше. Setup.php.
Этот файл содержит у нас небольшой скрипт, который отвечает за некоторые функции,
как, то в нем содержится пароль администрирования ( его можно поменять на
свой); название файла, который содержит сообщения и в который производиться
запись - это у нас msgs.dat (название тоже можете придумать свое); и строка
содержащее форматирование таблицы с сообщением. Вот и все.
Style.txt. Этот файл создан
для удобства. Для какого?.. Да очень просто - нам не надо на каждой странице
писать тэг style и вписывать в него какими у нас должны быть ссылки, ссылки
при наведении, активные ссылки, какого цвета у нас будет скролл-бар и так
далее. Все это можно написать один раз, а потом в скриптах его инклудить в
самом начале. Надеюсь понятно.
С рассмотрением самого скрипта гостевой мы закончили. А теперь я хотел бы
сказать пару слов об установке и о смене дизайна в гостевой. Как вы уже убедились,
что гостевая самая простая и без наворотов, так что, если вам захочеться втиснуть
в форму какие графические файлы, то вам придеться немного подумать головой
и поработать руками. Это тоже касается смены дизайна гостевой, смены цветов
задника, цвета ссылок, цвета букв, размеров шрифта, смена шрифта. Для всего
этого вам придется просмотреть гостевую в ручную и внести нужные вам изменения,
но сам скрипты не советую менять. Лучше измените дизайн, а само тело гостевой
не трогайте - гостевая целее будеть :-). Это что касается смены дизайна.
Как установить. Все очень просто - закачиваем на хостинг и выставляем следующие
chmod'ы:
На все файлы с расширением .php, .inc, .txt - ставим chmod 755
А на файл msgs.dat - chmod 664.
Chmod ставиться так: в строке пишем chmod 755 name_file.php и нажимаем Enter.
Все теперь можете пользоваться. Если что-то вам не понятно пишите, разберемся.
Удачи!