Hallo alle zusammen!
Gleich vor weg, ich bin blutiger Anfänger und versuche mir mit den Foren weiter zu helfen. Jetzt stehe ich aber voll an.
Ich habe mir einen Formular Mailer erstellt. Als Erstes schaut er welche Felder der Pflichtfelder leer geblieben sind und wenn da alles passt, soll er es per Mail weiter leiten. Es funktioniert soweit alles, nur dass er mir die Daten die im Formular eingegeben wurden nicht ins Mail über nimmt. Keine Ahnung woran an es liegt. Ich hab schon einiges ausprobiert. Vielleicht kann mir hier jemand helfen. Hier mal der php-code des Formularmailers:
<?php
$script = 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];
$errorFields = array('firstname',
'surname',
'email',
'resort',
'startdate',
'enddate',
'agb'
);
for($x=0;$x<count($errorFields);$x++)
{
$errorClass[$errorFields[$x]] = 'inputField';
}
if(isset($_POST['submit']))
{
$error = FALSE;
foreach($errorFields as $key => $value)
{
if(empty($_POST[$errorFields[$key]]))
{
$error = TRUE;
$errorClass[$value] = 'errorField';
$errorPicture[$value] = '<img src="photos/pagedesing/achtung.png"> ';
$firstname = $_POST['firstname'];
}
}
}
if(isset($_POST['submit'])){
if($error == TRUE)
{
$errorMessage = '<p class="text"><img src="photos/pagedesing/achtung.png" width="15" height="15"> Watch Out!
There has been an error. Please fill in all
colored marked mandatory fields.</p>';
}
else
{
// Alles ist in Ordnung
// Daten können gespeichert werden
// Seite neu laden und Hinweis anzeigen
header("Location: $script?check=TRUE");
}
}
if($_GET['check'] == "TRUE")
{
// ======= Konfiguration:
$mailTo = 'office@whiteguides-skiing.com';
$mailFrom = 'whiteguides@whiteguides-skiing.com';
$mailSubject = 'Buchungsanfrage';
$returnPage = 'http://www.whiteguides-skiing.com/index/thankspage-d.html';
$returnErrorPage = 'http://www.whiteguides-skiing.com/index/errorpage-d.html';
$name = $firstname;
$mailText = "Vielen Dank für die Buchung
firstname: $name
";
foreach ($_GET as $key => $value )
{
echo "Name: ",$key," Wert :",$value;
}
// ======= 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 $key => $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();
}
?>
Gleich vor weg, ich bin blutiger Anfänger und versuche mir mit den Foren weiter zu helfen. Jetzt stehe ich aber voll an.
Ich habe mir einen Formular Mailer erstellt. Als Erstes schaut er welche Felder der Pflichtfelder leer geblieben sind und wenn da alles passt, soll er es per Mail weiter leiten. Es funktioniert soweit alles, nur dass er mir die Daten die im Formular eingegeben wurden nicht ins Mail über nimmt. Keine Ahnung woran an es liegt. Ich hab schon einiges ausprobiert. Vielleicht kann mir hier jemand helfen. Hier mal der php-code des Formularmailers:
<?php
$script = 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];
$errorFields = array('firstname',
'surname',
'email',
'resort',
'startdate',
'enddate',
'agb'
);
for($x=0;$x<count($errorFields);$x++)
{
$errorClass[$errorFields[$x]] = 'inputField';
}
if(isset($_POST['submit']))
{
$error = FALSE;
foreach($errorFields as $key => $value)
{
if(empty($_POST[$errorFields[$key]]))
{
$error = TRUE;
$errorClass[$value] = 'errorField';
$errorPicture[$value] = '<img src="photos/pagedesing/achtung.png"> ';
$firstname = $_POST['firstname'];
}
}
}
if(isset($_POST['submit'])){
if($error == TRUE)
{
$errorMessage = '<p class="text"><img src="photos/pagedesing/achtung.png" width="15" height="15"> Watch Out!
There has been an error. Please fill in all
colored marked mandatory fields.</p>';
}
else
{
// Alles ist in Ordnung
// Daten können gespeichert werden
// Seite neu laden und Hinweis anzeigen
header("Location: $script?check=TRUE");
}
}
if($_GET['check'] == "TRUE")
{
// ======= Konfiguration:
$mailTo = 'office@whiteguides-skiing.com';
$mailFrom = 'whiteguides@whiteguides-skiing.com';
$mailSubject = 'Buchungsanfrage';
$returnPage = 'http://www.whiteguides-skiing.com/index/thankspage-d.html';
$returnErrorPage = 'http://www.whiteguides-skiing.com/index/errorpage-d.html';
$name = $firstname;
$mailText = "Vielen Dank für die Buchung
firstname: $name
";
foreach ($_GET as $key => $value )
{
echo "Name: ",$key," Wert :",$value;
}
// ======= 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 $key => $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();
}
?>
Kommentar