Theoretisch brauchst du zwei Dateien:
Einmal das Formular und einmal eine Seite an die die Daten weitergegeben werden.
Zu beachten ist allerdings, dass diese Funktion nicht offline funktioniert, du musst Sie erst auf deinen Webspace laden und dort ausprobieren!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Die erste nennst du kontakt.php die zweite mail.php:
Das steht in der kontakt.php: wichtig: im Bodytag
<h1>Kontakt-Formular</h1>
<?php
if (empty($submit)) { // Submit-Button leer, 0 oder nicht definiert?
?>
<h3>1. Bitte geben Sie Ihre Daten ein</h3>
<form action="<?PHP echo $PHP_SELF; ?>" method="post">
<table>
<tr>
<td>Vorname: </td>
<td><input type="text" name="Vorname"></td>
</tr>
<tr>
<td>Nachname: </td>
<td><input type="text" name="Name"></td>
</tr>
<tr>
<td>E-Mail: </td>
<td><input type="text" name="Mail"></td>
</tr>
<td>Ihre Meinung:</td>
<td><textarea name="Feedback" cols="50" rows="5" wrap="soft">
</textarea></td></tr>
<tr>
<td><br></td>
<td><br></td>
</tr>
<tr>
<td></td>
<td><div align="center"><input type="reset" name="reset" value="Daten zurücksetzen">
<!-- wichtig: Submit-Button mit submit benennen! -->
<input type="submit" name="submit" value="Jetzt absenden -->"></div></td>
</tr>
</table>
</form>
<?php
}
else { // Sonst, also wenn Submit-Button vorhanden
?>
<h3>2. Bitte überprüfen Sie Ihre Daten noch einmal</h3>
<?php
foreach($_POST as $key => $value) { // durchläuft alle Formularfelder
if (empty($value)) { // Wert leer, 0 oder nicht definiert?
?>
<p>Bitte füllen Sie <b>alle Felder</b> aus!</p>
<form>
<input type="button" value="<-- Zurück zum Formular"
onclick="javascript:history.back()">
</form>
<!-- Sicherheitshinweis, sichtbar nur für Benutzer ohne JavaScript: -->
<noscript>Bitte gehen Sie mit dem BACK-Button des Browser zurück</noscript>
<?php
exit; // beendet sowohl Schleife als auch Programm!
}
}
echo "<p>Hallo <b>$Vorname $Name!</b><br>\n";
echo "Ihre E-Mail-Adresse lautet <b>$Mail</b>!<br>\n";
echo "Sie haben folgendes eingegeben:<br>\n";
// Für die Ausgabe Backslashes entfernen und Zeilenumbrüche erhalten:
echo "<i>" . stripslashes(nl2br($Feedback)) . "</i><br><br>\n";
echo "Sind diese Angaben korrekt?</p>\n";
// Die vom Nutzer eingegebenen Daten werden in ein Feld geschrieben:
$botschaft="$Vorname $Name, $Mail schreibt\n$Feedback";
$botschaft=htmlspecialchars($botschaft); // HTML-Sonderzeichen maskieren
$botschaft=stripslashes($botschaft); // Backslashes entfernen
// Neues Formular erzeugen zur Weitergabe an das Mailskript
echo "<form action="mail.php" method="post">\n";
// Trick: Daten in versteckten Formularfeldern weitergeben:
echo "<input type="hidden" name="Mail" value="$Mail">\n";
echo "<input type="hidden" name="botschaft" value="$botschaft">\n";
echo "<input type="button" value="<-- Nein, bitte korrigieren" ";
echo "onclick="javascript:history.back()">\n";
// Wieder Zugeständnis für JavaScript-Abschalter:
echo "<noscript>Bitte per BACK-Button zurücknavigieren!</noscript>\n";
echo "<input type="submit" name="mailsender" ";
echo "value="Alles klar -->"></form>\n";
}
?>
Das steht dann in der Datei mail.php:
<h1>3. Daten werden versandt</h1>
<?php
if (isset($Mail) && $Mail != "") {
if(mail("email@email.de", "Hier der Betreff", "$botschaft", "From: $Mail")) {
echo "<p>Danke! Ihre Botschaft wurde weitergeleitet!</p>\n";
}
else {
echo "<p>Leider gab es einen Sendefehler!</p>\n";
}
}
?>