0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 1481 Просмотров
*

Rand_Althor

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • Учусь
Всем привет, прошу помочь с возникшей проблемой. Кое как мне удалось сделать кнопку для сайта, при нажатии на которую отправляется сообщение на почту об ошибке на странице, на которой кнопка была нажата. Но в последнее время на почту стало приходить каждые 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

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здравствуйте.
ну, у вас так интересно организовано, что, действительно, любой робот, пойдя по ссылке, сгенерирует вам репорт )

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

вот тема, ознакомьтесь:
http://joomlaforum.ru/index.php/topic,324351.0.html
*

Rand_Althor

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • Учусь
Спасибо. Я пытался сначала сделать два события на onclick смену изображения и собственно запуск сценария скрипта. Но что-то не вышло :) не подскажите как это сделать? А nofollow я сделаю
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну почитайте по ссылке, там есть варианты с переделкой почтового модуля на аяксе.
по идее тек правильнее будет, т.к. будет CAPTCHA встроена от роботов, которые игнорируют поисковые запреты
*

Rand_Althor

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • Учусь
ну почитайте по ссылке, там есть варианты с переделкой почтового модуля на аяксе.
по идее тек правильнее будет, т.к. будет CAPTCHA встроена от роботов, которые игнорируют поисковые запреты
Спасибо, попробую.
*

Rand_Althor

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • Учусь

б) привязать переход по ссылке на 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

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • Учусь
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кнопки калькулятора

Автор owl_ssp

Ответов: 3
Просмотров: 772
Последний ответ 28.03.2018, 12:50:35
от beliyadm
Конфликт mootools и скрипта

Автор StV

Ответов: 0
Просмотров: 706
Последний ответ 10.09.2017, 18:01:23
от StV
Уязвимости в Joomla 2.5.28. Как их исправить?

Автор Igoritaly

Ответов: 2
Просмотров: 1715
Последний ответ 04.05.2017, 15:53:36
от SeBun
После восстановления нет реакции на кнопки сохранить

Автор agr

Ответов: 16
Просмотров: 2445
Последний ответ 07.02.2017, 08:24:18
от agr
Acymailing невыводит сообщения при ошибке CAPTCHA

Автор Paha_web

Ответов: 0
Просмотров: 999
Последний ответ 20.01.2017, 23:58:37
от Paha_web