Есть форма с прикреплением файла. Через метод GET передаю на эту страницу email.
Хочу сделать так, чтобы если человек не прикрепил файл, то ему пришло бы письмо с напоминанием об этом... Но пока не понимаю как это сделать...
Пример:
if (no_file_attached = true && site_exit = true) {
mail($email,''Вы не прикрепили файл и ушли со страницы, 'Пожалуйста, прикрепите файл по этой ссылке: тут ссылка');
}
Это понятно, но у человека несколько вариантов поведения и при этом способе проверки получится так:
1) Человек загрузил файл и нажал кнопку "Прикрепить файл" - письмо "вы ничего не прикрепили" не отправилось (правильно)
2) Человек не загрузил файл и зачем-то нажал кнопку "Прикрепить файл" - письмо "вы ничего не прикрепили" отправилось (правильно)
3) Человек зашел на страницу и ничего не нажал, а закрыл вкладку браузера - письмо не отправилось (не правильно)
Как вариант, ставить таймер, но это как-то не правильно... Быть может как-то через JS отследить закрыл ли он вкладку и в это время посмотреть прикрепил ли он файл?
danyfir Отредактируйте вопрос, он сформулирован криво. То что пользователю нужно отправлять письмо в случае если он не отправлял форму не очевидно.
По делу:
Через JS отлавливаете событие unload, если оно произошло не при отправке формы то через AJAX шлите запрос на сервер, что-бы тот в свою очередь отправил письмо-напоминание.
Учтите что если пользователь просто переключится на другую вкоадку то событие unload тоже может сработать.
Так... и в какой момент будет отсылаться письмо о том, что "ФАЙЛ НЕ ПРИКРЕПЛЕН"? Цель: отследить ушел человек с загруженным файлом, либо ушел со стр. без загруженного файла. Во втором случае должно отсылаться письмо.
ТОгда может сделать по другому.
Сделать на js не активную кнопку, пока пользователь не прикрепит файл?
Почти как согласие на обработку персональных данных делается!
Это не то что вам нужно, но это другой подход, который сократит время вам и пользователю.
Дело в том, что мы хотим захватывать клиентов, которые даже не нажали "выбрать файл", а который просто зашли на страницу, увидели ее и закрыли. Нам нужно именно этим клиентам отправлять письмо.