Guten Abend!
Auf einer Webseite kann der Kunde Daten wie Name, Adresse e.t.c. eintragen
und diese sollen dann per HTML-Mail verschickt werden.
Nur leider funktioniert das irgendwie nicht.
Hier mal der Code dazu (reservierung.php):
Es wird zwar eine HTML-E-Mail übertragen, aber die eingegeben Daten des Kunden werden nicht angezeigt.
Kann mir einer verraten warum nicht?
Und so sieht dann die HTMl-Mail aus:
[COLOR=black]Fahrzeugreservierung vom 25.07.2010 um 21:23 Uhr[/COLOR]
[COLOR=black]Kundendaten[/COLOR]
[COLOR=black]Herr[/COLOR]
[COLOR=black]Martin Mustermann[/COLOR]
[COLOR=black]Hauptstr. 123[/COLOR]
[COLOR=black]12345 Musterstadt[/COLOR]
[COLOR=black]u.s.w.[/COLOR]
Gruß AKSPEEDY
Auf einer Webseite kann der Kunde Daten wie Name, Adresse e.t.c. eintragen
und diese sollen dann per HTML-Mail verschickt werden.
Nur leider funktioniert das irgendwie nicht.
Hier mal der Code dazu (reservierung.php):
PHP-Code:
<?php
ob_start();
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html40/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<TITLE>Ihre AUTOVERMIETUNG xyz</TITLE>
</head>
<BODY>
<h3>Reservierung</h3>
<p id="text">
Sie möchten ein Fahrzeug mieten?<br>
Dann füllen Sie bitte das Formular aus und senden Sie uns Ihre Anfrage gleich ab.
<br><br>
<?php session_start();
// Formular mit Fehlerauswertung
$errorFelder = array();
$error = null;
$felder = array("Anrede", "Vorname", "Nachname", ...);
// Für die Zwischenspeicherung in der Session:
$_SESSION['Anrede'] = $_POST['Anrede'];
$_SESSION['Vorname'] = $_POST['Vorname'];
$_SESSION['Nachname'] = $_POST['Nachname'];
...
// Überprüfung der eingegebenen Daten
if(isset($_POST['ueberpruefung']))
{
$error = false;
foreach($felder as $feld)
{
if(empty($_POST[$feld]))
{
$error = true;
$errorFelder[$feld] = true;
}
}
}
if($error === false)
{
// HTML-E-Mail an meine Adresse schicken
$nachricht = "
<html><head><title>Fahrzeug - Reservierung</title></head>
<body>
<p>Fahrzeugreservierung vom $datum um $uhrzeit Uhr</p>
<b><u>Kundendaten</u></b><br>
$_POST['Anrede']; $_POST['Vorname']; $_POST['Nachname'];
// $_POST['Anrede']; u.s.w. funktioniert leider nicht
// Nur wenn ich direkt Text eingebe, wird er übermittelt
// z.B. Herr<br>Martin Mustermann<br>Hauptstr. 123<br>
</body>
</html>
";
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// zusätzliche Header
$header .= 'From: info@domain.de <info@domain.de>' . "\r\n";
// Betreff definieren
$betreff = "Fahrzeugreservierung";
// Empfänger definieren
$empfaenger = 'info@domain.de';
foreach($felder as $name)
Header('Location: http://www.domain.de/reservierungsbestaetigung.php');
// E-Mail versenden
mail($empfaenger, $betreff, $nachricht, $header);
exit;
}
else
{
if($error === true)
echo '<span style="color: #FF0000; font-size: 12; font-face: arial; font-weight: bold">
Bitte füllen Sie alle rot markierten Textfelder aus!</span>';
}
?>
<br><br>
</p>
<!-- Beginn - Formular -->
<!-- ********************** -->
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method="post">
<input type=hidden name="recipient" value="info@domain.de">
<input type=hidden name="subject" value="Fahrzeugreservierung">
<INPUT type=hidden name="print_blank_fields" value="1">
<input type=hidden name="redirect" value="reservierungsbestaetigung.php">
<input type=hidden name="ueberpruefung" value="1">
<p id="text">
<b>1. Kundendaten:</b><br><br>
<TABLE width="90%" bgcolor="#EBEBEB" id="text">
<TR>
<TD WIDTH="100" align="right"><font face="tahoma, arial, helvetia" size="2">Anrede: </font></TD>
<TD>
<select name="Anrede" value="<?php print htmlentities($_POST['Anrede']);?>"
<?php if(isset($errorFelder['Anrede'])) echo 'class="error"'; ?>>
<option INPUT SIZE="4" MAXLENGTH="4"></option>
<option INPUT SIZE="4" MAXLENGTH="4">Frau</option>
<option INPUT SIZE="4" MAXLENGTH="4">Herr</option>
</select>
</TD>
</TR>
<TR>
<TD align="right"><font face="tahoma, arial, helvetia" size="2">Vorname: </font></TD>
<TD><INPUT NAME="Vorname" SIZE="20" MAXLENGTH="30" value="<?php echo htmlentities($_POST['Vorname']);?>"
<?php if(isset($errorFelder['Vorname'])) echo 'class="error"'; ?>></TD>
</TR>
<TR>
<TD align="right"><font face="tahoma, arial, helvetia" size="2">Nachname: </font></TD>
<TD><INPUT NAME="Nachname" SIZE="20" MAXLENGTH="30" value="<?php echo htmlentities($_POST['Nachname']);?>"
<?php if(isset($errorFelder['Nachname'])) echo 'class="error"'; ?>></TD>
</TR>
...
</table>
<TABLE width="90%" id="text">
<TR>
<TD width="100"></TD>
<TD><INPUT TYPE="submit" VALUE="Reservierung absenden"></TD>
</TR>
</table>
<br>
</FORM>
</table></font>
<! -- Ende - Formular -->
</p>
</BODY>
</HTML>
Kann mir einer verraten warum nicht?
Und so sieht dann die HTMl-Mail aus:
[COLOR=black]Fahrzeugreservierung vom 25.07.2010 um 21:23 Uhr[/COLOR]
[COLOR=black]Kundendaten[/COLOR]
[COLOR=black]Herr[/COLOR]
[COLOR=black]Martin Mustermann[/COLOR]
[COLOR=black]Hauptstr. 123[/COLOR]
[COLOR=black]12345 Musterstadt[/COLOR]
[COLOR=black]u.s.w.[/COLOR]
Gruß AKSPEEDY
Kommentar