Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

Сборник скриптов на PHP

Гостевая - это просто

То, что знать мнения других о себе и о своем детище иногда полезно, никто не спорит. Когда сайт крепко становится на ноги, и выходит из стадии младенчества, 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 в разделе Гостевая.











helloworld.ru © 2001-2021
Все права защищены
Rambler's Top100