Hallo!
Ich nutze für das Kontakt-Formular mancher Webseiten ein "Formmailer-Skript".
Das funktioniert i.d.R. auch einwandfrei, allerdings hab ichs gerade mit einem Webspace zu tun wo dieses Skript NICHT so funktioniert wie es funktionieren soll. Das identische Skript funktioniert bei anderen Hostern einwandfrei und lief auch sehr lange bei einem anderen Hosting-Paket von 1&1 ohne Probleme. Daher muss es was mit der PHP(?) konfiguration des Servers zu tun haben wo dieses Skript nicht ordnungsgemäß funktioniert.
Hier erstmal das Skript:
Der Mail Versand funktioniert stets einwandfrei, was NICHT funktioniert ist die Weiterleitung (im obigen Fall auf google.com, aber natürlich käme da die "success-page" hin). Im genannten Fall bleibe ich einfach auf einer leeren Seite stehen und in der Adresszeile ist die URL von dem Formmailer-Skript zu lesen. Falls das also nicht über PHP-Einstellungen zu lösen ist käme für mich auch ein Workaround in Frage, wenn da jemand einen Vorschlag zu machen hat?
Wie gesagt, das selbe Skript hab ich auf anderen Webservern getestet, und in der Regel funktioniert es, aber bei manchen Hostern macht es Probleme.
Hat jemand ne Idee?
Vielen Dank schonmal!
Ich nutze für das Kontakt-Formular mancher Webseiten ein "Formmailer-Skript".
Das funktioniert i.d.R. auch einwandfrei, allerdings hab ichs gerade mit einem Webspace zu tun wo dieses Skript NICHT so funktioniert wie es funktionieren soll. Das identische Skript funktioniert bei anderen Hostern einwandfrei und lief auch sehr lange bei einem anderen Hosting-Paket von 1&1 ohne Probleme. Daher muss es was mit der PHP(?) konfiguration des Servers zu tun haben wo dieses Skript nicht ordnungsgemäß funktioniert.
Hier erstmal das Skript:
PHP:
<?php
// ======= Konfiguration:
$mailTo = 'zieladresse@emailprovider.com';
$mailFrom = '"Angezeigter Absender" <absenderadresse@absenderurl.com>';
$mailSubject = 'Betreff der EMail';
$returnPage = 'http://www.google.com/';
$returnErrorPage = 'http://www.bing.com/';
$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();
?>
Der Mail Versand funktioniert stets einwandfrei, was NICHT funktioniert ist die Weiterleitung (im obigen Fall auf google.com, aber natürlich käme da die "success-page" hin). Im genannten Fall bleibe ich einfach auf einer leeren Seite stehen und in der Adresszeile ist die URL von dem Formmailer-Skript zu lesen. Falls das also nicht über PHP-Einstellungen zu lösen ist käme für mich auch ein Workaround in Frage, wenn da jemand einen Vorschlag zu machen hat?
Wie gesagt, das selbe Skript hab ich auf anderen Webservern getestet, und in der Regel funktioniert es, aber bei manchen Hostern macht es Probleme.
Hat jemand ne Idee?
Vielen Dank schonmal!