Задать вопрос
Novitsky
@Novitsky
Веб-разработчик, дизайнер, фотограф

Почему не отправляется содержимое поля формы?

Здравствуйте.
Использую такой скрипт для отправки данных с сайта на эл. почту:
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
$address = '***@gmail.com';
$sub = "Сообщение";
$mes = "Имя: $name\nТелефон: $phone";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
if ($verify == 'true')
{
print "<script>alert('Сообщение отправлено.');</script>";
}
else 
{
print "<script>alert('Произошла ошибка. Попробуйте снова.');</script>";
}
?>

Но на почту приходит только имя, а поле с телефоном пустое. Почему такое может быть?
И еще. Как сделать, чтобы при нажатии на кнопку «Отправить» не было переадресации на страницу send.php, а просто всплывало окошко с сообщением?
Подскажите, пожалуйста.
  • Вопрос задан
  • 3143 просмотра
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 4
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Ссылку на этот планиг можно давать бесконечно...
malsup.com/jquery/form
Ответ написан
@victorib_us
<form class="form" name="myform">
	<fieldset>
		<legend>Получите консультацию инженера</legend>
		<input placeholder="Введите ваше имя" id="name" type="text">
		<input placeholder="Введите телефон" id="phone" type="text">
		<button name="submit" type="submit">Отправить заявку</button>
	</fieldset>
</form>

<script>

$('#myform').submit(function(){ 
 
var name = $("#name").val();
var phone = $("#phone").val();   

$.ajax({
            type: "POST",
            cache: false,
            data: {'name':name,'phone':phone},
            url: "send.php",
            dataType: "json",
            success: function(data)
            {
                alert(data.stat);
            }
        }); 

});

</script>


В файле send.php

if(isset($_POST["name"]) && isset($_POST["phone"]) ){

$name=$_POST["name"];
$phone=$_POST["phone"];

$address = '***@gmail.com';
$sub = "Сообщение";
$mes = "Имя: {$name}\nТелефон: {$phone}";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
if ($verify == 'true'){
   $res["stat"]="Сообщение отправлено";
} else {
   $res["stat"]="Произошла ошибка";
}

echo json_encode($res);
}


Наглядней думаю некуда
Ответ написан
Комментировать
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
поле с телефоном пустое
форму покажи
не было переадресации
ajax
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
меняем:
"Имя: $name\nТелефон: $phone";
на:
"Имя: $name\r\nТелефон: $phone";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы