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

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

На нашем сайте - сайте, посвященном ошибкам, очень желательно было установить систему устранения этих самых ошибок. В Рунете для этих целей уже традиционно используется система 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).

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

Комментарии

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

не работает в ИЕ

Большое спасибо за работу! Везде работает прекрасно , кроме IE. Как писали уже выше в комментариях: окно слева и видно только правую половинку окна. Поменяла первую строку в файле mistakes.php на : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> результат тот же. Из-за чего такое может быть?

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

Кодировка

В кодировке utf-8 вместо "Сообщение об ошибке на сайте" на адрес приходит ябониц ะกะพะพะฑัะตะฝะธะต ะพะฑ ะพัะธะฑะบะต ะฝะฐ ัะฐะนัะต. Менял только в заголовке и здесь:
<code>
$from = "From: =?utf-8?B?". base64_encode("pixel.com"). "?= < $mymail >\n";
$from .= "X-Sender: < $mymail >\n";
$from .= "Content-Type: text/plain; charset=utf-8\n";</code>

Аватар пользователя Владимир

Кодировка utf-8

В заголовке страницы в тэге meta, нужно указать кодировку самой страницы - utf-8, и сохранить саму страницу в юникоде.

Аватар пользователя Владимир

Как установить скрипт на Wordpress

Добрый день. На своем блоге описал процесс установки данного скрипта на блоге wordpress (http://vlmenshikov.ru/nashli-oshibku-na-sajte-chto-dalshe). Надеюсь не возражаете, ссылка на Ваш сайт, как первоисточник, имеется.

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

Спсибо за скрипт

Поставиль последнюю версию 3.1 ,но что-то не так с кодировкой приходящих писем -приходит что-то в тиле леный...
Пс у меня все файлы в кодировка utf 8 (без bom)

в чем может быть беда?:(

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

поправил пару строк и сконвертил в UTF

Собственно немного ругался он у меня пришлось поправить две строки с $Post и для корректного отображения текста под UTF чарсет-ы также поправил. Кому надо, качайте - http://aquashrimps.ru/upload/mistakes3.3_utf.ZIP

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

Нет письма

Раньше на сайте скрипт работал. Сейчас поменял в настройках скрипта другой емайл. И теперь ничего не приходит. Возвращал наза настройки - не приходит все равно.

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

Повтор

А как сделать чтобы при повторном нажатии Ctrl+Enter не открывалось новое окно?

Аватар пользователя Дмитрий

Кодировка

Спасибо автору за скрипт. Ценнейшая вещь. Только вопросик один (на засыпку) есть. У вас, как я понял, используется кодировка windows-1251, а как бы ее на utf-8 переделать? Перекодировать сами файлы не вопрос, вот только будет ли она работать (не попрут ли кракозябры). Решил спросить прежде чем что то делать.

Аватар пользователя Дмитрий

Хром

Здравствуйте. Скрипт отличный. Работал, работал, а сейчас перестал работать в Хроме. Что может быть?

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

Notice: Undefined index: submit

Здравствуйте! Огромное спасибо за скрипт) скоро буду использовать)
по поводу нотайсов - это плохо, но не смертельно обычно) Решил я так:
вместо if($_POST['submit']) написал if(isset($_POST['submit']))
и добавил if(!isset($_POST['mess'])) { $_POST['mess'] = 'Ошибка'; }
может и не правильно, я ж гуманитарий)
Кодировки все норм, перевел все файлы в utf-8, внутри файлов поменял cp1251 на utf-8 и норм)

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

Mistakes + Yii

Добрый день! Спасибо за замечательный модуль. Я использовал его еще пару лет назад, но теперь на новом сайте под Yii прикрутил в качестве расширения. Пришлось повозится (мало опыта в создании расширений) но сделал. У вас в последней версии есть несколько некритических ошибок в коде (mistakes.php):
1) Вылазят Notice на некоторые переменные (типа POST)
2) Переменная mess вообще надо удалить из отсылаемого письма ('.$_POST['mess'].)
3) у вас идет <input но потом он закрывается </textarea>

А так - все супер - спасибо!

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

Пожалуйста!

Вот тут находится архив с пояснениями:
https://dl.dropboxusercontent.com/u/89701912/Mistakes.zip
В связи с требованиями разрабатываемого сайта в проекте есть еще кое-какие изменения
1) Проект переделал на utf-8
2) Все надписи - на украинском.

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

Если будут проблемы с интеграцией у кого-то - пишите, отвечу.

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

все коменты перечитала-не пойму все равно

Добрый день!
Извиняюсь за тупой вопрос:)
у меня на сайте кодировка UTF-8, я как описал Alex D доложила в папку файлик .htaccess и в сообщении, которое приходит на почту само слово, в котором ошибка-оно читается нормально, а все остальное, включая форму на сайте-все в закорючках:(( вот сайт polus-holoda.info
если сможете помочь-заранее спасибо!!!

Страницы

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