Autor |
Nachricht |
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Di 23.10.2007 17:31
Titel PHP Kontaktformular und Umlaute |
|
|
Hallo, das alte Problem mal wieder.
Kann mir mal jemand sagen, was
ich hier falsch mache? Die Umlate
verschwinden föllig. Auf verschiedenen
Servern getestet.
Formular
Code: | <form action="test.php" method="post" accept-charset="utf-8">
<input type="hidden" name="id" value="1b" />
<input type="hidden" name="send" value="1" />
<input type="text" name="name">
<input type="submit" name="submit">
</form> |
test.php
Code: | <?php
$mailto = "xxx";
$nachricht_senden = "";
if (!empty($_POST['send'])) {
$error = 0;
$name = filter($_POST['name']);
$test = htmlspecialchars($name);
if (!$error) {
if (@mail($mailto, "Kontaktformular Homepage", "Name:\n$test", "content-type: text/html; charset=utf-8; \n From: $test <>")) {
$nachricht_senden = "e-Mail verschickt!";
unset($_POST['name']);
}
else {
$nachricht_senden = "Beim senden trat ein Fehler auf!";
}
}
}
function filter($input) {
$result = preg_replace("/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $input);
return preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $result);
}
?> |
Über die SuFu hab' ich zwar einiges gefunden,
aber egal, was ich ausprobiere ... es funzt net.
Scheine letztes Wochenende zu viel Hirn
verloren zu haben
LG und danke schon mal im Voraus
|
|
|
|
|
Simonhard
Dabei seit: 25.01.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 23.10.2007 17:38
Titel
|
|
|
Check mal die eingestellte Kodierung im Dokument bzw. auf dem Server.
Wenn alles korrekt auf utf-8 läuft, kannst Du Dir auch die Form-Kodierung sparen.
|
|
|
|
|
Anzeige
|
|
|
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Di 23.10.2007 18:05
Titel re |
|
|
Nein, das jann ich leider net einstellen.
Ich bin bei TipTip. die bieten zwar viel
Platz für wenig Geld, aber die Zeichen-
kodierung kann ich net ändern.
Ich hatte es schon mit replace versucht.
Wusste aber auch net so recht, was ich
ersetzen soll, wenn ich keine ae oe und ue
benutzen möchte. Und ä mit ä zu ersetzen
sollte net klappen.
|
|
|
|
|
schattenjaeger
Dabei seit: 03.11.2005
Ort: Kiel
Alter: 34
Geschlecht:
|
Verfasst Di 23.10.2007 18:47
Titel
|
|
|
Bei mir hat das als content-type immer gefunzt:
Content-Type:text/plain;\n\t charset=\"ISO8859-15\
|
|
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 23.10.2007 21:19
Titel
|
|
|
Da: html_entity_decode($String);
Jetzt werden alle Sonderzeichen mit den html-Zeichen (ä usw.) ersetzt.
|
|
|
|
|
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Mi 24.10.2007 09:07
Titel re |
|
|
@ schattenjaeger
@ Smooth-Graphics
Nein! Es geht beides net. Hat das jemand von euch
mal mit meinem Formular getestet oder funktioniert
es einfach "global"?
Glaube nämlich langsam, dass in meinem fehlerfreien
Code irgendwo ein Fehler existiert. Ich bekomme
einfach kein "ä" und so übertragen. Umlaute werden
schlicht verschluckt.
|
|
|
|
|
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Mi 24.10.2007 11:13
Titel Gelöst! |
|
|
So ... ich hab's tatsächlich net hinbekommen
und mir erst einmal so beholfen:
PHP
Code: | <?php
$Empfaenger = "xxx";
if($_REQUEST['Send']) {
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST)) {
if($Formularfeld!="Send" && $Formularfeld!="style" && $Formularfeld!="__utmz" && $Formularfeld!="__utma") {
$Mailnachricht .= $Formularfeld.":\n".$Wert."\n\n";
}
}
$Mailnachricht .= "\nDatum /Zeit:\n";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Kontaktformular";
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: Homepage");
}
else
{
echo"Ein Fehler ist aufgetreten.";
}
?> |
Felder wie "style" oder "__utmz", welche ich oben vom Versand ausschließe
sind welche, die er nun blöderweise mitüberträgt, obwohl sie als input net
vorhanden sind.
Das ändert nix daran, dass meine eigentlich Lösung
funktionieren sollte, aber läuft
Vielen Dank erstmal!
|
|
|
|
|
|
|
|
Ähnliche Themen |
Nochmal PHP Kontaktformular UMLAUTE
PHP Umlaute
PHP Mailformular umlaute
[XML + Flash] Umlaute ...
Suchmaschine und Umlaute?
umlaute im gästebuch
|
|