これをフォームから実行する場合は、HTMLフォームタグを次のように設定する必要があります。
<form action="contact.php" method="post">
次に、contact.html
の名前を変更する必要があります contact.php
へ (どのテキストエディタでもこれを簡単に実行できるはずです)。
最後に、PHPのheader()
を使用しています 関数。呼び出される前にブラウザに出力した場合、エラーが発生します。これには、PHPのecho
の使用が含まれます 構造体。 contact.php
ファイルは次のようになります(フォームを含むHTMLファイルと同じディレクトリにあります):
<?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>';
}
}
?>
注: レイアウトを少し修正し、使用している条件の一部を変更しました。最初のelseif
実際には冗長であり、else
十分です。