Vinzenz Mai: Frage zum Affenformular

Beitrag lesen

Hallo tinu,

schön, dass Du nicht aufgegeben hast!

Ich habe eine Frage zum Thema Affenformular und beziehe mich dabei auf dieses Beispiel.

Sehe ich das richtig, dass man für jedes blöde Formular-Eingabefeld nun eine eigene Funktion schreiben müsste?! Wär meiner Meinung nach sehr bescheuert.

nicht für jedes, aber für jeden Typ von Überprüfung. So etwas kannst Du in einer Klasse machen. Beispielsweise kannst Du eine Prüfmethode schreiben, die auf Minimal- eine, die auf Maximallänge prüft, wobei die Grenzwerte als Parameter übergeben werden können.

Und was bitteschön bedeutet das /\s/ in diesem Abschnitt:
if (preg_match("/\s/", $val)) Ok, es heisst anscheinend  "Leerzeichen" und "Tabulator" aber welches Zeichen ist was?!

siehe SELFHTML, Kapitel Perl, Abschnitt Reguläre Ausdrücke für einzelne Zeichen. preg_match arbeitet mit Perl-kompatiblen regulären Ausdrücken, deswegen nicht verwundert sein über einen Verweis zu Perl, auch wenn es hier um PHP geht.

Und wofür wird die Variable $valid als true oder false definiert, wenns nirgends verwendet wird ausser hier:

<?php if ($valid and isset($_REQUEST["do_form_x"])) { ?>


> Und darauf kann ich mir keinen mir auch keinen Reim machen, denn was soll eine if-Abfrag mit einer Variable die auf nix überprüft wird?!  
  
Du gehst durch eine Reihe von Prüfungen. Auch bei einem Feld könnten die verschiedensten Fehler auftreten. Ein Beispiel:  
  
Textfeld ist nicht ausgefüllt, aber Pflichtfeld.  
Textfeld enthält zu wenig Zeichen,  
Textfeld enthält zu viele Zeichen,  
Textfeld enthält unzulässige Zeichen ...  
  
  
Wenn irgendeine fehlschlägt, wird $valid auf false (nicht "false" gesetzt). Aber nur wenn alle Prüfungen erfolgreich waren und halt eben auch etwas im Eingabefeld stand, dann gibts das Verarbeitungsergebnis (bei Dir war das show.php, glaube ich), sonst halt eben das Formular mit der bisherigen Eingabe.  
  

> \*grrr\*... mich ärgerts dass ich anscheinend echt unfähig bin.  
  
jeder hat mal angefangen. Mach' Dich doch nicht unnötig fertig.  
Mir ist das auch schon öfter passiert, dass ich vor irgendwelchem Code saß, Stunden über Stunden und die einfache und eigentlich offensichtliche Lösung nicht fand.  
  
  
Freundliche Grüße  
  
Vinzenz