Probleme mit dem Emailversand beim Kontaktformular

Hallo,

ich habe auf meiner Homepage (noch nicht online) ein Kontaktformular erstellt. Das Kontaktformular wird angezeigt.
Wenn ich jedoch auf den ‚Formular senden‘ Button klicke wird lediglich eine weiße Seite angezeigt (Die URL bleibt dabei jedoch unverändert) und es wird auch keine E-Mail versandt. Ich hoffe ihr könnt mir weiter helfen.

Schon einmal im Voraus vielen Dank für Eure Mithilfe.

Hier der zum Kontaktformular gehörige Quellcode:

/* Formular Stylesheet */
body, textarea, table {
font-family: Verdana, Sans-Serif;
font-size: 12px;
color: #000000;
}
body {
background-color: #D8D8D8;
}
table {
width: 500px;
margin: Auto;
border-spacing: 1px;
}
th, td {
border: Ridge 2px #C0C0C0;
padding: 3px;
}
label {
cursor: Pointer;
}
.pflichtfeld {
color: #FF0000;
border: 0px;
}
.hintergrund {
color: #000000;
background-color: #D8D8D8;
}
.danke, .danke a {
color: #000000;
padding: 10px;
width: 480px;
margin: Auto;
margin-top: 100px;
}

/* Tabelleneffekt: „Mouseover 2“ */
.hintergrund:hover {
background-color: #E9E9E9;
}

<?php $mailto = "[email protected]";
$url = "[http://www.test.com](http://www.test.com)"; error\_reporting(0); // PHP Meldungen anzeigen (0/1) $eingabefehler = ""; // Bitte leer lassen! $name = isset($\_POST["name"]) ? $\_POST["name"] : ""; $mailfrom = isset($\_POST["mailfrom"]) ? $\_POST["mailfrom"] : ""; $betreff = isset($\_POST["betreff"]) ? $\_POST["betreff"] : ""; $nachricht = isset($\_POST["nachricht"]) ? $\_POST["nachricht"] : ""; $nachricht1 = isset($\_POST["nachricht1"]) ? $\_POST["nachricht1"] : ""; // "Stadt/Städte" // Auswahlliste 1 "Reiseziel" $array = array( "Bitte auswählen", "Albanien", "Algerien", "Andorra", "Angola", "Anguilla", "Äquat.-Guinea", "Argentinien", "Armenien", "Ascension", "Aserbaidschan", "Äthopien", "Australien", "Azoren", "Bahamas", "Bahrain", "Bangladesch", "Barbados", "Belgien", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivien", "Bosnien", "Botswana", "Brasilien", "Brunei", "Bulgarien", "Cayman Inseln", "Chile", "China", "Costa Rica", "Deutschland", "Dänemark", "Dom. Republik", "Dominica", "Dschibuti", "Ecuador", "El Salvador", "Eritrea", "Estland", "Falkland Inseln", "Färöer", "Fidschi", "Finnland", "Frankreich", "Franz. Guyana", "Polynesien (Fr.)", "Gabun", "Gambia", "Georgien", "Ghana", "Gibraltar", "Grenada", "Griechenland", "Grönland", "Großbritannien", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Hongkong", "Indien", "Indonesien", "Irak", "Iran", "Irland", "Island", "Israel", "Italien", "Jamaika", "Japan", "Jemen", "Jordanien", "Jugoslawien", "Kambodscha", "Kamerun", "Kanada", "Kasachstan", "Katar", "Kenia", "Kirgisistan", "Kiribati", "Kolumbien", "Kongo (Zaire)", "Kongo (Rep.)", "Korea-Nord", "Korea-Süd", "Kroatien", "Kuba", "Kuwait", "Laos", "Lesotho", "Lettland", "Libanon", "Liberia", "Libyen", "Liechtenstein", "Litauen", "Luxemburg", "Macao", "Madagaskar", "Malawi", "Malaysia", "Malediven", "Mali", "Malta", "Marokko", "Marschallinseln", "Martinique", "Mauretanien", "Mauritius", "Mazedonien", "Mexiko", "Mikronesien", "Moldawien", "Monaco", "Mongolei", "Mosambik", "Namibia", "Nepal", "Neukaledonien", "Neuseeland", "Nicaragua", "Niederlande", "Niger", "Nigeria", "Norwegen", "Oman", "Österreich", "Pakistan", "Panama", "Papua-Neugui.", "Paraguay", "Peru", "Philippinen", "Polen", "Portugal", "Puerto Rico", "Reunion", "Ruanda", "Rumänien", "Russland Ost", "Russland West", "Sambia", "Samoa (USA)", "Samoa West", "Sao Tome", "Saudi-Arabien", "Schweden", "Schweiz", "Senegal", "Seychellen", "Sierra Leone", "Simbabwe", "Singapur", "Slowakei", "Slowenien", "Somalia", "Spanien", "Sri Lanka", "St. Helena", "St. Lucia", "St.Pierre/Mique.", "St. Vincent", "Südafrika", "Sudan", "Surinam", "Swasiland", "Syrien", "Tadschikistan", "Taiwan", "Tansania", "Thailand", "Togo", "Tonga", "Trinidad/Tobago", "Tschad", "Tschechien", "Tunesien", "Türkei", "Turkmenistan", "Uganda", "Ukraine", "Ungarn", "Uruguay", "USA", "Usbekistan", "Vanuatu", "Vereinigte Arabische Emirate", "Vatikan", "Venezuela", "Vietnam", "Weißrussland", "Zentralafri. Republik", "Zypern", ); $auswahl1 = isset($\_POST["auswahl1"]) ? $\_POST["auswahl1"] : ""; $auswahlliste1 = "

Lösche mal die Zeile

error_reporting(0); // PHP Meldungen anzeigen (0/1)

Dann wird vermutlich eine aussagekräftige Fehlermeldung angezeigt statt einer leeren Seite.

HTH

Hallo,

wenn die Seite komplett weiß bleibt und nix anzeigt, lass dir im Browser mal den Seitenquelltext anzeigen. Dann siehst du gleich, ob und was beim Browser überhaupt ankommt.
Wenn da auch ziemlich leer ist, hat php die Verarbeitung des Skriptes wegen einem Fehler abgebrochen?
Kannst du dir php-Fehler anzeigen lassen? Falls du unter XAMPP entwickelst, sollte das möglich sein. Wenn du nur Webspace gemietet hast und darauf entwickelst, kannst du die Fehlermeldungen vermutlich nicht aktivieren.

Ist auf dem Server, auf dem du das Skript ausführst ein Mailserver installiert? Dein Webserver (ich vermute einfach mal, dass du den Apache benutzt) muss außerdem die Funktion mail() unterstützen. Bau dir in dem Zusammenahng mal eine Datei mit diesem Inhalt:

<?php // Show all information, defaults to INFO_ALL
phpinfo(); ?\> Ich habe deinen Quelltext jetzt nicht im Detail durchgeschaut, aber ich habe gleich am Anfang bei dieser Zeile gestutzt: $mailfrom = isset($\_POST["mailfrom"]) ? $\_POST["mailfrom"] : ""; Dass man an dieser Stelle ein Fragezeichen verwenden kann, ist mir neu. Das geht zwar in der URL um mehrere Felder der GET-Methode anzuhängen, aber meines Wissens nicht im Quelltxt. Außerdem verstehe ich nicht, für was der Doppelpunkt gut ist. Bitte schau mal auf diese Seite, ich glaube nämlich, du hast da was bei der isset-Syntax falsch verstanden: [http://php.net/manual/de/function.isset.php](http://php.net/manual/de/function.isset.php) Viele Grüße und viel Erfolg.

DANKE FÜR DEN TIPP.

Jetzt zeigt er folgende Fehlermeldung an:

Fatal error: Call to undefined function mb_internal_encoding() in E:\kunden\homepages\12\d461654316\www\Kontakt.php on line 388

und ich kann mit dieser Meldung nicht wirklich was anfangen. Kannst du mir sagen was damit gemeint ist? Es muss ja irgendwas mit Zeile 388 zu tun haben, die wie folgt lautet:

mb_internal_encoding(„ISO-8859-1“);

oder?

Gruß kleinmei

Hallo,

wenn du dir den HTML-Code zusammenstellst (z.B. $formular) nutzt du für die HTML-Parameter einfachen ’ und nicht doppelte ". Du mußt für PHP ’ und für HTML " verwenden, HTML versteht ’ als Parameter nicht.

Grüße
Tom

Wenn Du etwas nach der Fehlermeldung googelst, kannst Du die Antwort auch schneller selbst finden.

Es scheint, bei Dir ist die für die Funktion mb_internal_encoding(.) nötige Erweiterung nicht aktiviert. Hier steht ein bisschen was dazu:

http://php.net/manual/en/mbstring.installation.php

Weiteres müsste ich auch googeln.

Viel Erfolg!

Hallo kleinmei,

ich lese Deine Anfrage gerade von unterwegs. Bin erst nächste Woche von einer Dienstreise zurück, um näher untersuchen zu können, wo der Fehler liegt.
Wenn dann noch Bedarf besteht, bitte Bescheid sagen.

LG Frank

Hallo Frank,
leider besteht das Problem immer noch.
Hinzufügend lässt sich sagen, dass ich es jetzt geschafft habe eine Fehlermeldung anzeigen zulassen. Diese lautet wie folgt:

Fatal error: Call to undefined function mb_internal_encoding() in E:\kunden\homepages\12\d461654316\www\Kontakt.php on line 388

Ich danke dir jetzt schon mal für deine Hilfe!

LG,
kleinmei

Hallo kleinmei,

ich habe leider keinie Zeit, mir Deinen Code anzusehen. Wenn die Seite aber weiß bleibt, tippe ich darauf, dass es im PHP-Code einen Fehler gibt.

Gruß, Frank