Отправка письма

Статус
В этой теме нельзя размещать новые ответы.

masterby

Читатель
Заблокирован
Регистрация
24 Май 2008
Сообщения
261
Реакции
26
  • Автор темы
  • Заблокирован
  • #1
Доброго времени суток.
Надо сделать форму обратной связи вот сделал форму
Код:
				<form action="feadback.php" name="form1" method="post" >

				Ваше имя:<br>

				<input name="customer_name" type="text" size="40" value=""><br>



				Email:<br>

				<input name="customer_email" type="text" size="40" value="">



				<p>

				<input name="message_subject" type="hidden" size="50" value="Домашняя мини пивоварня «Модель 2006»">



				<p>Пожалуйста, заполните все поля формы::<br>

				<textarea name="message_text" cols="50" rows="10"></textarea>



				<p>

				<input type="submit" value="Отправить вопрос">

				</p>



				</form>
И вот сделал php файл что бы это всё отправлялось на почту:
Код:
<?


mail("pochta@mail.ru", " $customer_name "," $customer_email", "$message_text ");


?>
Всё заполняю нажимаю отправить затем проверяю почту письмо пришло без темы открываю письмо а оно пустое то есть что я заполнил ничего этого нету.В чём может быть проблема?
Спасибо!
 
Если не включен register_globals, то получится что у тебя переменные пусты, обращайся через массив $_POST.
напр.: $_POST['customer_name']
 
PHP:
mail("pochta@mail.ru", $customer_name . ' ' . $customer_email, $message_text);
А так?
 
попробуй так:
PHP:
<?php
$customer_name = $_POST['customer_name'];
$customer_email = $_POST['customer_email'];
$message_text = $_POST['message_text'];

mail("pochta@mail.ru", "$customer_name", "$customer_email", "$message_text");
?>
 
А ты уверен что глобальные переменные включены? Если выключены - советую тебе такими их и оставить. Это раз.
А два, почему у тебя текст в качестве 4 параметра? Там должны быть заголовки(необязательно).

Советую сделать так:
PHP:
mail("pochta@mail.ru", $_POST['customer_name']." - ".$_POST['customer_email'], $_POST['message_text']);
 
  • Автор темы
  • Заблокирован
  • #6
А ты уверен что глобальные переменные включены? Если выключены - советую тебе такими их и оставить. Это раз.
А два, почему у тебя текст в качестве 4 параметра? Там должны быть заголовки(необязательно).

Советую сделать так:
PHP:
mail("pochta@mail.ru", $_POST['customer_name']." - ".$_POST['customer_email'], $_POST['message_text']);

Сделал как написал ты всё прекрасно работает,спасибо!
Ещё вопрос:
как сделать так что бы при нажатий отправить не была пустая белая страница,а просто страница как бы обновилась и осталось там же где и была.
 
HTML:
<form action="<?php echo $_SERVER['PHP_SELF'];?>">
В самой форме сделай hidden-поле, например:
HTML:
<input type="hidden" name="send" value="send">
И сделай проверку в коде php:
PHP:
if(isset($_POST['send']) && $_POST['send'] == 'send'){
   mail("pochta@mail.ru", $_POST['customer_name']." - ".$_POST['customer_email'], $_POST['message_text']);
}
 
  • Автор темы
  • Заблокирован
  • #8
Ещё вопрос только сейчас заметил что кагда вписываеш в форму расскими буквапи то получаецца всякие ироглифы.....
всё разобрался надо было изминить кодировку.

Добавлено через 3 минуты
HTML:
<form action="<?php echo $_SERVER['PHP_SELF'];?>">
В самой форме сделай hidden-поле, например:
HTML:
<input type="hidden" name="send" value="send">
И сделай проверку в коде php:
PHP:
if(isset($_POST['send']) && $_POST['send'] == 'send'){
   mail("pochta@mail.ru", $_POST['customer_name']." - ".$_POST['customer_email'], $_POST['message_text']);
}

Извините я в php не селён можно попадробнее....
Спасибо!
 
как сделать так что бы при нажатий отправить не была пустая белая страница,а просто страница как бы обновилась и осталось там же где и была.
Помести php скрипт в один файл с формой. Тогда кстати и action="feadback.php" не забудь убрать.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху