<form method="post" id="form3">
<input type="text" name="name"/>
<input type="text"name="phone"/>
<input type="submit" value="Отправить">
</form>
Скрипт
$(document).ready(function() {
$("#form3").submit(function() {
$.ajax({
type: "post",
url: "post.php",
data: $(this).serialize()
}).done(function() {
alert("Спасибо");
});
return false;
});
});
файл обработчик post.php
<?php
$name = $_POST['name'];
$phone = $_POST['phone'];
$headers = 'Content-type:text/plain; Charset=utf-8';
$result = "My name: ".$name."\nMy phone: ".$phone;
$subject = "message from the site";
mail('pupckin@out.com', $subject, $result, $headers);
?>
Срабатывает mail() и приходит только $result без переменных из $_POST
У вас у формы нет сабмита. А действие висит на сабмит форы.
<form method="post" action='t3.php' id="form3">
<input type="text" name="name"/>
<input type="text" name="phone"/>
<input type="submit">
</form>
Немного исправил js: появились функции при успехе, ошибке. Сделал вывод в консоль браузера.
$(document).ready(function() {
$("#form3").submit(function(e) {
e.preventDefault();
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(result){console.log(result)},
error: function(err){console.log(err);}
}).done(function() {
console.log("Спасибо");
});
});
});
На стороне php нужно сделать проверки существования переменных - как минимум.
В этом методе prepare, execute возвращают пустое значение
Добрый деньПишу сайт на October CMS и для поиска использую готовый плагин SiteSearch
Подскажите как настроить NB чтобы короткие дескрипторы PHP то же раскрашивали синтаксис, сейчас в коротких дескрипторах синтаксис не подсвечивается...