dedlfix: Fehler in PHP Kontaktformular

Beitrag lesen

Tach!

Ich denke, wenn man vom praktischen Fall der Prüfung ausgeht, geht eine Prüfung nach @ und . schon in Ordnung. Allerdings ist sie unzureichend umgesetzt. Sein Script würde "@." auch als gültig anerkennen.

Oder auch .@ oder jede beliebige andere Kombination von . oder @ am Anfang, egal ob noch was folgt oder nicht.

$pos2 = strpos($email, "@");
            $pos3 = strpos($email, ".");

if(($pos2 == false) OR ($pos3 == false))
                {
                    echo "In deiner E-Mail Adresse gibt es einen Fehler";
                    die;
                }

Wenn @ oder . am Anfang steht, liefert strpos() den Wert 0. $pos2 oder $pos3 ist also 0, was einem false entspricht, und eins davon reicht, um die Bedingung zu erfüllen.

Zudem ist die Aussage "In deiner E-Mail Adresse gibt es einen Fehler" nicht sehr anwenderfreundlich. "Ich hab zwar auf konkrete Bedingungen geprüft, aber ich sag dir nicht, was falsch ist. Was falsch ist, lieber Anwender, musst du schon selbst herausfinden."

dedlfix.