Помощник
|
Доработка формы обратной связи |
Betelgeise91
|
Сообщение
#1
|
||
|
|
||
|
|||
Muxa_hb |
24.7.2012, 9:17;
Ответить: Muxa_hb
Сообщение
#2
|
|
:nea: делаешь обработчик на той же странице, а потом проверяешь - если все ок, отправлено, то
[PHP]echo "<script>alert('Ваше сообщение отправлено');</script>";[/PHP] |
|
|
Betelgeise91
|
Сообщение
#3
|
|
Вывести сообщение мне удалось. Только выводится оно на новой странице, а мне нужно на этой же. Дело в том, что действия по отправке письма находятся в другом файле. Так как сделать так, чтобы сообщение появлялось на странице обратной связи?
|
|
|
alexdrob |
24.7.2012, 21:21;
Ответить: alexdrob
Сообщение
#4
|
|
ajax'ом отправляйте. а по success в ajax делайте вывод сообщения.
|
|
|
Betelgeise91
|
Сообщение
#5
|
|
C ajax'ом совершенно не знаком. Мне бы с PHP...
|
|
|
alexdrob |
24.7.2012, 23:57;
Ответить: alexdrob
Сообщение
#6
|
|
нельзя на пхп сделать отправку без перезагрузки страницы, пхп серверный язык, он выполняется на севере.
|
|
|
Azazaza_hb |
25.7.2012, 2:59;
Ответить: Azazaza_hb
Сообщение
#7
|
|
действия по отправке письма находятся в другом файле в этом файле после кода который отправляет письмо пишите заголовок [PHP]header("Location: ".$_SERVER["HTTP_REFERER"]);[/PHP] это переадресует пользователя на предыдущую страницу ну и нужно послать какой-то ответ с результатом отправки(успешно или ошибка) вот например есть функция отправки письма SendMail http://www.html.by/threads/26175-Pomogite-...ll=1#post152285 , в зависимости от результата ее выполнения она возвращает или текст ошибки, или сообщение об успешной отправке. Вызываем ее, она отработает, и результат присваиваем переменной $message: [PHP]$message = SendMail($letter,$title,$email);[/PHP] запишем этот результат в сookie: [PHP]setcookie("email_message", $message, time() + 60, "/");[/PHP] после этого отправим пользователя назад на страницу отправки [PHP]header("Location: ".$_SERVER["HTTP_REFERER"]);[/PHP] на странице отправки первым делом, до ввода любых данных убиваем куку(для того чтобы она не выводилась в дальнейшем постоянно при обновлении станицы например) [PHP]setcookie("email_message", "", time() - 60, "/");[/PHP] а дальше так: [PHP]if($email_message = $_COOKIE['email_message']){ echo "<script>alert('$email_message')</script>"; #выводим полученное сообщение }[/PHP] пс функцию SendMail привел для примера, вы можете любое сообщение записать в переменную $message и оно передастся |
|
|
Muxa_hb |
25.7.2012, 13:25;
Ответить: Muxa_hb
Сообщение
#8
|
|
|
|
|
errload |
25.7.2012, 13:29;
Ответить: errload
Сообщение
#9
|
|
или же не обрабатывать код отправки письма в другом файле, например так:
<form action="<?=$PHP_SELF?>"> ... </form> и код отправки вставлять выше или ниже этой формы, а сообщение также выводить либо через куки, либо через сессию ;) |
|
|
alexdrob |
25.7.2012, 13:42;
Ответить: alexdrob
Сообщение
#10
|
|
А что мешает вбить в гугл ajaxForm там вего лишь нужноп дключить плагин, и скопировтаь три строки кода, изменив ID формы на тот что у вас.
Вот тогда будет без перезагрузки. А header - это с перезагрузкой. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Разработка/доработка сайтов Wordpress, HTML/CSS/JS Вёрстка, перенос на WP, правки |
9 | malamut | 3459 | 25.1.2024, 14:36 автор: malamut |
|
Разработка и доработка сайтов на DRUPAL и WP Профессиональная помощь с сайтами на Drupal |
2 | dragondesign | 1558 | 22.9.2022, 23:33 автор: dragondesign |
|
Рассылка ваших сообщений в контакт формы! | 3 | dizaynmaks | 1705 | 18.4.2022, 9:04 автор: dizaynmaks |
|
Верстка, доработка, исправление | 0 | flamersoft | 1106 | 9.3.2021, 8:15 автор: flamersoft |
|
Доработка сайта на WP | 2 | tiptopvkr | 1326 | 4.3.2021, 10:35 автор: tiptopvkr |
Текстовая версия | Сейчас: 19.4.2024, 15:55 |