Вопрос № 31796: Здравствуйте уважаемые специалисты! Хочу задать очередной вопрос в догонку моему вопросу №31521. Там добрый человек Дмитрий Иванов привел мне пример скрипта для обработки формы отправки на е-мейл. Но дело в том, что он у меня почему то не работает. В...
Вопрос № 31.796
Здравствуйте уважаемые специалисты! Хочу задать очередной вопрос в догонку моему вопросу №31521. Там добрый человек Дмитрий Иванов привел мне пример скрипта для обработки формы отправки на е-мейл. Но дело в том, что он у меня почему то не работает. Видимо не хватает чего то в самом скрипте. А делал я так - в html у меня три формы - ИМЯ, МЫЛО, ТЕКСТ. Они ссылаются на файл script.php. В котормуу меня след. код. И почему-то не пашет.
p.s. Как сделать чтобы после отправки страница перегружалась, формы исчезали и выводилось сообщение "ОТПРАВЛЕНО" ?
Приложение:
Отправлен: 19.12.2005, 02:10
Вопрос задал: Arti (статус: Посетитель)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Doctor013
Здравствуйте, Arti!
Скрипт в приложении, вместо mr-flint@nm.ru подставь свой адрес.
Приложение:
--------- the non-fulfilment one's promise is a cause for someone's mistrust
Ответ отправил: Doctor013 (статус: 2-ой класс)
Отправлен: 19.12.2005, 09:06
Отвечает: Straight
Здравствуйте, Arti!
Небольшое замечание. То, что Вы написали - это мечта спамера. Пиши любой E-Mail и любое письмо - и оно отправится. Открытый релей ;)
А по существу вопроса: лучше после отправки письма делать header("location: ...") - редирект на какую-то страницу с сообщением об успешной отправке.
Ответ отправил: Straight (статус: 1-ый класс)
Отправлен: 19.12.2005, 10:17 Оценка за ответ: 5 Комментарий оценки: Спасибо, сделал!
Отвечает: Константин
Здравствуйте, Arti!
форму писать надо так:
<form action="script.php" method="POST">
<input type="text" name="Name"><!--для имени--><br>
<input type="text" name="Email"><!--для email'a--><br>
< name="body" cols="20" rows="7"><!--для сообщения--><br>
<input type="submit" value="Отправить!">
А вот в самом скрипте неплохо было бы обратиться через $_POST к переменным, потому что register_globals может быть выключен.
т.е. надо написать вот так:
<?php
mail($_POST['Email'], "Reminder", $_POST['Body'],"From: mr-flint@nm.ru
Reply-To: mr-flint@nm.ru
To: ".$_POST['Email']."
Content-Type: text/plain; charset=windows-1251");
?>
Чтобы переместить пользователя куда-то после отправки можно сделать так:
<meta http-equiv="refresh" content="0; url=http://somesite.com/somepage.html">
0 - этоколичество секунд, через которые он перенаправится... url может быть абсолютным или относительным, без разницы
Ответ отправил: Константин (статус: 2-ой класс)
Отправлен: 19.12.2005, 10:47 Оценка за ответ: 5 Комментарий оценки: СПАСИБО! Все заработало! :)
Отвечает: Lector
Здравствуйте, Arti!
Скрипт может не работать в случае неправильно настроенного сендмейла.
Тогда используй классы из инета для отправки писем через post.
--------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: Студент)
Отправлен: 19.12.2005, 11:55
Отвечает: Stamm
Здравствуйте, Arti!
Возможно у Вас отключены в настройках php_globals.Вместо $email надо писать $_GET['email'] или $_POST['email'] в зависимоти от настройки формы
--------- В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: 6-ой класс)
Отправлен: 19.12.2005, 15:40