@freeman0204

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

html
<form action="#" id="form" method="GET">
                            <input type="text" name="fio" placeholder="ФИО*" required>
                            <input type="text" name="package" placeholder="Пакет*" required>
                            <input type="text" name="mail" placeholder="E-mail*" required>
                            <input type="text" name="tel" placeholder="Телефон*" required>
                            <input type="text" name="code" placeholder="Промокод">
                            <button class="btn">Зарегистрироваться</button>
                        </form>


js

$(document).ready(function() {

    $("#form").submit(function() {
        $.ajax({
            type: "GET",
            url: "mail.php",
            data: $(this).serialize()
        }).done(function() {
            $(this).find("input").val("");
            alert("Спасибо за заявку! Скоро мы с вами свяжемся.");
            $("#form").trigger("reset");
        });
        return false;
    });

});


php

<?php

$recepient = "gggggg@gmail.com";
$sitename = "Новый участник";

$fio = trim($_GET["fio"]);
$package = trim($_GET["package"]);
$mail = trim($_GET["mail"]);
$tel = trim($_GET["tel"]);
$code = trim($_GET["code"]);


$message = "ФИО: $fio \nПакет: $package \nE-mail: $mail \nТелефон: $tel \nПромокод: $code";

$pagetitle = "Новая заявка с сайта \"$sitename\"";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");


Вот что приходит screenshot.ru/0e0d102629422f5eb402618aa9ed9e70
  • Вопрос задан
  • 296 просмотров
Пригласить эксперта
Ответы на вопрос 2
werty1001
@werty1001
undefined
попробуйте так:
$(document).ready(function() {

	$("#form").submit(function() {
		var form = $(this);
		$.ajax({
			type: "POST",
			url: "mail.php",
			data: form.serialize()
		}).done(function() {
			form.find("input").val("");
			form.trigger("reset");
			alert("Спасибо за заявку! Скоро мы с вами свяжемся.");
		});
		return false;
	});

});
Ответ написан
Комментировать
zolt85
@zolt85
Программист
Параметры GET запроса передаются в URL самого запроса. Вы же складываете все в тело запроса, по этому на стороне сервера $_GET[] ничего не содержит. Т.е. Вам нужно сформировать URL вида
mail.php?fio="fio"&package="package" и т.д. Либо оставить все как есть, изменить метод запроса на POST и на стороне сервера брать значения из $_POST, соответственно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 22:44
500 руб./в час
30 апр. 2024, в 21:45
20000 руб./за проект
30 апр. 2024, в 21:36
1500 руб./в час