Angenommen, Sie möchten dies über ein Formular ausführen, müssen Sie Ihr HTML-Formular-Tag wie folgt festlegen:
<form action="contact.php" method="post">
Dann sollten Sie contact.html
umbenennen zu contact.php
(Jeder Texteditor sollte dies problemlos tun können).
Schließlich verwenden Sie header()
von PHP Funktion, die Fehler verursacht, wenn Sie vor dem Aufruf eine Ausgabe an den Browser gesendet haben. Dazu gehört auch die Verwendung von echo
von PHP Struktur. Ihre contact.php
Die Datei sollte wie folgt aussehen (und sich im selben Verzeichnis wie Ihre HTML-Datei befinden, die das Formular enthält):
<?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>';
}
}
?>
Hinweis: Ich habe Ihr Layout ein wenig korrigiert und einige der von Ihnen verwendeten Bedingungen geändert. Das erste elseif
eigentlich überflüssig war, und ein else
reicht aus.