Giả sử rằng bạn muốn chạy điều này từ một biểu mẫu, bạn sẽ cần đặt thẻ biểu mẫu HTML của mình như sau:
<form action="contact.php" method="post">
Sau đó, bạn nên đổi tên contact.html tới contact.php (bất kỳ trình soạn thảo văn bản nào cũng có thể thực hiện điều này một cách dễ dàng).
Cuối cùng, bạn đang sử dụng header() của PHP , điều này sẽ gây ra lỗi nếu bạn đã xuất ra trình duyệt trước khi nó được gọi. Điều này bao gồm việc sử dụng echo của PHP cấu trúc. contact.php của bạn tệp phải trông như thế này (và nằm trong cùng thư mục với tệp HTML của bạn có chứa biểu mẫu):
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$from = 'From:you';
$to = 'example@sqldat.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Number: $number\n Message:\n $message";
if ($_POST['submit']) {
if ($name != '' && $email != '')
{
if ($human == '4')
{
if (mail ($to, $subject, $body, $from))
{
header("Location: thanks.html");
}
else
{
echo '<p>Something went wrong, go back and try again!</p>';
}
}
else
{
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
}
else
{
echo '<p>You need to fill in all required fields!!</p>';
}
}
?>
Lưu ý: Tôi đã sửa bố cục của bạn một chút và thay đổi một số điều kiện mà bạn đang sử dụng. elseif đầu tiên thực sự là dư thừa và một else sẽ đủ.