Скрипт отправки сообщений об ошибках

Скрипт проверки ошибок на сайте

На нашем сайте - сайте, посвященном ошибкам, очень желательно было установить систему устранения этих самых ошибок. В Рунете для этих целей уже традиционно используется система Orphus.

Одно время скрипт этой системы успешно работал на сайте, но в один прекрасный момент вдруг перестал, и все попытки реанимировать его оказались тщетными.

Пришлось разрабатывать свой скрипт. Как оказалось, все не так-то просто. Помогли уроки JavaScript, ну и, конечно же, Google с Яндексом. В итоге, при сложении нескольких найденных блоков скрипта и почерпнутых из учебника знаний получился вполне рабочий модуль для проверки ошибок на сайте. Для его работы необходима поддержка PHP на хостинге.

Последняя версия скрипта 4.1 основана на плагине typo к CMS Drupal. Автор плагина Роман Архаров. В этой версии появилась функция отображения окружающего ошибку текста, сама же ошибка выделяется красным.

Модуль состоит из четырех файлов: mistakes.js, mistakes.css, mistakes.php и overlay.png.
Скачать можно отсюда.

Чтобы его подключить, нужно поместить эти файлы в директорию своего сайта, например в папку «mistakes» и на всех страницах сайта между тегами «head» вставить две строки:

<script type="text/javascript" charset="windows-1251" src="/путь до файла/mistakes.js"></script> <link href="/путь до файла/mistakes.css" rel="stylesheet" type="text/css" />

При этом после src=" и href=" нужно прописать путь к файлу mistakes.js и mistakes.css соответственно.

Файл mistakes.js. В этом файле нужно изменить значение переменной misphploc (то, что между кавычками "") на путь к файлу mistakes.php.

Файл mistakes.php.
Здесь нужно изменить значение нескольких переменных:
$title - заголовок сообщения,
$to, - email, на который будут отправляться сообщения,
$mymail - email, от кого пришло сообщение.

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

На сайте работает система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.

Также открыть окошко отправки сообщения можно, кликнув по ссылке:

Отправить сообщение об ошибке

Код ссылки:

<a href="javascript:void(0)" onclick="PressLink()">Отправить сообщение об ошибке</a>

Исходная кодировка скрипта windows-1251. Если ваш сайт работает на utf-8, то создайте в папке со скриптом файл .htaccess и добавьте в нем строку:

AddDefaultCharset windows-1251

Также вам скорее всего нужно будет переформатировать в utf-8 файл mistakes.js

Скачать модуль mistakes-4.1.zip (zip архив 7Kb).

Если вас по каким-либо причинам не устраивает последняя версия, попробуйте предыдущую - 3.3. mistakes3.3.zip (zip архив 6Kb).

Успешной вам борьбы с опечатками)) Вопросы и пожелания оставляйте в комментариях.

Комментарии

Аватар пользователя Павел

Здравствуйте. Хороший у вас

Здравствуйте. Хороший у вас скрипт, только вот у орфуса он лучше тем, что выделяет красным часть текста с ошибкой (выделенный текст) и сам захватывает часть предложения до и после выделенного текста. Это на много удобнее. Ведь кто-то может выделить ОДНО слово и попробуйте потом его найти на своей странице, а в контексте предложения - легко будет найти. В общем, очень надеюсь, что вы сможете доработать ваш скрипт, чтобы он работал, как у орфуса, тогда ему вообще цены не будет :)

Аватар пользователя Алексей

Расширение возможностей

Спасибо, скрипт запустил у себя на сайте. Есть еще вопрос: как заставить его срабатывать не только на комбинацию Ctrl+Enter, а еще и на клик по ссылке, например, "Отправить сообщение об ошибке"?

Еще раз спасибо.

Аватар пользователя Павел

Не работает

У меня не работает, вставил между head, и чего-то ничего. Пишет ошибка. Что может быть? Выполнил всё по инструкции.

Аватар пользователя aleks

IE6.0

Все супер, только в IE60 не работает. Не выделяется текст вообще. Соответственно в окошке показывается только ссылка.

Аватар пользователя Гость

Re: Re:IE6.0

Вообще тестирую через IETester и MultiplyIE, так как давно уже сижу не в 6-м. Очень странно, возможно причина в конфликте с другими подключенными javascript библиотеками. Кстати в Opera последней тоже самое - пустое окно открывается. Вы не тестировали в опере?

Аватар пользователя Алексей

Друзья, вопрос

Друзья, вопрос еще актуален.
Никто не поможет?

Как заставить его срабатывать не только на комбинацию Ctrl+Enter, а еще и на клик по ссылке, например, "Отправить сообщение об ошибке"?

Аватар пользователя Сергей

Привет, скрипт норм, все

Привет, скрипт норм, все работает, я его сам переделал под свой сайт немного, дизайн имею ввиду, подскажи пожалуйста как окно по центру экрана зделать под любой экран, у меня например дисплей 17 дюймов, окно всплывает немного правее, надо его автоматом заставить всплывать по центру. Где то в настройках позиции формы, я так понимаю. Можешь ответить на мой мейл? Спасибо!

Аватар пользователя Гость

классно

Сообщите пожалуйста, когда доработаете.

И ещё, у вас капча не отображается под этой формой.

Аватар пользователя Natali_J

Спасибо за ваши старания

С последними дополнениями, затемнением и стилем стало вообще отлично выглядеть. Но перестало работать во всех браузерах. У меня сработало только в опере. В мозиле, хроме и ie не закрывается окно отправки.

Аватар пользователя Гость

клёво

Мой респект.
Я вчера из сообщения от 08/10/2010 - 14:46 последнюю версию скачал надеюсь?

Аватар пользователя Alex

IE 6-8

Замечательный скрипт! Спасибо!
Есть только одна проблема - поставил последнюю версию скрипта, в опере, мозиле и хроме работает, а в дибильном IE (6 и 8 - одинаково) окно открывается слева и видно только правую половину окна - т.е. даже кнопки "отправить" не видно.... что может быть?

Аватар пользователя Alex

Спасибо!

Спасибо, щас попробую. Если можно, в двух словах, как это могло повлиять? Я думал всегда что эта строка "просто так" :) неужели из-за нее изменится вид страницы?

Аватар пользователя Alex

ИМЕННО ИЗ-ЗА

ИМЕННО ИЗ-ЗА ЭТОЙ СТРОКИ?...
А я блин думал когда с цсс работал че за фигня, почему он себя так по-дурацки временами ведет. Ведь знаешь же что должно быть так, а оно блин..... :)))) Да....

Аватар пользователя Habrahabr

Вот. Исправил

Вот. Исправил траблы с русской кодировкой айпишник показывается ну и так, по мелочи

$title = 'Сообщение об ошибке'; $ip = getenv("REMOTE_ADDR"); $url = (trim($_POST['url'])); $mis = substr(htmlspecialchars(trim($_POST['mis'])), 0, 100000); $comment = substr(htmlspecialchars(trim($_POST['comment'])), 0, 100000); $mess = ' '.$url.' '.$mis.' '.$comment.' '.$ip.' '.$_POST['mess']; $to = "youmail@mail.ru"; $mymail='youmail@mail.ru'; $from = "From: =?windows-1251?B?". base64_encode("yousite.ru"). "?= < $mymail >\n"; $from .= "X-Sender: < $mymail >\n"; $from .= "Content-Type: text/plain; charset=windows-1251\n"; mail($to, $title, $mess, $from);
Аватар пользователя Sancha

Я разместил код

Я разместил код на сайте visiongrp ru, но он работает странно - появляясь под футером :) Что можно предпринять, посоветуйте пожалуйста?

Страницы

Добавить комментарий