Sinvolle Abfragen via Funktion
cristo
- php
Hallo
In meinem Formular werden eingaben getätigt diese ich wiederum auf Länge, verwendete Zeichen und Gross und kleinschreibung prüfen möchte.
Befor ich mich jetzt in 1000de IF-Schleifen verhaspel wollte ich fragen ob es da ein system gibt welchen erprobt, durchschaubar und gut funtkioniert?
Ich stelle mir vor dass ich oben ersteinmal 3-4 Funktionen erstelle á la:
function check_laenge($string,$max_chars) {
bla bla
}
function check_zeichen($string,$erlaubte_zeichen) {
bla bla
}
So dass ich nciht bei jedem feld mehr die frage stellen muss, sondern sie immer auf eine oben schon geführte funktion verweise... Aber wie bekomme ich soetwas hin, dass ich dann am ende eine liste habe mit:
Feld1:
länge: ok
zeichen: ok
grossklein: ok
Feld2:
länge: ok
zeichen: FEHLER
grossklein: ok
jemand schonmal soetwas gemacht?
ciao
Huhu cristo
jemand schonmal soetwas gemacht?
man kann viele Validierungen mit Hilfe von regulären Ausdrücken
"erschlagen".
Das könnte man in einem Array in etwa so ablegen
// NAME, REG_EXP, ERROR_MSG
$validation = array();
$validation[] = array('Vorname', '#^.{3,25}$#', 'Der Name muss mindestens drei aber höchstens 25 Zeichen haben');
$validation[] = array('PLZ', '#^\d+$#', 'Die Postleitzahl darf nur Ziffern enthalten');
// Und dann so abarbeiten
$error_msg = array();
foreach ($validation as $arr){
if (isset($_POST[$arr[0]])){
$success = preg_match($arr[1], $_POST[$arr[0]]);
}
if (!$success) {
$error_msg[] = $arr[2];
}
}
So ungefähr jedenfalls könnte man dass machen.
Viele Grüße
lulu
Hi lulu
Tut mir leid, ich kann dir nicht folgen was du dort tust... auch wenn ich es bei mir in den code übernehme verstehe ich nicht wo die variablen zum andocken sind... =/
ciao
wie mache ich es vor allem dass ich es kurz fassen kann?
bisher sieht es immer so aus
$cleanup_username="Judidth"; //Wurde zuvor durch ein strip_tag gejagt!
if ($cleanup_username==""){$username_fehler="Kein username angegeben<br>";}else{$check_username="ok";}
.. etc. ... die anderen wie plz oder name...
if ($check_username!="ok" && $check_plz!="ok" &&....) {
echo $fehlerusername.$fehler_plz.$fehler_name;
}
Der vorteil ist eben dass er checkt ob etwas stmmt.. wenn ja macht er ein ok ansonsten erstellt er eine fehelrmeldung... unten sieht er dass eine variabel (weil schon nichtmal gesetzt) nicht 'OK' ist und gibt alle möglichen fehlermeldungen aus... da hier nur die erstellt wurden die wirklich fehler aufwiesen gibt er natürlich nur diese aus...
Hello,
schön wäre es ja, wenn man ein Set von StandardChecks zusammenstellen würde, dann säter nur noch eine Matrix aujsfüllen müsste und daraus die ganze Applikation entsteht, so wie das eben bei developer2000 oder anderen Datenbank-Entwicklungstools geht...
Welche Standardchecks fallen mir ein?
Feld darf nicht leer sein
Formatvorgaben (Feld darf enthalten:)
- Großbuchstaben
- Kleinbuchstaben
- Ziffern
- Umlaute
- Sonderzeichen allgemein
- Jokerzeichen
Formatvorgaben (Feld muss enthalten)
- @
hier passen dann bestimmt die regulären Ausdrücke
Feldlänge mininam
Feldlänge maximal
Numerischer Wert minimal
Numerischer Wert maximal
Typenprüfung
... usw.
Viele dieser Vorgaben kann man schon aus der Tabellendefínition einer DB herauslesen. Das muss ja später zusammenpassen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin cristo,
Befor ich mich jetzt in 1000de IF-Schleifen verhaspel wollte ich
Nur zur Info: Es gibt keine IF-Schleifen!
"If" ist immer eine Bedingung, und WHILE ist eine Schleife.
Gruß
Mike