Tom: Reservierungsformular

Beitrag lesen

Hello,

Alle anderen Fehlermöglichkeitn1 sollten eigentlich auf einer tieferen Schicht schon abgefangen werden. Ich meine damit, dass kein Formularfeld einzeln auf dem Weg zum Server sauber herausgetrennt verloren gehen kann.

Ich verstehe ncht ganz was Du meinst. Dass alle Überprüfungen - wie z.B. ob die Eingabe im Feld Telefonnummern nur Zahlen enthält - am anfang der reservation.php durchgeführt werden? Und dies für alle Felder anstatt jedes Eingabefeld in einem anderen Teil des Skriptes zu überprüfen? War das so gemeint?

Nein, ich meinte die Prüfung, ob die Parameter überhaupt gesendet wurden.
Wenn Du ein Formular aufbaust, dass der Client sich per Request beschafft, kann er es sich ja auch zwischenspeichern, nach Belieben manipulieren und dann später erst in deiner persönlichen Variante benutzen. Das ist die Masche der Robots. Dabei lassen sie dann manchmal Felder aus dem Formular aus, weil sie "denken" dass diese für ihren Spam nicht relevant sind oder senden welche zurück, die (als Beispiel) einen Text "ich bin ein Spam-Robot" zugeordnet haben oder enthalten.

Es sollten am Server also immer alle erwarteten Parameterfelder erscheinen und alle logischen entsprechend ergänzt werden, falls dies nötig ist. Eine nicht geklickte Checkbox würde ja ggf. "false" bedeuten für den daran gbundenen Datenbank-Eintrag.

Daraus ergab sich meine These:
Dass auf dem Übertragungsweg nun ein Parameter nur teilweise übertragen wird, und daher Fehler verursacht, halte ich aufgrund der darunterliegenden Netzwerkschichten für nahezu unmöglich. Das dürfte nur durch gewollte Manipulation möglich sein.

Also langsam wirds mir zu kompliziert. Vorhin dachte ich noch ich häts verstanden, aber nun kommen langsam zuviele Fragezeichen auf. Das ist wohl doch bereits ein wenig zu komplex für ein Anfänger wie mich.

Du bist auch auf dem richtigen Weg.
Um Überprüfung kommst Du nicht herum, wie weit Du die treibst, ist Philosophie.

Mit einem entsprechenden "Pflichtarray" kannst Du diese ganze Überprüferei aber einer einzigen Funktion übertragen. Die kannst Du dann in jedem Projekt wiederverwenden.

Du müsstest dann nur das Array mit den Vorgaben jedes Mal befüllen.

#------

Um die Eigenschaften zu setzen, kannst Du Dir auch eine Wrapper-Funktion schreiben:

function set_css(&$_css, $elementtype, $elementname, $format, $value)
{
   $_css[$elementtype.'[name='.$elementname.']'][$format] = $value;
}

ok, ^^ das verstehe ich nun garnicht. Wo ist das nun einzuordnen?!

In der Abteilung "CSS für mein Formular" ;-)

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de