X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Доработка формы обратной связи
Betelgeise91
Betelgeise91
Topic Starter сообщение 24.7.2012, 6:07; Ответить: Betelgeise91
Сообщение #1


Сейчас при отправки письма через форму пользователя переадресовывает на страницу с сообщением об успешной отправки. А вот как сделать так, чтобы страница оставалась та же, но появлялось уведомление в окне, что сообщение отправлено? Я приблизительно понимаю, что это через JavaScript alert, но вот как это запихать в php?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Muxa_hb
Muxa_hb
сообщение 24.7.2012, 9:17; Ответить: Muxa_hb
Сообщение #2


:nea: делаешь обработчик на той же странице, а потом проверяешь - если все ок, отправлено, то
[PHP]echo "<script>alert('Ваше сообщение отправлено');</script>";[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Betelgeise91
Betelgeise91
Topic Starter сообщение 24.7.2012, 21:05; Ответить: Betelgeise91
Сообщение #3


Вывести сообщение мне удалось. Только выводится оно на новой странице, а мне нужно на этой же. Дело в том, что действия по отправке письма находятся в другом файле. Так как сделать так, чтобы сообщение появлялось на странице обратной связи?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 24.7.2012, 21:21; Ответить: alexdrob
Сообщение #4


ajax'ом отправляйте. а по success в ajax делайте вывод сообщения.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Betelgeise91
Betelgeise91
Topic Starter сообщение 24.7.2012, 23:51; Ответить: Betelgeise91
Сообщение #5


C ajax'ом совершенно не знаком. Мне бы с PHP...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 24.7.2012, 23:57; Ответить: alexdrob
Сообщение #6


нельзя на пхп сделать отправку без перезагрузки страницы, пхп серверный язык, он выполняется на севере.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Azazaza_hb
Azazaza_hb
сообщение 25.7.2012, 2:59; Ответить: Azazaza_hb
Сообщение #7


(Betelgeise91 @ 25.7.2012, 00:05) *
действия по отправке письма находятся в другом файле

в этом файле после кода который отправляет письмо пишите заголовок [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
Muxa_hb
сообщение 25.7.2012, 13:25; Ответить: Muxa_hb
Сообщение #8


(Azazaza_hb @ 25.7.2012, 05:59) *
в этом файле после кода который отправляет письмо пишите заголовок

поспорим он скоро появится с ошибкой что не может послать заголовки?))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
errload
errload
сообщение 25.7.2012, 13:29; Ответить: errload
Сообщение #9


или же не обрабатывать код отправки письма в другом файле, например так:
<form action="<?=$PHP_SELF?>">
...
</form>

и код отправки вставлять выше или ниже этой формы, а сообщение также выводить либо через куки, либо через сессию ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 25.7.2012, 13:42; Ответить: alexdrob
Сообщение #10


А что мешает вбить в гугл ajaxForm там вего лишь нужноп дключить плагин, и скопировтаь три строки кода, изменив ID формы на тот что у вас.
Вот тогда будет без перезагрузки. А header - это с перезагрузкой.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Разработка/доработка сайтов Wordpress, HTML/CSS/JS
Вёрстка, перенос на WP, правки
9 malamut 3328 25.1.2024, 14:36
автор: malamut
Открытая тема (нет новых ответов) Разработка и доработка сайтов на DRUPAL и WP
Профессиональная помощь с сайтами на Drupal
2 dragondesign 1535 22.9.2022, 23:33
автор: dragondesign
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыРассылка ваших сообщений в контакт формы!
3 dizaynmaks 1681 18.4.2022, 9:04
автор: dizaynmaks
Открытая тема (нет новых ответов) Верстка, доработка, исправление
0 flamersoft 1087 9.3.2021, 8:15
автор: flamersoft
Открытая тема (нет новых ответов) Доработка сайта на WP
2 tiptopvkr 1303 4.3.2021, 10:35
автор: tiptopvkr


 



RSS Текстовая версия Сейчас: 28.3.2024, 17:19
Дизайн