Formular versenden



In der Datei "formmailer.htm" werden nach dem Anpassen der Parameter die Formulardaten eingetragen und mit dem Submit()-Button versendet. In der Datei "formmailer.php" werden die Formulardaten verarbeitet. Bei Erfolg wird die "mailverarbeitet.htm" aufgerufen, ansonsten die Fehlermeldungsdatei "mailnichtverarbeitet.htm". Alle 4 Dateien in denselben Ordner stellen.


Datei "formmailer.htm"

<html>
<head>
<meta charset="utf-8">
<title>Feedback</title>
</head>
<body>
<h1>Feedback</h1>
<form method="post" action="formmailer.php">
<p><label>Name:<br><input type="text" name="Name"></label></p>
<p><label>E-Mail:<br><input type="text" name="Mail"></label></p>
<p><label>Betreff:<br><input type="text" name="Betreff"></label></p>
<p><label>Nachricht:<br>
<textarea name="Nachricht" cols="50" rows="8"></textarea></label></p>
<input type="submit" value="OK">
</form>
</body>
</html>

Datei "formmailer.php"

<?php

// ======= Konfiguration:

$mailTo = 'info@ihrserver.com';
$mailFrom = '"FormMailer" <info@ihrserver.com>';
$mailSubject = 'Feedback';
$returnPage = 'mailverarbeitet.htm';
$returnErrorPage = 'mailnichtverarbeitet.htm';
$mailText = "";

// ======= Text der Mail aus den Formularfeldern erstellen:

// Wenn Daten mit method="post" versendet wurden:
if(isset($_POST)) {
// alle Formularfelder der Reihe nach durchgehen:
foreach($_POST as $name => $value) {
// Wenn der Feldwert aus mehreren Werten besteht:
// (z.B. <select multiple>)
if(is_array($value)) {
// "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ":\n";
// alle Werte des Feldes abarbeiten
foreach($valueArray as $entry) {
// Einrückungsleerzeichen, Wert und Zeilenumbruch
// dem Mailtext hinzufügen
$mailText .= " " . $value . "\n";
} // ENDE: foreach
} // ENDE: if
// Wenn der Feldwert ein einzelner Feldwert ist:
else {
// "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen
$mailText .= $name . ": " . $value . "\n";
} // ENDE: else
} // ENDE: foreach
} // if

// ======= Korrekturen vor dem Mailversand

// Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt:
if(get_magic_quotes_gpc()) {
// eventuell eingefügte Backslashes entfernen
$mailtext = stripslashes($mailtext);
}

// ======= Mailversand

// Mail versenden und Versanderfolg merken
$mailSent = @mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom);

// ======= Return-Seite an den Browser senden

// Wenn der Mailversand erfolgreich war:
if($mailSent == TRUE) {
// Seite "Formular verarbeitet" senden:
header("Location: " . $returnPage);
}
// Wenn die Mail nicht versendet werden konnte:
else {
// Seite "Fehler aufgetreten" senden:
header("Location: " . $returnErrorPage);
}

// ======= Ende

exit();

?>

Datei "mailverarbeitet.htm"

<html>
<head>
<meta charset="utf-8">
<title>Feedback: Danke</title>
</head>
<body>
<h1>Feedback: Danke!</h1>
<p>Wir haben Ihre Nachricht erhalten.</p>
</body>
</html>

Datei "mailnichtverarbeitet.htm"

<html>
<head>
<meta charset="utf-8">
<title>Feedback: Danke</title>
</head>
<body>
<h1>Feedback: Fehler!</h1>
<p>Leider ist ein Fehler aufgetreten, und Ihre Formulardaten konnten
nicht an uns gesendet werden.</p>
</body>
</html>




created by NETTECS.ch