dieeinzigwahre: Kontaktformular mit Sonderzeichenproblem

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


  1. 0-9a-zA-Z ↩︎

  1. 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

    --
    ===============================
    powl.hat-gar-keine-homepage.de/

    1. 0-9a-zA-Z ↩︎

    1. 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 :(

      1. 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.