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

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

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

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

Комментарии

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

Несколько раз эту проблему в

Несколько раз эту проблему в комментариях подымали, но решения ни писалось.
Всё работает отлично, кроме поля Комментарий. Это поле остаётся пустым в приходящем письме - https://yadi.sk/i/RLoYq8xY3HUvdS
Как исправить?

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

Решение нашёл:

Решение нашёл:

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

Делать необходимо не так как в описании:
1. .htaccess создавать не нужно
2. mistakes.js и mistakes.php конвертируем в UTF-8 без BOOM
3. в mistakes.php в трёх местах меняем windows-1251 на utf-8

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

Пожалуйста, обратите внимание

Пожалуйста, обратите внимание: скрипт некорректно работает с выделенными гиперссылками (выделить ссылку и нажать Ctrl+Enter) и на страницах с фреймами - в последнем случае он вообще зависает.

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

Подтверждаю! Если выделить

Подтверждаю! Если выделить текст, в котором присутствует гиперпересылка, то показывает в форме отправки ошибки и близко не тот текст, что выделен, а который в начале. Это серьёзно вводит в заблуждение. Как это можно исправить?

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

Может стоит позаимствовать

Может стоит позаимствовать часть кода выделения из самого орпхус или вот есть плагин для вордпресс Mistape.
Просто если ссылка или ещё что, то действительно абсолютно не тот текст показывает в окне выделения. Это весьма дезориентирует тех, кто отправляют сообщения о ошибках.

Аватар пользователя Евгений

Здравствуйте! Большое спасибо

Здравствуйте! Большое спасибо за скрипт! Но, есть вопрос. Почему то не возможно выделить скажем 2 строки подряд, выделяется только какая то часть первой строки (если выделять 2 хотя бы, а если выделяю одну, то выделяется вся). Максимальное число символов выставил в 1000 вместо 300. Мне нужна такая возможность, чтобы админ сайта мог мне прислать сообщение об ошибке типа нотайс например, когда php пишет номер строки, ошибку, адрес файла и т.д. ,но это не получается сделать. Где что поправить, чтобы можно было копировать несколько строк? Спасибо!

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

Добрый день. Спасибо за

Добрый день. Спасибо за скрипт. Поставил, настроил, все, вроде, работает, но письма с ошибками на почтовый адрес приходят все равно с кракозябрами: Адрес страницС

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

Вот только еще вопрос.

Вот только еще вопрос. Смотрите: есть предложение: "Добро пожаловать на мою небольшую страничку в интернете," Предположим, есть ошибка в слове "небольшую". Выделяю слово, жму контр+энтер. В форме выделяются три предыдущих слова: "пожаловать на мою", а слово, которое выделяю, дается не полностью: "неб". Все. ОК отправляю, вижу в письме те же выделенные жирным предыдущие три слова, но не ошибочное.

Аватар пользователя Ксения

Доброе время суток.

Доброе время суток.

Мучает такой вопрос, можно ли тот скрипт выложить такой CMS как CMS.S3(Мегагрупп)? Она написана на такой вещи как smarty и конечно требует специалиста smarty для изменения кода

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

Ну я же написал

Ну я же написал
Вот пример
<div class="mistakes">Ошибка в тексте? Выделите ее и <a href="javascript:void(0)" onclick="CtrlEnter()">нажмите</a> <span>Ctrl + Enter</span> </div>

Зайдите с телефона сюда https://www.moshiach.ru/bneinoach/7/1605_12_2.html
и увидите сами.

там CSS надо добавить чтобы было fixed.

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

Здравствуйте. С переходом на

Здравствуйте. С переходом на пхп 8 стала возникать ошибка следующего рода: Warning: Undefined array key "submit" in дальше указывается основной файл и строка 63 if($_POST['submit']) {. Не подскажете, как это можно исправить?

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

У кого скрипт не работает

У кого скрипт не работает(пустой фрейм) в Гугл Хром по https протоколу добавьте мета тег на странице где хотите видеть фрейм

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
и всё будет норм

Страницы

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