|
||
|
||
Гостевая – это просто |
||
То, что знать мнения других о себе и о своем детище иногда полезно, никто не спорит. Когда сайт крепко становится на ноги, и выходит из стадии младенчества, Web-мастер задается вопросом – как бы мне узнать, что именно хотят мои посетители, что волнует их и что не нравится на сайте? Все эти вопросы легко исследовать, установив гостевую книгу. Именно этим мы сейчас и займемся. Для начала Вам нужен сайт, размещенный на хостинге, где поддерживается гипертекстовый препроцессор РНР. Это – очень простой и несложный язык программирования, и именно на нем и будет написана наша гостевая книга. Все, что понадобиться, это два файла. В первом будут размещены форма для ввода данных и сам скрипт гостевой, а во втором – храниться результаты введенных данных в специальном формате. Давайте обзовем их соответственно guest.phtml и guest.txt. Не забывайте, что после закачки на сервер этих двух файлов на файл с результатами (guest.txt) нужно будет установить атрибуты, разрешающие запись в файл. Сделать это можно практически в любом из FTP-менеджеров, проверив атрибуты уже закачанного на сервер файла, и установив в настройках все галочки. Теперь перейдем непосредственно к коду. Напоминаю, он должен быть введен в файл guest.phtml. Для начала, делаем форму для ввода данных. Оформить Вы сможете ее сами по собственному вкусу, так что я сосредоточусь на сути. <h2>Гостевая книга</h2> <form action=guest.phtml method=post> Введите email: <INPUT TYPE=TEXT NAME=email><BR> Ваше имя: <INPUT TYPE=TEXT NAME=name><BR> Сообщение: <br><textarea name="msg" rows=10 cols=40></textarea> <br><input type=submit value="Отправить "> <br><br> Только что мы определили форму с тремя полями – адрес (переменная email), имя (переменная name) и сообщение (переменная msg). После того, как посетитель введет данные, и нажмет на кнопку Отправить, все эти переменные будут доступны нашему скрипту, причем значение переменных будет соответствовать введенным данным. Теперь нужно все это обработать. <? $files = "guest.txt"; $qq=50; Мы определились с именем файла, куда будем писать данные и с максимальным количеством сообщений, которое может быть выведено на экран. if ($email == "") { $email = "нет"; } $msg=substr($msg,0,999); $email=substr($email,0,39); $name=substr($name,0,39); Здесь введенные данные обработаны таким образом, что бы переменная адреса не была пустой (то есть если туда ничего не ввели, она была равна строке “нет”). А так же каждая введенная переменная обрезается, что бы ограничить количество вводимых символов. Это нужно для защиты от баловства, когда в книгу начинают вводить массу информации, которая никому не нужна. if ($msg != "" && $name != "") { Очень важный момент: если сообщение или имя не указаны вообще, скрипт ничего никуда не записывает, а просто продолжит обработку дальше, где выведет сообщения гостевой книги на экран. Но если и имя и сообщение введены, скрипт прежде чем вывести данные на экран, должен сделать запись отформатированных данных в файл для сообщений. $time = Date("h:i:M:d"); $soo = "\n<b>$time $name (<a href=\"mailto: $email \"> $email </a>)</b><br> $msg<hr>"; $fp = fopen($files, "a+"); $fw = fwrite($fp, $soo); fclose($fp); } Вначале определяется и форматируется время, когда вводится сообщение. Потом формируется строка для записи в файл. Она представляет из себя последовательность нужных переменных, отформатированных тегами HTML. За счет этого нам дальше будет очень легко просматривать архив сообщений и выводить на экран нужный промежуток (если количество сообщений превысит сотню, вы это оцените – очень удобно поставить ссылку, и смотреть сообщения с 50-го по 80-е, например). После того, как строка для записи подготовлена, она записывается в файл. Дальше – вывод результатов записи. Обратите внимание, что в первый раз, когда посетитель попадает на страничку гостевой, идет обработка сразу этого кода, так как переменные имени и сообщения пусты. $lines = file($files); $a = count($lines); $u = $a - $qq; for($i = $a; $i >= $u ;$i--) { echo $lines[$i]; } ?> Тут все очень просто. В массив считывается файл сообщений, и в цикле выводятся на экран его содержимое. Если количество сообщений превысило наше ограничение, они просто не показываются. Причем – новые сообщения всегда вверху, около формы для вода, так как вывод идет снизу вверх по индексу массива. Это очень удобно, но при желании может быть изменено. Вот и все! В файл для сообщений ничего записывать не нужно – он будет заполняться по мере ввода данных. Архив сообщений всегда будет доступен, если Вы поставите ссылку <a href=guest.txt>архив</a>. Нужно заметить, что код не учитывает ввод посетителем тегов HTML. Но это уже несколько иная задача, и сделать это легко, если только нужно. Использоваться этот скрипт может в любом месте, где нужно узнать мнение посетителей например, о статье, о новостях и т.д. Так же это – простейший форум. И еще – взять в Интернете готовый код и эту статью можно по адресу http://virtual.bresttelecom.by/guest.zip. А посмотреть как все это работает на деле – по адресу http://virtual.bresttelecom.by в разделе Гостевая. Андрей Кухарчик
|
||
|
||
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |