<?php
// Formular - Daten werden mit mail() versendet
// Funktion zur Bereinigung der Eingabefelder
function test_input($data) {
$data = trim($data); // leerzeichen vor und nach dem string löschen
$data = stripslashes($data); // löscht "\" von string
$data = htmlspecialchars($data); // HTML entities umwandeln (z.B. & > &)
return $data;
}
?>
<html>
<head>
<title>Formulardaten mit mail versenden</title>
</head>
<body>
<h1>Kontaktformular</h1>
<?php
// Wurde das Formular mit Submit versendet?
// falls ja - auslesen der Felder + Mail Versand auslösen
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Formular wird nur verarbeitet wenn MUSS-Feld name + email nicht leer ist
if (empty($_POST["name"]) || empty($_POST["email"])) {
// Feld Name oder E-Mail ist leer - Meldung ausgeben
echo "<p>FEHLER: Felder Name und E-Mail müssen ausgefüllt werden.</p>";
} else {
// formular felder auslesen
$formdata="<html><body><h1>Formulardaten</h1><table>";
// Jedes Formularfeld-Paar wird als Name und Inhalt ausgegeben
foreach($_POST as $key=>$value) {
$formdata = $formdata . "<tr><td>" . $key . "</td><td>" . test_input($value) ."</td></tr>";
}
$formdata = $formdata . "</table></body></html>";
// mail Versand mit PHP
// wer bekommt die mail
$receiver = "info@pehape.ch";
// absender der mail
$sender = "noreply@pehape.ch";
// mail Betreff - inkl. Server Name "pehape.ch"
$subject = "Kontaktformular - ". $_SERVER['SERVER_NAME'];
// mail headers: absender
$headers = "From: $sender\r\n";
// mail headers: mail ist im html-format, UTF-8 kodiert
$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
// Alle Formularfelder
$message = $formdata;
// aktuelles Datum und Uhrzeit ausgeben
$message .= "<hr>".date("d-M-Y H:i:s");
if (mail($receiver, $subject, $message, $headers)) {
// mail wurde abgeschickt
echo "<p>Besten Dank für die Nachricht.</p>";
} else {
echo "<p>FEHLER: Mail konnte nicht versendet werden.</p>";
}
}
} else {
// Formular wurde nicht submitted - zeige Formular an
?>
<!-- START Formular ... -->
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="post">
Name<sup>*</sup>: <input type="text" name="name">
<br>
E-Mail<sup>*</sup>: <input type="text" name="email">
<br>
Ihre Nachricht: <textarea name="nachricht" cols="70" rows="5" maxlength="200"></textarea>
<br>
<input type="submit" name="submit" value="Submit">
</form>
<!-- ENDE Formular ... -->
<?php } ?>
</body>
</html>