• wie kann ich prüfen ob der inhalt der variable

    Code
    $_POST["email"]

    auf die RegEx

    Code
    \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

    passt...?

    und was muss ich einbauen um eventuelle fehler im script zu finden?

  • Wenn du nur willst, dass dieser String mit ner Regex überprüfen willst , dann kannste die
    Methode preg_match verwenden


    Ungetestet und aus dem Stand:

    if($_POST['email'] != ""){

    // das ^ [... ] $ in der Regex heißt dann vom Anfang bis zum Ende des String
    preg_match("^([\\w]+)(([-\\.][\\w]+)?)*@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$",$_POST['email'] ,$treffer);

    // Email korrekt
    if($treffer > 0){
    // korrekter inhalt
    } else // ansonsten nicht


    }

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • danke werd ich mal testen..

    habs jetzt etwas verkürztauf

    Code
    preg_match("^([\\w]+)(([-\\.][\\w]+)?)*@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$",$_POST["email"] ,$treffer);
    if($treffer==0){
    	$faults['email'] = "Please enter your email.";
    }

    $faults is nen array in das ich die ganzen fehlermeldungen reinkritzel, um se dann am ende auszugeben

  • die regex stammt übrigens aus Java Schreibweise bei den doppelten Slash müssen glaub ich noch angepasst werden auf einen einfachen Slash.

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • danke für all eure antworten..

    Code
    if(!preg_match('#^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$#i', $_POST["email"])){
    	$faults['email'] = "Please correct your e-mail address.";
    
    }

    so klappt es und ich bin zufrieden :o)
    das captcha läuft die alten funktionen der ollen website sind optisch gleich.
    also look and feel passt au...
    prob gelöst und ich hab echt spass gefunden an php
    *achtung ducken.. ironie-attacke*

  • ich habe vor einiger zeit einen code bei selfhtml gefunden und daraus ein unterprogramm gemacht.
    Is glaub ich genauer als selbst geschriebene.

    da reicht jetzt nur

    Code
    if(check_email($_POST['email'))

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Zitat von synaptic

    so klappt es und ich bin zufrieden :o)


    So klappt es nicht und du solltest nicht zufrieden sein!

    willi.wacker @ irgendwo.museum

    ist eine gültige email-adresse, die bei dir verschluckt wird. Warum nicht auf ausgereifte funktionen von pear zugreifen???