Cảm ơn bạn đã dành thời gian để xem, các bạn. Tôi đang tạo một biểu mẫu liên hệ AJAX khá cơ bản bằng cách sử dụng jQuery. Email gửi đi, nhưng khi mở email, không có dữ liệu POST, vì vậy tôi chỉ nhận được các chuỗi mà tôi đã định nghĩa trong tập lệnh PHP. Trên ứng dụng email của điện thoại của tôi, nội dung của email có nghĩa là 'không xác định'. Tôi đã thử thêm các loại dữ liệu tiêu đề khác nhau không có sẵn và một số biến thể trên hàm PHP mail().Biểu mẫu AJAX jQuery bằng cách sử dụng thư() Mã PHP gửi email, nhưng dữ liệu POST từ biểu mẫu HTML không được xác định
Tôi sẵn sàng chấp nhận một giải pháp dễ dàng hơn cho một biểu mẫu AJAX đơn giản, vì vậy cảm ơn trước vì bất kỳ phương pháp tiếp cận mới nào.
Dưới đây là hình thức:
<section id="left">
<label for="form_name">Name</label>
<input name="form_name" id="form_name" type="text" >
<label for="form_email">Email</label>
<input name="form_email" id="form_email" type="email" >
</section>
<section id="right">
<label for="form_msg">Message</label>
<textarea name="form_msg" id="form_msg"></textarea>
<input id="submit" class="button" name="submit" type="submit" value="Send">
</section>
</form>
Các jQuery AJAX:
$(function() {
$("#contact .button").click(function() {
var name = $("#form_name").val();
var email = $("#form_email").val();
var text = $("#msg_text").val();
var dataString = 'name='+ name + '&email=' + email + '&text=' + text;
$.ajax({
type: "POST",
url: "email.php",
data: dataString,
success: function(){
$('.success').fadeIn(1000);
}
});
return false;
});
});
Các kịch bản PHP (tập tin bên ngoài 'email.php'):
<?php
if($_POST){
$name = $_POST['form_name'];
$email = $_POST['form_email'];
$message = $_POST['form_msg'];
//send email
mail("[email protected]", "This is an email from:" .$email, $message);
}
?>
Tôi đã sử dụng nó và nó hoạt động tốt, kết hợp với việc thay đổi kịch bản PHP của tôi như được định nghĩa bởi EmCO và Garis. Cảm ơn tất cả! –