Kontaktformular mit Sonderzeichenproblem
dieeinzigwahre
- php
0 Powl
Hallo!
Ich erstelle gerade ein Bestellformular. Nachdem man eine Bestellung abgeschickt hat, bekommt man eine automatisch erstellte Email als Bestätigung der Bestellung. Diese Bestätigung ist bei mir als txt.-Datei abgespeichert. Das Problem ist, dass diese automatisch erstelle Nachricht kein äöü und ß anzeigt, weshalb die Daten, die der Nutzer in das Bestellformular eingegeben hat, komisch aussehen, wenn der Name z.B. ein ü enthält.
Was muss ich verändern, damit das geht?
Vielleicht in dieser Zeile?
$v_email = preg_replace( "/[^a-z0-9 !?:;,./_-=+@#$&\*()]/im", "", $v_email );
oder hier?
function check_email($email)
{
return (eregi('[1]([-_.]?[0-9a-zA-Z])*@0-9a-zA-Z*\.[a-zA-Z]{2,4}$',$email)==false ? false : true);
}
Viele Grüße
0-9a-zA-Z ↩︎
Hallo,
Hallo!
Ich erstelle gerade ein Bestellformular.
Wenn Du das tust, wieso verstehst Du dann Deine eigenen Funktionen nicht?
$v_email = preg_replace( "/[^a-z0-9 !?:;,./_-=+@#$&\*()]/im", "", $v_email );
...
function check_email($email)
{
return (eregi('[1]([-_.]?[0-9a-zA-Z])*@0-9a-zA-Z*\.[a-zA-Z]{2,4}$',$email)==false ? false : true);
}
Wenn Du Sonderzeichen darstellen willst, musst Du einen charset benutzen, der die Sonderzeichen enthält, z.B. utf-8 oder iso-8859-1.
Das bedeutet aber foldendes:
Das HTML Dokument, das das Formular enthält;
Die Textdatei, die den Text speichert;
Der E-Mail header
müssen analog den entsprechenden charset bedienen, sonst kommt es zu unlesbaren Ergebnissen.
Die Funktion check_email prüft eigentlich nur, ob eine Eingabe ungefähr eine Email-Adresse ist. preg_match wäre aber performanter.
Und mMn würde auch reichen "#(.+)@(.+).(\w){2,4}#", oder so ähnlich.
netten Tag
^da Powl
0-9a-zA-Z ↩︎
Okay, damit bin ich vollkommen überfordert, da ich eine komplette Niete auf dem Gebiet bin. Hoffentlich finde ich jemanden, der sich damit auskennt und mir das einrichten kann :(
Zu deiner ersten Frage:
Ich erstelle es nach Vorlage. Ein Freund hat mir ein bereits vorprogrammiertes Script gegeben, dass ich nun nach meinen Vorstellungen anpasse.