Ervan uitgaande dat u dit vanuit een formulier wilt uitvoeren, moet u uw HTML-formuliertag als volgt instellen:
<form action="contact.php" method="post">
Hernoem dan contact.html
naar contact.php
(elke teksteditor zou dit gemakkelijk moeten kunnen doen).
Ten slotte gebruik je PHP's header()
functie, die fouten zal veroorzaken als u uitvoer naar de browser hebt voordat deze wordt aangeroepen. Dit omvat het gebruik van PHP's echo
structureren. Uw contact.php
bestand zou er als volgt uit moeten zien (en zich in dezelfde map bevinden als uw HTML-bestand dat het formulier bevat):
<?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>';
}
}
?>
Opmerking: Ik heb je lay-out een beetje aangepast en enkele van de voorwaarden die je gebruikte gewijzigd. De eerste elseif
was eigenlijk overbodig, en een else
zal volstaan.