Jump to content
  • 0

Чудо письмо...


Bolmazov
 Share

Question

Я даже сейчас не знаю что думать, куда писать, у кого спросить совета по такой нелепой проблеме:

На сайте есть форма. Форма отправляется письмом на почту. В форме поле "Модель автомобиля". При тестировании мной (во всех поп-браузерах) значение этого поля в письме содержит название модели. А заказчик говорит, что ему приходят письма где значением этого поля является какое-то число... ЧТО ЗА НА..?! Голову сломал!!!

ВОПРОС: Почему это происходит и как это исправить?!

Пример нормальной формы:

Ф.И.О.: Пупкин Андрей 
Контактный телефон: 8-900-000-8-000
Модель автомобиля: PANDA 4x4 CLIMBING
Желаемая дата тест-драйва: бла-бла-бла
Наиболее удобное для вас время: с 11 до 22

Пример косячной формы:

Ф.И.О.: Пупкин Андрей 
Контактный телефон: 8-900-000-8-000
Модель автомобиля: 4
Желаемая дата тест-драйва: бла-бла-бла
Наиболее удобное для вас время: с 11 до 22

И УБЕДИТЕЛЬНАЯ ПРОСЬБА, НЕ СПАМТЕ ПОЖАЛУЙСТА ФОРМУ!

да... и код обработки формы, если поможет:

if($_POST['send']) {
$fio = substr(htmlspecialchars(trim($_POST['fio'])), 0, 100);
$tel = substr(htmlspecialchars(trim($_POST['tel'])), 0, 100);
$model = substr(htmlspecialchars(trim($_POST['model'])), 0, 100);
$date = substr(htmlspecialchars(trim($_POST['date'])), 0, 50);
$time = substr(htmlspecialchars(trim($_POST['time'])), 0, 20);

$title = "Заявка на тест-драйв от {$fio}";
$mess = "
Ф.И.О.: {$fio}
Контактный телефон: {$tel}
Модель автомобиля: {$model}
Желаемая дата тест-драйва: {$date}
Наиболее удобное для вас время: {$time}";

mail("to@me.com", $title, $mess);
header("Refresh: 2; /");
echo("<p>Письмо отправлено. Перенаправление...</p>");
}

Edited by Bolmazov
Link to comment
Share on other sites

Recommended Posts

  • 0
Числовое value было давным давно. Вариант не подходил т.к. список клиентом мог расширяться (у них был штатный знайка html'я), а php править они не могли (и не должны).

А вообще это мысль... в плане того, что может кто-то заходил на страницу по подобному хешу, но как это может произойти? Неужели есть люди с таким извращенным методом web-серфинга :( ?

На данный момент эта идея хоть и бред, но дает конечную причину. Хотелось бы надеется, что таких серферов в природе нет и причина в другом.

(иначе придется палить их и отнимать возможность размножения для исключения таких фриков из генофонда человечества :( )

Ха :( У меня, например, компьютер дома выключается никогда. Браузер тоже постоянно открыт со множеством вкладок, может этот чел такой же придурок как и я, открыл задолго до того, а потом решил шлёпнуть форму. и тут уж дело не совсем в хеше, но суть объясняет проблему. + прокси могут не всегда просекать что документ поменялся, если исходный документ имеет старую дату.

В общем это всё лечит время :)

Link to comment
Share on other sites

  • 0
А ведь все это лечится через проверку входящих данных на существование, или на определенное значение :(

Лечится то лечится, но это не всегда нужно. К примеру в данном случае (если всё случилось именно так) заявка была принята и обработана, клиент не потерялся. А если бы в данном случае была проверка, то она бы посчитала, что данное значение не корректно и клиента бы не было.

Link to comment
Share on other sites

  • 0
но это не всегда нужно
Правила хорошего тона программирования, не?

Все входящии данные должны подвергаться обработке, и соответственно реагировать на не корректные данные.

К примеру в данном случае (если всё случилось именно так) заявка была принята и обработана, клиент не потерялся. А если бы в данном случае была проверка, то она бы посчитала, что данное значение не корректно и клиента бы не было.
Начнем с того что самое важное в форме - телефон, если другие данные не указаны, то при проверке просто можно написать в тело письма: ФИО - не указано, желаемая дата - не указана, желаемая машина - не указана. Если все ето не указано, то по телефону можно уточнить все это. Ну вот если не указан телефон - вывести предупреждение об этом и предложить заново заполнить форму.

Отказавшись от проверки входящих данных вы хотели с экономить время, а получили лишний геморой и большии затраты времени на разбирательство и поиск ошибки.

Edited by Mot
Link to comment
Share on other sites

  • 0

Вы попробуйте отправить полностью пустую форму, и вуаля - она отправилась :(

Мое мнение что проблема в скрипте который создает список в форме отправки (исходя из первого поста) .

Edited by Mot
Link to comment
Share on other sites

  • 0
Вы попробуйте отправить полностью пустую форму, и вуаля - она отправилась :(

Мое мнение что проблема в скрипте который создает список в форме отправки (исходя из первого поста) .

Блин. Объясняю. НЕТ СКРИПТА который создает список в форме отправки. Это чистый html. В скриптах проблемы нет в этом плане. Вариант возникновения (с вашей подачи) я описал немного выше.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy