Frage zu DVD kaufen

  • Ich habe ein ganz anderes Problem.Ich möchte auf meinem Formular prüfen, ob der Benutzer die E-Mail-Adresse richtig geschrieben hat.
    Klapt es nicht! Hier ist das preg_match:
    <?php
    function is_mail ( $testmail ) {
    $suchmuster = "/^[-\w.]+@([A-z0-9] [-A-z0-9]+\.)+[A-z] {2,4}$/";
    $erg = preg_match($suchmuster, $testmail);
    return ($erg > 0);
    }
    if ( is_mail("muster@chello.at") == false )
    {
    echo"<p>E-mail ist falsch</p>";
    }
    else
    {
    echo "<p>E-mail ist richtig</p>";
    }
    ?>
    Normal, jetzt sollte mir True(also,Email ist richtig) ausliefern. Bekomme ich aber False.
    Egal wie ich es modifiziere,bekomme ich in FireFox und in IE immer False. Bitte seien Sie so nett, mir das korrekte Suchmuster oder den Fehler mitzuteilen.
    Können Sie mir per Email schicken: <!-- e --><a href="mailto:kovacs.josef@chello.at">kovacs.josef@chello.at</a><!-- e -->
    Herzlichen Dank.

  • Spontan würde ich sagen das es an dem . in der ersten [] nicht klappt.
    Setzt da mal bitte ein \ vor, so wird der Punkt nicht mehr als jedes Beliebiges Zeichen gedeutet, sondern als Punkt.


    PS: filter_var() ist an für sich besser für solche Überprüfungen geeignet, da diese Punktion vordefiniert ist.
    Vordefinierte Funktionen sind immer schneller.

    PHP
    1. <span class="syntaxdefault"></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">filter_var</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"email"</span><span class="syntaxkeyword">], </span><span class="syntaxdefault">FILTER_VALIDATE_EMAIL</span><span class="syntaxkeyword">) !== </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">){<br /> echo </span><span class="syntaxstring">'Valide E-Mail-Adresse'</span><span class="syntaxkeyword">;<br />} else {<br /> echo </span><span class="syntaxstring">'Ungültige E-Mail-Adresse'</span><span class="syntaxkeyword">;<br />} </span><span class="syntaxdefault"></span>