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 = '[email protected]';
$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ẽ đủ.