un Forastero  <Webworking>


wir prüfen auf: gleichen Inhalt

Freitag, 19 Juni 2009   

Von Spammern immer wieder gerne genommen. Alle Felder mit den gleichen Werten besetzen (sehr gerne Links, dazu: hier mehr). Formular absenden - Juchu. Der Formmailer im Hintergrund jammert nicht, es wurden ja alle Felder gefüllt. Er jammert nicht, der Vorname hat 12 Zeichen und liegt im Soll.

<?php

function gleiche_fuellung($array){
$kt1=count($array);
$array_u = array_unique($array);
$kt2=count($array_u);
if($kt1===$kt2){return 0;}// alles okay
else{return 1;} // doppelter Inhalt in Formularfeldern
}

// Funktionsaufruf - checken auf gleichen Inhalt
$pls_chk=array($name,$strasse,$hnr,$plz,$stadt);
if(gleiche_fuellung($pls_chk)!=0){$fehler=1;}

?>

Die Funktion erwartet ein Array, darin sind die (schon vorgesicherten!) Variablen aus dem Formular. Wichtig, nur Pflichtfelder. Dürfen 2 oder mehr Felder frei gelassen werden, so haben diese den gleichen Inhalt (beide sind leer) und führen dann zu einer Fehlermeldung.

Die Anzahl der Elemente des Array wird ermittelt (count()). Mit der Funktion array_unique() werden nun eventuell vorhandene gleiche Werte einzelner Elemente entfernt. Die Elemente des so präparierte Arrays werden ebenfalls gezählt. Beide Zahlen werden verglichen und müssen gleich sein. Wenn die Zahlen nicht gleich wären, hätte array_unique() ein Element (weil gleicher Inhalt) entfernt. Kommt es nicht zur Fehlermeldung sind alle Felder unterschiedlichen Inhalts, weiter gehts.





Kommentare

es gibt insgesamt 0 Kommentar(e)



Name*
Vorname
Kommentar*
Email
Homepage
Telefon
Sicherheitscode *
 


This is a nested column

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

This is another nested column

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.