Forudsat at du ønsker at køre dette fra en formular, skal du indstille dit HTML-formulartag som følger:
<form action="contact.php" method="post">
Du skal derefter omdøbe contact.html
til contact.php
(enhver teksteditor burde kunne gøre dette nemt).
Endelig bruger du PHP's header()
funktion, som vil forårsage fejl, hvis du har output til browseren, før den kaldes. Dette inkluderer brug af PHP's echo
struktur. Din contact.php
filen skal se sådan ud (og være i samme mappe som din HTML-fil, der indeholder formularen):
<?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>';
}
}
?>
Bemærk: Jeg fiksede dit layout lidt og ændrede nogle af de betingelser, du brugte. Den første elseif
faktisk var overflødig, og en else
vil være tilstrækkeligt.