Zakładając, że chcesz uruchomić to z formularza, musisz ustawić tag formularza HTML w następujący sposób:
<form action="contact.php" method="post">
Następnie należy zmienić nazwę contact.html
do contact.php
(każdy edytor tekstu powinien być w stanie to zrobić z łatwością).
Wreszcie używasz header()
PHP funkcja, która spowoduje błędy, jeśli przed wywołaniem otrzymasz dane wyjściowe do przeglądarki. Obejmuje to użycie echo
PHP struktura. Twój contact.php
plik powinien wyglądać tak (i znajdować się w tym samym katalogu, co plik HTML zawierający formularz):
<?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>';
}
}
?>
Uwaga: Poprawiłem trochę twój układ i zmieniłem niektóre warunki, których używałeś. Pierwszy elseif
był faktycznie nadmiarowy, a else
wystarczy.