Есть рабочая форма обратной связи в всплывающем окне. Код самого обработчика ниже: Код (PHP): <? $kuda='mymail@mail.ru'; $zagolovok='MAILFROMSITE'; $headers='Content-type: text; charset="windows-1251";'; if (isset($_POST['ok'])){ $fio=$_POST['fio']; $email=$_POST['email']; $tel=$_POST['tel']; $text=$_POST['text']; $messages=$fio."\n".$tel."\n".$email."\n".$text; } ?> 1) Как сделать чтобы письмо приходило с определенного ящика? На указанный адрес приходит письмо от отправителя с доменом хостинга. Мне нужно, чтобы отображалось, будто письмо пришло от адреса, к примеру, mail@site.ru 2) Как показать пользователю, что сообщение отправилось самым простым способом? Echo не вариант, ибо переадрессация на пустую страницу с одной строчкой текста - не красиво. Пробовал alert - пишет ошибку.
Не вижу в коде собственно отправки, но если через mail, там можно задать дополнительные заголовки в последнем параметре, в том числе и From. На странице документации такой был Естественно пишет ошибку. Почитайте phpfaq.ru/na_tanke. Здесь хороший вариант, если вызываемый по ajax скрипт будет возвращать json, а js код на основе возвращённого json будет решать, отправилось письмо или нет
Да, случайно забыл вставить. Отправка происходит строчкой Код (Text): mail($kuda,$zagolovok,$messages,$headers) Так что, сделать Код (Text): mail($kuda,$zagolovok,$messages,$headers,$From) ? Потому что я пробовал так, и в итоге просто в текст письма в конце добавлялся указанный емейл, вместо отображения его в строчке "От". И это простой вариант?) Мне бы просто value кнопки поменять, или алерт вывести)
1) http://php.net/manual/ru/function.mail 2) не хочешь "на пустую страницу с одной строчкой текста", переадресуй на непустую страницу, например снова на ту где форма, а на ней проверяй состояние отправки. при удаче выводи свой alert.
Ответ нашел на постороннем форуме, спасибо. Вы подкинули мне отличную идею, спасибо! Но не подскажете, как мне сразу после отправки письма делать переход на указанную ссылку, к примеру, на http://www.google.ru? Чтобы не ссылку выводило на страницу, а сразу редирект шел. Код примерно таков: Код (Text): if (mail($kuda,$zagolovok,$messages,$headers)){ echo '<a href="http://www.google.ru"></a>'; } Но понятное дело не работает.
Пере направление можно сделать через отправку http заголовка location через php функцию header до вывода данных 14.30 Location http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html php.net/manual/ru/function.header.php
Ну я как не пытался сделать, все равно ошибка. Делал так: Код (Text): Location = "Location" ":" www.google.ru; Код (Text): Location = "Location" ":" "www.google.ru"; Что не так тут?
Почитайте моё сообщение ещё раз, потом посмотрите 2 ссылки которые я дал, в первой почитать достаточно один раздел 14.30 во второй всё
ну вы не прочитали отдельный документ описывающий принятый мета-язык рфц. в двух ваших записях, которые вы не понимаете, речь идет о том как может выглядеть заголовок Location (левая часть до равно) и дается два варианта полного текста заголовка (правая часть после равно): Location: http://www.google.ru Location: "www.google.ru" то есть в заголовке вы можете обрамить двойными кавычками адрес локации или не обрамлять. на ваш выбор. соответственно запись заголовка ответа в поток средствами пхп будет выглядеть header('Location: http://www.google.ru'); или header('Location: "www.google.ru"'); собственно вы сходили посмотрели рфц - это хорошо. а ман по функции header не посмотрели - это плохо. ведь там есть примеры header+location.
Спасибо большое. Слишком длинный мануал, к тому же не был уверен, что именно он мне поможет, потому проглянул быстро и продолжил гуглить. Ваша строчка кода заработала без проблем.