Za předpokladu, že to chcete spustit z formuláře, budete muset nastavit značku formuláře HTML následovně:
<form action="contact.php" method="post">
Poté byste měli přejmenovat contact.html
na contact.php
(kterýkoli textový editor by to měl snadno zvládnout).
Nakonec používáte PHP header()
funkce, která způsobí chyby, pokud máte výstup do prohlížeče před jejím voláním. To zahrnuje použití echo
PHP strukturovat. Váš contact.php
soubor by měl vypadat takto (a být ve stejném adresáři jako váš soubor HTML obsahující formulář):
<?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>';
}
}
?>
Poznámka: Trochu jsem opravil vaše rozložení a změnil některé podmínky, které jste používali. První elseif
byl ve skutečnosti nadbytečný a else
bude stačit.