Hallo Leute,
arbeite erst seit kurzem mit PHP und hab jetzt mein erstes Kontaktformular erstellt. Es arbeitet fehlerfrei und die Eintragungen kommen bei mir per Email an.
Da aber ja html die Umlaute etc. von PHP nicht erkennt, hab ich folgenden Code unmittelbar nach <?php und vor der if(§_POST... eingefügt:
Die Website hat folgende Grundeinstellung (über Template): <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ich habe auch folgende Einstellung versucht:
aber auch das half nichts.
Hab dann auch eine Blankoseite ohne Layout hochgeladen - aber auch hier funktionierte das Umwandeln der Umlaute nicht (an meinem Weblayout ist also auch kein Hinderniss drin).
Mein ftp-server ist bei web.de, falls das noch von Bedeutung wäre.
Zur Sicherheit hier noch der vollständige php-text:
Die Fehlermeldungen klappen alle, wenn nicht die Pflichtfelder ausgefüllt sind, das übermitteln der Daten klappt wunderbar - nur diese Umlaute etc. werden kryptisch übermittelt.
Würd mich riesig freuen, wenn mir hier einer helfen kann. Ein Freund hat schon drüber geschaut und auch versucht zu helfen, er meinte, der php-code sei fehlerfrei - daher jetzt mein Post.
Danke und LG
Birgit
arbeite erst seit kurzem mit PHP und hab jetzt mein erstes Kontaktformular erstellt. Es arbeitet fehlerfrei und die Eintragungen kommen bei mir per Email an.
Da aber ja html die Umlaute etc. von PHP nicht erkennt, hab ich folgenden Code unmittelbar nach <?php und vor der if(§_POST... eingefügt:
PHP:
$von = str_replace("ä", "ä", $von);
$von = str_replace("Ä", "Ä", $von);
$von = str_replace("ö", "ö", $von);
$von = str_replace("Ö", "Ö", $von);
$von = str_replace("ü", "ü", $von);
$von = str_replace("Ü", "Ü", $von);
$von = str_replace("ß", "ß", $von);
$von = str_replace("&", "&", $von);
$von = str_replace("<", "< ", $von);
$von = str_replace(">", "> ", $von);
$nachricht = str_replace("ä", "ä", $nachricht);
$nachricht = str_replace("Ä", "Ä", $nachricht);
$nachricht = str_replace("ö", "ö", $nachricht);
$nachricht = str_replace("Ö", "Ö", $nachricht);
$nachricht = str_replace("ü", "ü", $nachricht);
$nachricht = str_replace("Ü", "Ü", $nachricht);
$nachricht = str_replace("ß", "ß", $nachricht);
$nachricht = str_replace("&", "&", $nachricht);
$nachricht = str_replace("<", "< ", $nachricht);
$nachricht = str_replace(">", "> ", $nachricht);
$nachricht = str_replace("\r\n", "<br />", $nachricht);
$betreff = str_replace("ä", "ä", $betreff);
$betreff = str_replace("Ä", "Ä", $betreff);
$betreff = str_replace("ö", "ö", $betreff);
$betreff = str_replace("Ö", "Ö", $betreff);
$betreff = str_replace("ü", "ü", $betreff);
$betreff = str_replace("Ü", "Ü", $betreff);
$betreff = str_replace("ß", "ß", $betreff);
$betreff = str_replace("&", "&", $betreff);
$betreff = str_replace("<", "< ", $betreff);
$betreff = str_replace(">", "> ", $betreff);
$mail = str_replace("ä", "ä", $mail);
$mail = str_replace("Ä", "Ä", $mail);
$mail = str_replace("ö", "ö", $mail);
$mail = str_replace("Ö", "Ö", $mail);
$mail = str_replace("ü", "ü", $mail);
$mail = str_replace("Ü", "Ü", $mail);
$mail = str_replace("ß", "ß", $mail);
$mail = str_replace("<", "< ", $mail);
$mail = str_replace(">", "> ", $mail);
Die Website hat folgende Grundeinstellung (über Template): <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ich habe auch folgende Einstellung versucht:
PHP:
$mail = htmlentities($_POST['mail']);
$betreff = htmlentities($_POST['betreff']);
$nachricht = htmlentities($_POST['nachricht']);
$von = htmlentities($_POST['von']);
aber auch das half nichts.
Hab dann auch eine Blankoseite ohne Layout hochgeladen - aber auch hier funktionierte das Umwandeln der Umlaute nicht (an meinem Weblayout ist also auch kein Hinderniss drin).
Mein ftp-server ist bei web.de, falls das noch von Bedeutung wäre.
Zur Sicherheit hier noch der vollständige php-text:
PHP:
<?php
$von = str_replace("ä", "ä", $von);
$von = str_replace("Ä", "Ä", $von);
$von = str_replace("ö", "ö", $von);
$von = str_replace("Ö", "Ö", $von);
$von = str_replace("ü", "ü", $von);
$von = str_replace("Ü", "Ü", $von);
$von = str_replace("ß", "ß", $von);
$von = str_replace("&", "&", $von);
$von = str_replace("<", "< ", $von);
$von = str_replace(">", "> ", $von);
$nachricht = str_replace("ä", "ä", $nachricht);
$nachricht = str_replace("Ä", "Ä", $nachricht);
$nachricht = str_replace("ö", "ö", $nachricht);
$nachricht = str_replace("Ö", "Ö", $nachricht);
$nachricht = str_replace("ü", "ü", $nachricht);
$nachricht = str_replace("Ü", "Ü", $nachricht);
$nachricht = str_replace("ß", "ß", $nachricht);
$nachricht = str_replace("&", "&", $nachricht);
$nachricht = str_replace("<", "< ", $nachricht);
$nachricht = str_replace(">", "> ", $nachricht);
$nachricht = str_replace("\r\n", "<br />", $nachricht);
$betreff = str_replace("ä", "ä", $betreff);
$betreff = str_replace("Ä", "Ä", $betreff);
$betreff = str_replace("ö", "ö", $betreff);
$betreff = str_replace("Ö", "Ö", $betreff);
$betreff = str_replace("ü", "ü", $betreff);
$betreff = str_replace("Ü", "Ü", $betreff);
$betreff = str_replace("ß", "ß", $betreff);
$betreff = str_replace("&", "&", $betreff);
$betreff = str_replace("<", "< ", $betreff);
$betreff = str_replace(">", "> ", $betreff);
$mail = str_replace("ä", "ä", $mail);
$mail = str_replace("Ä", "Ä", $mail);
$mail = str_replace("ö", "ö", $mail);
$mail = str_replace("Ö", "Ö", $mail);
$mail = str_replace("ü", "ü", $mail);
$mail = str_replace("Ü", "Ü", $mail);
$mail = str_replace("ß", "ß", $mail);
$mail = str_replace("<", "< ", $mail);
$mail = str_replace(">", "> ", $mail);
if($_POST['von']!="" and $_POST['mail']!="" and $_POST['betreff']!="" and $_POST['nachricht']!="" and $_POST['antwort']!="") {
$empf = "[email protected]";
$betreff = $_POST['betreff'];
$from = "From: ";
$from .= $_POST['von'];
$from .= " <";
$from .= $_POST['mail'];
$from .= ">\n";
$from .= "Replay-Too: ";
$from .= $_POST['mail'];
$from .= "\n";
$from .= "Content-Type: text/html\n";
$text = $_POST['nachricht'];
mail($empf, $betreff, $text, $from);
echo "Vielen Dank für Ihre Anfrage. Über einen Gästebucheintrag würde ich mich ebenso freuen!"; }
else
{
echo "Bitte fülle alle Felder aus"; }
?>
Die Fehlermeldungen klappen alle, wenn nicht die Pflichtfelder ausgefüllt sind, das übermitteln der Daten klappt wunderbar - nur diese Umlaute etc. werden kryptisch übermittelt.
Würd mich riesig freuen, wenn mir hier einer helfen kann. Ein Freund hat schon drüber geschaut und auch versucht zu helfen, er meinte, der php-code sei fehlerfrei - daher jetzt mein Post.
Danke und LG
Birgit
Zuletzt bearbeitet: