Форум русской поддержки Joomla!® CMS
09.12.2016, 17:31:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как исправить работу кнопки / скрипта "сообщить об ошибке"?

 (Прочитано 271 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Rand_Althor
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


Учусь


« : 24.02.2016, 09:05:05 »

Всем привет, прошу помочь с возникшей проблемой. Кое как мне удалось сделать кнопку для сайта, при нажатии на которую отправляется сообщение на почту об ошибке на странице, на которой кнопка была нажата. Но в последнее время на почту стало приходить каждые 3-5 дней около 30 писем с сообщением об ошибке, но с ссылкой на скрипт для кнопки. Подскажите как это исправить, и почему приходят такие сообщения, у меня создалось ощущение, что скрипт срабатывает при проверке роботами поисковиков.
P.S. Я новичёк во всём этом, пока что очень плохо разбираюсь во всех этих БД php и прочем.

Вот код кнопки:
Код:
<hr align="left" color="ff6600" size="3" />
<p style="font-size: 8pt; color: #33cccc; text-align: center;"><span style="color: #000000;"><strong><span style="font-size: 8pt;">Если Вы обнаружили ошибку на этой странице, сообщите нам об этом.</span> </strong> </span>
</p>
<p style="font-size: 8pt; color: #33cccc; text-align: center;"><a href="http://nko-fenix.org/report.php"><img onmouseover="this.src='images/sampledata/parks/error1.jpg';" onmouseout="this.src='images/sampledata/parks/error2.jpg';" onmousedown="this.src='images/sampledata/parks/error3.jpg';" onmouseup="this.src='images/sampledata/parks/error4.jpg';" src="images/sampledata/parks/error4.jpg" height="37" width="100" onclick="alert('Сообщение отправлено, Спасибо!')" /></a>
</p>

А вот код скрипта:
Код:
<?php
$email = 'nko_fenix@mail.ru';
$subject = 'Ошибка на сайте';
$page = $_SERVER['HTTP_REFERER'];
$body = wordwrap('Error to page: ' . $page, 70);
 
mail($email, $subject, $body);
 
header('Location:'.$page);
exit; ?>

Надеюсь не ошибся с местом для создания темы. Заранее спасибо.
Записан
effrit
Группа развития
*****

Репутация: +732/-7
Online Online

Пол: Мужской
Сообщений: 6820


effrit.com


« Ответ #1 : 24.02.2016, 10:06:57 »

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

вообще, есть готовый компонент для этих целей.
но если хотите свое, то имеет смысл попробовать
а) закрыть ссылку от поисковиков через nofollow
б) привязать переход по ссылке на js-событие, тот же onclick. если я правильно понимаю, поисковики не обрабатывают js

вот тема, ознакомьтесь:
http://joomlaforum.ru/index.php/topic,324351.0.html
« Последнее редактирование: 24.02.2016, 10:10:06 от effrit » Записан
Rand_Althor
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


Учусь


« Ответ #2 : 24.02.2016, 10:10:06 »

Спасибо. Я пытался сначала сделать два события на onclick смену изображения и собственно запуск сценария скрипта. Но что-то не вышло Azn не подскажите как это сделать? А nofollow я сделаю
Записан
effrit
Группа развития
*****

Репутация: +732/-7
Online Online

Пол: Мужской
Сообщений: 6820


effrit.com


« Ответ #3 : 24.02.2016, 10:14:07 »

ну почитайте по ссылке, там есть варианты с переделкой почтового модуля на аяксе.
по идее тек правильнее будет, т.к. будет CAPTCHA встроена от роботов, которые игнорируют поисковые запреты
Записан
Rand_Althor
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


Учусь


« Ответ #4 : 24.02.2016, 10:16:48 »

ну почитайте по ссылке, там есть варианты с переделкой почтового модуля на аяксе.
по идее тек правильнее будет, т.к. будет CAPTCHA встроена от роботов, которые игнорируют поисковые запреты
Спасибо, попробую.
Записан
Rand_Althor
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


Учусь


« Ответ #5 : 24.02.2016, 13:39:24 »


б) привязать переход по ссылке на js-событие, тот же onclick. если я правильно понимаю, поисковики не обрабатывают js


В общем попробовал сделать через js. Вот что сделал:
Добавил код в templates/название шаблона/js/main.js в конце
Код:
$('.page_errormail24').click(function() {
  var dta212 = window.location.href;
            $.ajax({
                type: "POST",
                url: "errormail24.php",
                dataType: "json",
                data: dta212,
                success: alert('Спасибо! Отчёт отправлен!')
            });
});

Переименовал php в errormail24.php и немного изменил код
Код:
<?php
$email = 'моя почта';
$subject = 'Ошибка на сайте';
$page = $_POST['dta212'];
$body = wordwrap('Error to page: ' . $page, 70);
 
mail($email, $subject, $body);
 
header('Location:'.$page);
exit; ?>
Изменил $page = $_SERVER['HTTP_REFERER']; на $page = $_POST['dta212'];

Ну и сама кнопка:
Код:
</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" class="page_errormail24" onmouseover="this.src='images/sampledata/parks/error1.jpg';" onmouseout="this.src='images/sampledata/parks/error2.jpg';" onmousedown="this.src='images/sampledata/parks/error3.jpg';" onmouseup="this.src='images/sampledata/parks/error4.jpg';" src="images/sampledata/parks/error4.jpg" height="37" width="100" />
</p>
<p>&nbsp;</p>

Собственно теперь вот что происходит, при нажатии на кнопку на почту приходит от 7 до 30 писем с сообщением "Error to page: " то есть без ссылки на страницу где была нажата кнопка. Не могу понять что я упустил и почему приходит сразу несколько писем.
Записан
Rand_Althor
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


Учусь


« Ответ #6 : 26.02.2016, 07:04:11 »

up
Записан
effrit
Группа развития
*****

Репутация: +732/-7
Online Online

Пол: Мужской
Сообщений: 6820


effrit.com


« Ответ #7 : 26.02.2016, 09:46:59 »

а чего up-то?
был же дан совет: возьми рабочий модуль обратной связи да переделай под свои нужды.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet