Förutsatt att du vill köra detta från ett formulär, måste du ställa in din HTML-formulärtagg enligt följande:
<form action="contact.php" method="post">
Du bör sedan byta namn på contact.html till contact.php (alla textredigerare borde kunna göra detta enkelt).
Slutligen använder du PHPs header() funktion, som kommer att orsaka fel om du har utdata till webbläsaren innan den anropas. Detta inkluderar att använda PHPs echo struktur. Din contact.php filen ska se ut så här (och finnas i samma katalog som din HTML-fil som innehåller formuläret):
<?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>';
}
}
?>
Obs! Jag fixade din layout lite och ändrade några av de villkor som du använde. Den första elseif var faktiskt överflödig, och en else kommer att räcka.