На главную Статьи Письмо мне Скрипт Гостевой книги на Народе

Список необходимой литературы

Гостевая книга на JavaScript, разве такое возможно? Я отвечу Вам: ДА! Все, что Вам нужно - это базовые знания Интернет-технологий и основы Web-программирования. Специально для Вас я составил небольшую подборку полезной литературы, по которой Вы сможете уверенно освоить все тонкости создания скриптов и программ для сети Интернет.


Общие сведения

Сервер Narod.ru предоставляет своим пользователям стандартную, встроенную Гостевую книгу. Для ее создания зайдите в свою "Мастерскую" и в разделе "Общение" нажмите на ссылку "Гостевая книга". В открывшейся странички можно увидеть адрес вашей будущей Гостевой книги. Он выглядит так: http://www.narod.ru/guestbook/?owner=xxxx, где вместо xxxx указан уникальный номер вашей Гостевой. Если ссылаться по этой ссылке, то внешний вид Гостевой книги будет одним из стандартных. А поменять его можно, пройдя по ссылки "Изменение дизайна". На выбор несколько вариантов дизайна Гостевых книг. Причем вы можете использовать один дизайн, а затем переключиться на другой, и при этом все ранее добавленные сообщения сохранятся, но будут отображаться в новом варианте (скине). Кроме этого вам предоставляется право администрирования своей Гостевой книги. Для этого надо пройти по ссылке "Администрирование". Там есть возможность удалять любые оставленные пользователями сообщения, а так же отвечать на них. Далее есть возможность настройки дублирования сообщений по e-mail, когда все новые записи автоматически отправляются к вам на почтовый ящик, и возможность премодерации, когда любое новое сообщение сразу не появляется в гостевой, а только после вашего просмотра и подтверждения через страницу администрирования. Все это можно настроить, пройдя по ссылке "Настройки (дублирование сообщений по e-mail, премодерация)".

Дизайн стандартных скинов Гостевой книги оставляет желать лучшего. Самый большой минус: в Гостевую заносится только голый текст, нет возможности добавления смайликов, выделение текста жирным, курсивом, подсветки ссылок и прочего. Но, к счастью, нам предоставляется возможность изменить этот дизайн самим, написав шаблоны Гостевой книги на html-коде. И так, что бы не писать все это самим, я предлагаю вам скачать один из уже готовых скриптов, описанных ниже. Содержимое архивов необходимо распаковать и загрузить на ваш сайт в корневой каталог именно в таком виде, в каком оно там представлено. Далее вы просто даете следующую ссылку:
<a href="http://www.narod.ru/guestbook/?owner=Ваш_id&mainhtml=short.txt&messageshtml=sm.txt">Гостевая книга сайта</a>
или
<a href="http://www.narod.ru/guestbook/?owner=Ваш_id&mainhtml=short.txt&messageshtml=sm.txt&mpp=Количество">Гостевая книга сайта</a>
Вместо "Ваш_id" вы подставляете свой уникальный номер, который, как уже было сказано, можно посмотреть на страничке "Гостевая книга" в Мастерской. Во втором варианте ссылки вместо "Количество" подставляете число записей, отображаемых на одной странице; по умолчанию 10.


Краткие сведения о старых версиях скрипта

Первые версии моего скрипта Гостевой книги для скачивания не выкладываю. Но опишу, что в них было доступно.
GuestBookScript (v 1.0) - Гостевая книга, оформленная в виде таблички, без смайликов и прочего.
GuestBookScript (v 1.1) - К первой версии были добавлены смайлики при помощи JavaScript.


GuestBookScript (v 1.2)

Этот скрипт обеспечивает следующие возможности:

  • Набор из 16 стандартных смайликов.
  • Возможность выделения текста жирным, курсивом и подчеркнутым.
  • Бегущая строка.
  • Подсветка всех ссылок, начинающихся с "http://", "https://" и "ftp://".
  • Выделение ваших ответов словом "АДМИН:".
  • Автоматическое добавление счетчика посещаемости Гостевой книги.
  • Проверка корректности вводимых пользователем данных.
  • Автоматическая ссылка на Главную страницу вашего сайта.
  • Ссылка на вход в Мастерскую для администрирования.
  • Для изменения картинок (смайликов и прочего) зайдите в папку "skin". Все доработки сделаны на JavaScript, но учитывалась возможность отображения Гостевой книге и при выключенных скриптах. Она будет смотреться вполне нормально, но, конечно, без всех этих наворотов.


    GuestBookScript (v 1.3)

    Сохраняются все нововведения предыдущих версий. Кроме этого добавлены следующие возможности:

  • Новое поле ICQ, позволяющее оставлять гостям номер своей аськи.
  • Рядом с номером ICQ располагается индикатор online, позволяющий определить, находится ли пользователь данной аськи в онлайне.
  • Сворачивание формы отправки сообщения после нажатия кнопки "Добавить сообщение", что предотвращает возможность случайного дублирования.
  • К каждому сообщению прикрепляется IP-адрес отправителя, который не отображается в Гостевой книге. Что бы его посмотреть, зайдите в Мастерскую - Гостевая книга - Администрирование (или Просмотр).
  • Длинные слова разрезаются на части длинной по 32 символа, что бы не нарушить структуру таблицы. В случае длинных ссылок выдается только начало и конец ссылки, разделенные многоточием.
  • Доработана проверка корректности заполнения полей формы отправки сообщений.
  • Добавлена возможность своевременного обнаружения выхода нового скрипта GuestBookScript. Если появится новая версия, то внизу страницы будет мигать надпись "new!" .
  • Теперь смайлики и теги добавляются в позицию курсора, а не в конец текста.
  • Большие изменения произошли в области скрипта: теперь исходный код стал открытым, а скрипты вынесены в отдельный файл, что позволит при небольших навыках в htmp поменять дизайн Гостевой книги на свой вкус. Не забывайте о том, что при использовании данного скрипта ссылки и строка с авторскими правами обязаны оставаться!


    GuestBookScript (v 1.4)

    В этой версии опять же сохранены все возможности предыдущих версий скрипта, так что будет очень полезно почитать информацию, изложенную выше. Добавлено следующее:

  • Новый тег для создания списков. Возможны вложенные списки, максимальная вложенность возможна на глубину три.
  • Подсветка ссылок, начинающихся с "www.", к ним автоматически приписывается "http://".
  • В ответах администратора можно использовать html-код! Для этого его надо заключить в псевдотег "[h]...[/h]". Например, такая конструкция:
    [h]<font size=6>Hello, World!</font>[/h]
    Выведет на экран строку:
    Hello, World!
    Не используйте в html-коде одинарные кавычки!
  • Добавлена возможность автоцензуры для сообщений пользователей (к сообщения администратора она не применяется). Теперь можно вырезать или заменять любые нецензурные выражения из Гостевой книги, не удаляя самих сообщений. Для этого надо открыть Блокнотом файл "gbadmin.js", подредактировать его и загрузить на сайт. Редактируем так: добавляем новые строки по правилу:
    'фраза_для_замены=на_что_заменять'
    или
    'фраза_для_удаления'
    В первом случае все указанные фразы будут заменяться на указанную замену, во втором эти фразы будут вырезаться из текста. Автозамена чувствительна к регистру букв. Не следует заменять короткие слова, так как может оказаться, что они будут являться частью какого-то другого слова и замена будет некорректна.
    Кроме замены выражений при помощи автоцензуры можно запретить использование некоторых псевдотегов, указав необходимость вырезать соответствующие последовательности символов. Например, можно запретить тег бегущей строки, добавив следующий код в файл gbadmin.js:
    '[m]',
    '[M]',

    Так как не указанно значение после знака равенства, то эти псевдотеги попросту будут вырезаны из сообщений. Как видите, указаны два варианта написания: с нижним и верхним регистром, потому что автозамена чувствительна к регистру букв. Закрывающие псевдотеги можно не вырезать, они все равно ничего не делают и в тексте видно их не будет.


    GuestBookScript (v 1.4.5)

    Произошли небольшие изменения в дизайне Гостевой книги. А именно:

  • Добавлен новый псевдотег "центр" для вывода текста по центру.
  • Теперь в html-коде администратора необходимо ставить <br> для перехода на новую строку, а простой перевод при помощи клавиши ENTER в сообщениях игнорируется.
  • В списке ссылок на страницы Гостевой книги добавлена новая ссылка "наверх", отправляющая в начало текущей страницы.
  • В автозамене можно использовать html-код, за исключением ссылок и вставок картинок. Вот примеры. Добавляем в цензуру такую строку:
    'дерьмо=<font color=red>{вырезано цензурой}</font>'
    В результате вместо слова, указанного в левой части пользователи Гостевой книги увидят:
    {вырезано цензурой}
    Кроме этого модуль автозамены можно использовать для создания новых псевдотегов. Если добавить такие строки:
    '[big]=<font size=5>',
    '[/big]=</font>'

    То в системе появится новый псевдотег [big], позволяющий выводить крупный текст. И еще один пример с автозаменой, который позволит всем пользователям Гостевой книги использовать html-код в своих сообщениях:
    '&lt;=<',
    '&gt;=>',
    '&amp;=&'

    Однако следует использовать подобные возможности с осторожностью, так как теперь любой пользователь сможет вставлять в свои сообщения произвольный html-код, в том числе и JavaScript, а это может быть использовано для нарушения нормальной работы Гостевой книги.
    Если у вас хорошо развита фантазия, то модуль автозамены позволит вам найти еще множество интересных вариантов применения.


    GuestBookScript (v 1.5)

    В новой версии реализованы следующие возможности:

  • Внизу страницы отображается количество сообщений во всей Гостевой книги.
  • Данные, введенные пользователем (имя, e-mail и т.д.) сохраняются и при следующем входе эти поля заполняются автоматически.
  • Многие цветовые решения вынесены в отдельный файл gbstyle.css, теперь можно быстро поменять цветовой дизайн при наличии небольшого опыта работы с таблицами стилей.
  • Метку перед ответами администратора можно заменить в скрипте администрирования gbadmin.js, для этого меняем стоящий там параметр на новый, например:
    admin='Лёша: ';
    После этого всем ответам админа будет предшествовать слово "Лёша: ". Можно и совсем убрать данную метку, для этого пропишите:
    admin='';
    Кроме этого в метке можно использовать любой html-код.
  • По многочисленным просьбам добавил возможность банить (запрещать доступ) пользователей Гостевой книги. Это необходимо, если Вам кто-то все время досаждает, пишет неразумные или нецензурные сообщения или же просто флудит. Замечу, что любую защиту на JavaScript можно обойти при наличии некоторых навыков. Именно поэтому следует использовать возможность бана с осторожностью: не следует банить пользователей, знакомых с html или JavaScript, так как их это только разозлит.
    Забаненый пользователь может просматривать Гостевую книгу, но не может отвечать. Списки бан-листов заносятся в скрипт администрирования gbadmin.js. Банить можно по следующим параметрам:
    Забанить по IP-адресу. Необходимо добавить в список новый IP-адрес пользователя, которого собираетесь забанить. Так же можно использовать символ "*" для задания маски. Например, если прописать следующее:
    '192.120.64.*'
    То бан распространится на все адреса из промежутка 192.120.64.0 - 192.120.64.255.
    Забанить по нику. Необходимо просто добавить в список новый ник. После этого сообщения любого пользователя, указавшего это имя не будут добавляться в Гостевую книгу.
    Забанить по e-mail. Аналогично, но по адресу электронной почты.
    Забанить по адресу сайта. Аналогично, но по URL-адресу сайта.
    Забанить по адресу ICQ. Аналогично, но по номеру ICQ.
    Для того, что бы получить максимальный результат, желательно банить сразу по нескольким параметрам. Это оставит меньше шансов обойти систему бана.
  • В скрипте администрирования gbadmin.js можно править набор смайликов. Количество смайлов в Гостевой книге неограниченно! Каждый смайлик заносится в список на отдельной строке следующим образом:
    'код_смайла','название_смайла'
    В качестве кода смайла выступает последовательность символов, обозначающая данный смайлик, например: ":-)". Название смайлика указывает его краткое описание (или словесный синоним), например: "Улыбочка". Картинки самих смайликов помещаются в папку skin с именами X.gif, где X обозначает порядковый номер смайлика в списке. На форме ответа отрисовываются 16 первых смайликов. Все остальные находятся на скрываемой панели, они разбиваются по 16 картинок на строку.
  • В автозамене теперь можно использовать полноценный html-код. Для этого его необходимо поместить в псевдотег [h] . . . [/h]. Например, добавим следующую строку:
    'Яндекс=[h]<img src=http://img.yandex.ru/i/logo76x33.gif>[/h]'
    Это приведет к тому, что все слова "Яндекс" автоматически заменятся на логотип

    Необходимо учесть то, что исправления скрипта администратора не должны содержать ошибок! Если Вы допустите неверную запись параметров, то это может повлечь невозможность правильного отображения всей Гостевой книги. Поэтому перед тем, как править файл gbadmin.js, настоятельно рекомендую сделать его копию, что бы в случае допущения ошибок было легко его восстановить.


    Последняя версия скрипта на примере

    Что бы увидеть в действии последнюю версию скрипта, зайдите ко мне в Гостевую книгу по ссылке:
    /gb&mainhtml=short.txt&messageshtml=sm.txt
    Ни кто не может гарантировать отсутствие ошибок в каком-либо коде. Поэтому, если в ходе эксплуатации предложенного дизайна Гостевой книги вы столкнетесь с какой-либо ошибкой или неточностью, убедительно прошу написать мне на мыло: liosha@rambler.ru или же в мою Гостевую книгу. А так же буду рад получить отзывы о работе скрипта, замечания и предложения по его усовершенствованию!

    P.S. Данный скрипт защищен законом РФ об авторских правах. Автор разрешает его свободной использование и распространение при условии сохранения строки с авторскими правами и ссылками.


    Ссылки на другие Гостевые книги

    Что бы Вы не подумали, что добавить смайлики и все остальное в Гостевую книгу на Народе додумался только я, приведу ссылки на другие Гостевые книги, в которых так же было сделано много интересного.
    /gb&mainhtml=main.html&messageshtml=mesinfo.html&mpp=9999
    /gb&mainhtml=r&messageshtml=m
    /gb&mainhtml=pages/guestbook/gb.htm&messageshtml=pages/guestbook/mes.htm
    /gb&mainhtml=main.txt&messageshtml=ms.txt
    /gb&mainhtml=guest.dat&messageshtml=message.dat
    /gb&mainhtml=gb.html&messageshtml=mes.txt
    http://www.narod.ru/guestbook/?owner=dima-bas&mainhtml=_gbook/gbook1.txt&messageshtml=_gbook/mes1.txt
    /gb&mainhtml=design.txt&messageshtml=message.txt
    /gb&mainhtml=gbook.txt&messageshtml=messages.db
    /gb&mainhtml=gb.html&messageshtml=txt.html
    И это далеко не полный список.


  • Counter CO.KZ
    Hosted by uCoz