Немного о PHP - вопрос по коду

DB
На сайте с 02.11.2011
Offline
19
777

Встретился с формой обратной связи, в которой имеются следующие строки:

$message = stripslashes($message);

mail("mail1@mail.ru","Сообщение с сайта SITE.RU",$message,"From: $email");
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Имя: ".$name."
email: ".$email."
телефон: ".$tel."
Сообщение: ".$mes."
ip отправителя: ".$ip."
";
$message = stripslashes($message);
mail("mail2@sait.ru","Сообщение с сайта SITE.RU",$message,"From: $email");

Верно ли я понимаю, что каждое сообщение из формы отправляется сразу на два ящика? И зачем это может быть, кроме как читать чужие письма?

LEOnidUKG
На сайте с 25.11.2006
Offline
1765
#1

Вот так:

$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));

$message="Имя: ".$name."

email: ".$email."

телефон: ".$tel."

Сообщение: ".$mes."

ip отправителя: ".$ip."

";

$message = stripslashes($message);

mail("mail2@sait.ru","Сообщение с сайта SITE.RU",$message,"From: $email");

mail("mail1@mail.ru","Сообщение с сайта SITE.RU",$message,"From: $email");

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
DB
На сайте с 02.11.2011
Offline
19
#2
LEOnidUKG:
Вот так:

$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Имя: ".$name."
email: ".$email."
телефон: ".$tel."
Сообщение: ".$mes."
ip отправителя: ".$ip."
";
$message = stripslashes($message);

mail("mail2@sait.ru","Сообщение с сайта SITE.RU",$message,"From: $email");
mail("mail1@mail.ru","Сообщение с сайта SITE.RU",$message,"From: $email");

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

palladin_jedi
На сайте с 13.07.2010
Offline
71
#3
DmBlack:
Верно ли я понимаю, что каждое сообщение из формы отправляется сразу на два ящика? И зачем это может быть, кроме как читать чужие письма?

Сообщения могут отправляться администратору и вебмастеру сайта, для примера. Кто-то из них может первым отреагировать на сообщение по его специализации и дёрнуть второго, если специализация не его.

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
DB
На сайте с 02.11.2011
Offline
19
#4

Т.е. все сообщения действительно отсылались веб мастеру? Формы то одинаковые, что тому, что другому.

E
На сайте с 21.09.2009
Offline
283
#5
DmBlack:
Т.е. все сообщения действительно отсылались веб мастеру? Формы то одинаковые, что тому, что другому.

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

DB
На сайте с 02.11.2011
Offline
19
#6
easywind:
а какая разница кому? может у человека нет доступа к одному ящику в поездке но есть ко второму вот и высылает. Да и правильно делается один (админ, второй админ, главный менеджер - нужное подчеркнуть) не увидил сообщение второй увидел прочитал.

Нет, сообщения должны были отсылаться только моему товарищу - админ был не при делах. По этому мне хочется узнать, все сообщения действительно отсылались на два мыла (админ + владелец сайта)?

edogs software
На сайте с 15.12.2005
Offline
775
#7
DmBlack:
Встретился с формой обратной связи, в которой имеются следующие строки:
$message = stripslashes($message);

mail("mail1@mail.ru","Сообщение с сайта SITE.RU",$message,"From: $email");
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Имя: ".$name."
email: ".$email."
телефон: ".$tel."
Сообщение: ".$mes."
ip отправителя: ".$ip."
";
$message = stripslashes($message);
mail("mail2@sait.ru","Сообщение с сайта SITE.RU",$message,"From: $email");


Верно ли я понимаю, что каждое сообщение из формы отправляется сразу на два ящика? И зачем это может быть, кроме как читать чужие письма?

Именно по Вашему коду - на mail1 отправлялось непонятно что, наиболее вероятно, что уходила только тема письма "сообщение с сайта" и было ясно от кого "from: $email" оно, т.к. $message не составляется на момент посылки первого письма.

А вот на mail2 уже уходило сообщение с текстом сообщения, хранящееся вероятно в $mes, т.к. $message к моменту отправки 2 сообщения составляется из имени, мыла, телефона, сообщения и ИП отправителя.

Что бы ответить точно - надо видеть форму и более полный кусок кода.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
E
На сайте с 21.09.2009
Offline
283
#8

DmBlack, описание функция

mail — Отправляет электронную почту - это из мануала по PHP.

видите у Вас в коде строчки

mail("mail1@mail.ru","Сообщение с сайта SITE.RU",$message,"From: $email");

и

mail("mail2@sait.ru","Сообщение с сайта SITE.RU",$message,"From: $email");

если код полный то могла быть ошибка если нет то скорее всего да письма уходили по двум адресам mail1@mail.ru и mail2@sait.ru .

DB
На сайте с 02.11.2011
Offline
19
#9

Там на много страничек разбита форма.

Вот весь тэг <?php .... ?>, из которого я выцепил тот участок кода:


<?php
include("global.inc.php");
$errors=0;
$error="<H1>ОШИБКА!</H1><ul>";
pt_register('POST','name');
pt_register('POST','email');
pt_register('POST','tel');
pt_register('POST','mes');
if($name=="" || $mes=="" ){
$errors=1;
$error.="<li>Вы не заполнили одно или несколько обязательных полей!<br/>Пожалуйста,нажмите кнопку НАЗАД в окне браузера и исправьте ошибку.";
}
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email)){
$error.="<li>Введен неверный e-mail!";
$errors=1;
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Имя: ".$name."
email: ".$email."
телефон: ".$tel."
Сообщение: ".$mes."
ip отправителя: ".$ip."
";
$message = stripslashes($message);
mail("mail@mail.ru","Сообщение с сайта SAIT.RU",$message,"From: $email");
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Имя: ".$name."
email: ".$email."
телефон: ".$tel."
Сообщение: ".$mes."
ip отправителя: ".$ip."
";
$message = stripslashes($message);
mail("mail@sait.ru","Сообщение с сайта SAIT.RU",$message,"From: $email");

?>
DP
На сайте с 24.04.2012
Offline
16
#10

Говнокод немного, но он действительно отправляет одинаковые сообщения на 2 ящика. У меня на одном из сайтов то же самое. Одна почта самого сайта, настроенная через gmail, вторая просто mail.ru. Если у хостера собьются настройки MX я все равно ее получу.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий