О компании Цены Портфолио Контакты
 
 
CMS Хостинг PHP
Система управления сайтом
Система управления контентом сайта
Скрипт чата на PHP, Java или Flash
Создание HTML страниц
Создание гостевой
Создание подключаемых модулей
Как создать форум
Студия веб дизайна
Управление контентом
Фон на сайте
Форум PHPbb и PHP Nuke
Шаблоны сайтов
Шаблоны Java
Шаблоны веб страниц
Шаблоны php и html
Установка Perl
Сайт на PHP и Perl
Модули 1С
Контент система
Новости cms
Сделать сайт
Интернет чат, SMS-чат
html-шаблоны
htm-шаблоны сайтов п.2
Modul
Perl HTML
PHP Nuke модули
Сайт на PHP
Php форум, гостевая, чат
html-редакторы
интерфейсные модули
Лучшие CMS системы
Гостевая PHP,HTML, Java
Шаблоны дизайна
Продвижение сайтов
создание сайтов
баннерная реклама
Demo CMS
 
 

Создание гостевой книги: мир входящему!

Создание гостевой книги как неотъемлемой атрибутики сайта – одна из модных тенденций. «Сделать гостевую», «создаем гостевую», «создание гостевой книги», «гостевая книга создать» - множеством предложений пестрит современный Интернет. О том, что включает в себя создание гостевой, кратко приведено в статье.

Сделать гостевую с целью собрать отзывы о своем сайте стремится каждый, кто хочет услышать мнение других о своей работе. Объявления типа «создаем гостевую», «создание гостевой книги» и запросы «гостевая книга создать» не предвещают заведомо успешного результата.

Создание гостевой, прежде всего, обусловлено наличием определенного модуля. Следовательно, сделать гостевую можно путем подключения готового модуля или созданием подпрограммы, что может быть основано на мануалах типа «создаем гостевую» или «создание гостевой книги». Такой модуль, как гостевая книга создать «с нуля», без знаний основ PHP или PHPNuke не представляется возможным.

Если же создание гостевой привлекает Вас как сама реализация задачи, то сделать гостевую можно, предварительно ознакомившись не только с манулами «создаем гостевую», «создание гостевой книги» или с результатами поиска по запросу «гостевая книга создать», но и с готовыми решениями проблемы «Создание гостевой», то есть с уже написанными модулями.

Этот комплексный метод поможет Вам сделать гостевую самостоятельно, с учетом логических построений людей, которые уже прошли путь от запроса «гостевая книга создать» к, возможно, самостоятельному написанию руководства «создаем гостевую» или «создание гостевой книги» – известно, что лучше учесть ошибки предшественников.

Отказываться от создания гостевой по причине непонимания кода готовых решений, которые Вы нашли по запросу «гостевая книга создать», нет причин. Возможно, Вам попался неудачный пример, по которому действительно сделать гостевую нельзя. Множество рекомендаций Вы проанализируете, прежде чем сможете написать мануалы «создаем гостевую» или «создание гостевой книги», с которых в свое время начинали.

Корректное создание гостевой – трудоемкий процесс, а с учетом всех особенностей, сделать гостевую местом, приятным для посещения, можно не только осилив пособия «создаем гостевую» или «создание гостевой книги», но и умея ответить на запрос «гостевая книга создать» самостоятельно.

 

Создание гостевой книги

Ниже подробно описан процесс создания гостевой книги с неплохим набором функций. Гостевая книга написана на PHP с использованием текстовых файлов для хранения данных.

Итак, прежде всего нам необходимо разобраться с файлами. Их у нас будет четыре, хотя можно объединить и в один, но это уже вам решать...

Файл №1 - guestbook.inc.dat

Создадим его, оставим пустым, и укажем ему права (0777-*nix, rwx/rwx/rwx)

Сюда будут записываться все сообщения... Да-да!!! Именно в один файл! Но не пугайтесь :) Мной лично проверялось на всеми известном сервере WallSt. база данных размером в 5, 10, 100, 250, 500, 1000 Кб! Торможения были только на 1000 Кб книге, поверьте, это более 3000 средних записей! Вам хватит ее с лихвой :)

Создадим его, оставим пустым, и укажем ему права (0777-*nix, rwx/rwx/rwx)

Сюда будут записываться все сообщения... Да-да!!! Именно в один файл! Но не пугайтесь :) Мной лично проверялось на всеми известном сервере WallSt. база данных размером в 5, 10, 100, 250, 500, 1000 Кб! Торможения были только на 1000 Кб книге, поверьте, это более 3000 средних записей! Вам хватит ее с лихвой :)

Файл №2 – config.inc

<?
$gb_on_page = "10";//кол-во мессаг в гостевой на стр.
$name_max_size = "15"; // максимальная длина ника
$email_max_size = "50"; // максимальная длина мыла
$message_max_size = "1000";//максимальная длина сообщения
$recipient =”Name.Sirname@email.zone”;
$subject = "Новое сообщение на сайте";
$site_name = “Ваш сайт”;
?>

Файл №3 – gb.php

<html>

<head>
<title>Guestbook</title>
</head>
<body>
<!-- включаем вышеописанный файл -->
<? include(‘config.inc’); ?>
<!-- пишем форму для добавки сообщений -->
<!-- ниже указываем в свойствах формы защиту от повторного нажатия кнопки Submit -->
<form onSubmit="newmsg.Submit.disabled='true'" name='newmsg' action='gbadd.php' method=post>
<!-- для всех трех полей устанавливаются максимально возможные размеры для полей имени, адреса электронной почты и сообщения -->

*Имя:<input type=text maxlength="<? echo $name_max_size; ?>" name=name><br>
E-mail:<input type=text maxlength="<? echo $email_max_size; ?>" name=email><br>
*Сообщение:<br><textarea maxlength="<? echo $message_max_size; ?>" name=guesttext cols=42 rows=10></textarea><br>
<!-- ниже указано, что при нажатии кнопки Submit она станет недоступна, и взамен ее появится кнопка с надписью «ждите!!!» -->
<input type="Submit" onClick="newmsg.Submit.value='ждите!!!'" name="Submit" value="Отправить">
<input type="reset" value="Стереть"></form>
<!-- думаете это весь файл? :) нет, ошибаетесь… Сейчас начнется самое интересное! -->
<?
$data=file("guestbook.inc.dat");
$c=count($data);
if (!isset($page)) { $page=0; }
for ($i=$page*$gb_on_page;$i<$page*$gb_on_page+$gb_on_page;$i++)
{
   if($i>$c-1)break;
   list($name,$email,$date,$time,$guesttext)=split(":::","$data[$i]", 5);
   /* я нарочно не стал делать супер_мега_навороченных дизайнов, я лишь ограничусь простым выводом текста! Кому надо, тот легко поймет, что нужно делать! Кто не поймет, мыло будет ниже, посему читайте дальше… */
   echo "<a href=”mailto:$email”>$name</a> @ [$date, $time]<br>$guesttext<br><hr>";
}

$col=$c/$gb_on_page;
echo "<center>";
if ($c<$gb_on_page){ echo ""; }
else {
   echo "<b>Страницы: </b>";
   /* Здесь такая штука, что если можно перейти на предыдущую страницу, то показывается примерно что то вроде этого :) << [1] 2 */
   if($c>$gb_on_page & $page>0){ echo "<a href="gb.php?page=".($page-1).""><<</a>"; }

   /* Ниже функция, которая отвечает за вывод нумерации страниц с сообщениями… */

   for($i=0;$i<$col;$i++)
   {
      if(($i)!=$page)echo "[<a href="gb.php?page=$i">".($i+1)."</a>] ";
      else echo "<b><i>".($i+1)."</b></i>"." ";
   }
}


/* Здесь такая штука, что если можно перейти на следующую страницу, то показывается примерно что то вроде этого :)  1 [2] >>*/

if($c>$gb_on_page & $page<$col-1){ echo "<a href="gb.php?page=".($page+1)."">>></a>"; }
echo "<br>Всего сообщений: $c";
echo "</center></font>";
?>    
<!-- Уффффффффффф. Все! С этим файлом покончили, но остался главный, отвечающий собственно за добавление сообщения в гостевую книгу -->
</body>
</html>

Файл №4 -- gbadd.php

<?
include('config.inc');
/* укажем, что данные должны передаться скрипту из формы... иначе можно было бы отправить сообщение примерно таким образом:
http://myhost.ru/gb/gbadd.php?name=admine&email=you@#admin.com&guesttext=message_have_been_posted спасибо CompDocs */
$name=$_POST['name'];
$email=$_POST['email'];
$guesttext=$_POST['guesttext'];

if ($name !="" and $guesttext !="")

{
   $date=date('d.m.Y');
   $time=date('H:i');
   // заменяем двоеточия
   $guesttext = ereg_replace(":::",":::",$guesttext);
   $name = ereg_replace(":::",":::",$name);
   $email = ereg_replace(":::",":::",$email);
   // разрешим только шрифты, картинки и списки
   // теги как украшение
   $guesttext = ereg_replace("<", "<", $guesttext);
   $guesttext = ereg_replace(">", ">", $guesttext);
   $name = ereg_replace("<", "<", $name);
   $name = ereg_replace(">", ">", $name);
   $email = ereg_replace("<", "<", $email);
   $email = ereg_replace(">", ">", $email);
   // нет кавычкам! 2=DeaD= thanX!
   $name = ereg_replace(""", """, $name);
   $email = ereg_replace(""", """, $email);
   $guesttext = ereg_replace(""", """, $guesttext);
   // удаление лишних пробелов
   // в центре
   $guesttext=ereg_replace(" +"," ",$guesttext);
   $name=ereg_replace(" +"," ",$name);
   $email=ereg_replace(" +"," ",$email);
    //cправа и слева
    $name=trim($name);
    $email=trim($email);
   $guesttext=trim($guesttext);
   // перевод строки
   // чтобы весь текст был на одной строке!
   // мегакавычки
   $name = stripslashes($name);
   $email = stripslashes($email);
   $guesttext= stripslashes($guesttext);
   // правильные тире
   $guesttext = preg_replace ("/[ ]{1,}-[ ]{1,}/", " — ", $guesttext);
   $guesttext = preg_replace ("/^- /", "— ", $guesttext);
   // число-число
   $guesttext = preg_replace ("/(d)-(d)/", "–", $guesttext);
   // слова с дефисом
   $guesttext = preg_replace ("/(S+)-(S+)/", "<nobr>-</nobr>", $guesttext);
   // частицы и предлоги
   $guesttext = preg_replace ("/([А-Яа-яA-Za-z]) (ли|ль|же|ж|бы|б)([^А-Яа-яA-Za-z])/", ' ', $guesttext);
   $guesttext = preg_replace ("/(s)([А-Яа-я]{1})s/", ' ', $guesttext);
   // A.C. Пушкин
   $guesttext = preg_replace ("/([А-ЯA-Z])([. ]{1})[ ]{0,1}([А-ЯA-Z])([. ]{1})[ ]{0,1}([А-ЯA-Z][А-Яа-яA-Za-z]*)/", '. . ', $guesttext);
   // Пушкин А. С.
   $guesttext = preg_replace ("/([А-ЯA-Z][А-Яа-яA-Za-z]*) ([А-ЯA-Z])[. ]{1}[ ]{0,1}([А-ЯA-Z]).([, )]{1})/", ' . .', $guesttext);
   // преобразовываем адреса в ссылки!
   $guesttext = eregi_replace("([_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3}))", "<a href="mailto:   $guesttext = eregi_replace("((ht|f)tp://www.|www.)([a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})((/|?)[a-z0-9~#%&/'_+=:?.-]*)*)", "http://www.", $guesttext);
   $guesttext = eregi_replace("((ht|f)tp://)((([a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3}))|(([0-9]{1,3}.){3}([0-9]{1,3})))((/|?)[a-z0-9~#%&'_+=:?.-]*)*)", "<a href="
   // делаем "обрезание" слишком большого куска информации
   $name=substr($name,0,$name_max_size);
   $email=substr($email,0,$email_max_size);
   $guesttext=substr($guesttext,0,$message_max_size);

   // BBcodes
   $guesttext = ereg_replace("[b]", "<b>", $guesttext);
   $guesttext = ereg_replace("[/b]", "</b>", $guesttext);
   $guesttext = ereg_replace("[i]", "<i>", $guesttext);
   $guesttext = ereg_replace("[/i]", "</i>", $guesttext);
   $guesttext = ereg_replace("[u]", "<u>", $guesttext);
   $guesttext = ereg_replace("[/u]", "</u>", $guesttext);
   $guesttext = ereg_replace("[red]", "<font color="red">", $guesttext);
   $guesttext = ereg_replace("[/red]", "</font>", $guesttext);
   $guesttext = ereg_replace("[green]", "<font color="green">", $guesttext);
   $guesttext = ereg_replace("[/green]", "</font>", $guesttext);
   $guesttext = ereg_replace("[blue]", "<font color="blue">", $guesttext);
   $guesttext = ereg_replace("[/blue]", "</font>", $guesttext);
   $guesttext = ereg_replace("[yellow]", "<font color="yellow">", $guesttext);
   $guesttext = ereg_replace("[/yellow]", "</font>", $guesttext);

   // отправка сообщения на мой электронный адрес
   // сообщение
   $message .="Сообщение из гостевой книги";
   // заголовки
   // отправляем все нафиг!
   mail($recipient, $subject, $message, $headers);

   $msg="$name:::$email:::$date:::$time:::$guesttext ";
   $lines = file("guestbook.inc.dat");
   $fp = fopen("guestbook.inc.dat", "w");
   for ($i = 0; $i < count($lines); $i++)
   {
      @fwrite($fp, "$lines[$i]");
   }
   fclose($fp);
   clearstatcache();
}

// если не удалось, отсылаем его обратно!
else
{
   header("Location: gb.php");
}

?>
<!-- какой то умник пытается нас сломать :) пошел он на индекс :) -->
<html>
<body onload='window.location="gb.php?page=0"'>
</html>

   
О компании Цены Портфолио Контакты
   
    
зажигалки |  поиск | доска объявлений | новости | анекдоты | знакомства | гороскопы | путешествия | автомобили | работа | ремонт компьютеров | компьютерные курсы | контекстная реклама | мебель | недвижимость | хостинг