Tom: Reservierungsformular

Beitrag lesen

Hello,

Ist das zu umständlich, oder ist das sauber "programmiert"? Hab mir gedacht ich mache bei den errormeldungen einen zweidimensionalen Array, da ich noch nicht weiss wieviel Fehlermeldungen dazukommen.

Das ist schon recht gut.
Du kannst das

if(isset($_POST['submit']))

für alle Eingaben zusammenfassen.
Du solltest zusätzlich noch jeweils ein

if(isset($_POST['name']) ...
   if(isset($_POST['phone']) ...

einbauen, um nicht aus Vershen auf nicht vorhandene Post-Variablen zuzugreifen.
Das kann passieren, wenn ein Faker (Robot) am Werk ist. 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.

Die Abfrage, ob alle erwarteten Felder auch angekommen sind und was bei Ausbleiben bestimmter (z.B. Checkboxen) stattfinden muss, sollte man ganz am Anfang des Scriptes einbauen.

Ein Array mit allen erwarteten und deren Pflicht zum Vorhandensein ist da ganz hilfreich zum Abgleich.

Feldname
     Pflichtfeld
       Aktion bei Nichtvorhandensein -> false setzen
                                     -> Alarm schlagen
     usw...

Nochmal zurück zum Thema CSS:
Wieso hast Du das ganze denn als array und foreach-schleife gebastelt anstelle eines einfach Stylesheets? Ansonsten bin ich noch dabei zu versuchen dein CSS-Vorschlag zu "entschlüsseln".

Was bedeutet denn:
define ('NL',chr(13).chr(10)); (also vor allem halt chr(13).chr(10) )

Damit wird eine Newline-Zeichenkette definiert. HTTP erwartet  0d0a (hex) als Newline, egal, auf welchem System das Ganze läuft.

uff... ziemlich kompliziert das ganze

Eigentlich musst Du es nur noch anwenden.
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;
}

Beachte bitte das '&' für die Übergabe der Array-Referenz von $_css
Da passieren dann weniger Fehler mit den Klammern beim Setzen der Eigenschaften.
Und außerdem könnte diese Funktion auch Rückgabewerte erzeugen:

  • CSS Eigenschaft gitb es nicht (Syntax-fehler, CSS-Fehler)
  • CSS Eigenschaft wurde übeschrieben
  • CSS Eigenschaft wurde nue hinugefügt
  • usw ...

Das kann man dann, besonders, wenn man sich ein OOP-Klassensystem erzeugt für die Seitengenereierung, beliebig weit treiben...

Man sollte dann darauf achten, dass man für den Betrieb nur noch wenige Zeilen schreiben muss, um ganze Eingabe-Ausgabe-Dialoge im client-Server-Umfeld zu erstellen undes nicht so kompliziert macht, wie es bei ASP.net ist.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

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