Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]933[/thread]

Formularentwurf: Wie würdet ihr es machen?

Leser: 1


<< >> 6 Einträge, 1 Seite
pktm
 2007-05-22 21:03
#123 #123
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich möchte mir ein schmuckes Formular programmieren, mit dem Benutzer auf einer Hotel-Webseite bequem Zimmer reservieren können.
Die Sache soll ganz unverbindlich ablaufen, so ist die Reservierung nicht verbindlich und muss zuvor vom Hotel telefonisch oder per eMail bestätigt werden.

Ich möchte daher kein Shopsystemartiges Teil bei dem sich der Benutzer irgendwie registrieren müsste oder so.
Am liebsten möchte ich auch auf Sessions verzichten, da sich dann wieder die üblichen Probleme oder unangenehmen Nebeneffekte einstellen wie z.B. benötigte Cookies oder unmengen an Datenmüll. Sicherlich kann man das auch irgendwie ohne Cookies machen und den Datenmüll von seinem Skript wegräumen lassen, aber ich umgehe das lieber indem ich es einfach nicht einbaue. Bislang bin ich damit recht gut gefahren.

Ich hatte das schonmal vor einigen Jahren programmiert, aber das gefällt mir absolut nicht und daher juckt es mich das nochmal im Rahmen meiner fortgeschrittenen Kenntnisse mit CGI::Application und dem dazugehörigen Dispatch-Aufsatz ordentlich zu machen.

Nun, im wesentlichen muss der potentielle Gast ( :) ) seine personenbezogenen Daten wie Name, Anschrift und Telefonnummer / eMailadresse angeben, wann er kommen und gehen möchte und zu guter Letzt natürlich was er für ein Zimmer möchte und wieviele.

Letzteres ist dann auch der Hasenfuß an der Sache. Momentan bin ich kurz davor eines dieser gigantischen Formulare zu machen, die mehrere Buttons zum absenden besitzen, dynamische Feldnamen verwenden, viel gefriemel im Skript verlangen um nach dem absenden wieder ausgelesen werden zu können und insgesamt grauenhaft zu warten sind.

Immerhin benötige ich einen Button zum Absenden des Formulars, einen zum Hinzufügen eines Zimmers und einen zum Entfernen eines Zimemrs aus der Liste der vorgemerkten Zimmer.
Dass ich die Buttons zum Hinzufügen und zum Entfernen von Zimmern haben möchte hat was damit zu tun, dass ich das Formular nicht in der Hinsicht einschränken möchte, dass man nur ein Zimmer, oder eine vorgegebene Anzahl von Zimmern (z.B. 3, wie es jetzt gerade ist) auswählen kann. Der derzeitige Zustand verwirrt die Besucher des Formulars wahrscheinlich eher - warum sollte er denn auch 3 Zimmer buchen wollen?

Das Verfahren ein solches komplexes Formular zu entwerfen hat den tollen Vorteil, dass für den Besucher der Webseite alles auf einer Seite steht, die zudem auch noch zu überblicken ist.

Die andere Möglichkeit wäre alles aufzuteilen in verschiedene Eingabeformulare, die jeweils nur einzeln erscheinen. So würde der Besucher dann zuerstmal seine personenbezogenen Daten eingeben und dann nach Validation des Formulars zu dem Formular kommen, wo er die Anzahl und Art der Zimmer aussuchen könnte. Mal von dem Formular wo er sich seine Angaben nochmal ansehen und eventuell bestimmte Bereiche nochmal ändern kann abgesehen.

Ich finde Seiten, bei denen ich erstmal alles über mich erzählen soll bevor ich irgendwas machen kann (in unserem Fall die Zimmer aussuchen) aber immer ein bischen abschreckend. Das könnte man hier aber leicht durch die Reihenfolge der EIngaben ändern, also zuerst das FOrmular für die Zimmer anzeigen lassen.

Was meint ihr? Wie (und vor allem warum so) würdet ihr es machen?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2007-05-22 22:58
#124 #124
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich würde vermutlich mit sessions arbeiten, da einem das eine
menge arbeit abnimmt.
datenmüll? wieso? einfach alte sessions löschen sollte ja mit einem
simplen cronjob getan sein.
cookies? nicht nötig. du kannst die session-id auch in der url mitgeben.
idealerweise erlaubt man beides.
wenn du partout keine sessions willst, musst du dir überlegen,
wie du die daten weiterschleifst. ist natürlich machbar, aber IMHO mehr arbeit.
ansonsten sehe ich jetzt keine konkreten probleme, so ein formular aufzubauen.
zimmerauswahl würde ich aus den genannten gründen ebenfalls vor eingabe
der persönlichen daten machen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pktm
 2007-05-22 23:27
#125 #125
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, ja. Das mit den Sessions ist so eine Sache. Ich mag die nicht, da ich bislang z.B. noch nie eine Webseite bei einem Provider aufgesetzt habe, der Cron-Jobs angeboten hat, bzw. wenn sie angebiten wurden, dann immer kostenpflichtig. Die Alternative dazu war beim Scriptaufruf die Arbeit jedesmal selbst zu erledigen, und das war mir zu blöd.

Die Daten würde ich, da es stets Formulare sind per post weiter schleifen. Mit get hatte ich manchmal Probleme, wenn die maximale Größe für die get-Parameter erreicht wurden. Das war z.B. bei Formulareingaben der Fall bei denen der Quelltext einer Webseite mitgegeben wurde. Bei diesem Skript kann das Limit für den get-Query zwar nur unter äußerst seltsamen Bedingungen erreicht werden, aber ich habe mir angewöhnt immer gleich mit post zuarbeiten damit ich Sachen wiederverwenden kann.

Direkte Probleme bei der Implementierung habe ich nciht, ich stelle mir nur die Frage, ob ich das Formular auf mehrere Webseiten aufteilen soll oder kompakt auf einer Seite darstellen soll.

Danke für die Rückmeldung, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
nepos
 2007-05-23 10:08
#126 #126
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nun ja, das Aufraeumen der alten Sessions muss ja nicht jedesmal passieren. Eine Forensoftware, die ich mal am Laufen hatte, hat sich einfach den Timestamp des letzten Aufraeumens gemerkt und bei jedem Aufruf gecheckt, wie lange das letzte Mal her war. Warens mehr als 24 Stunden, dann wurde aufgeraeumt. Das mindert die Last im Schnitt deutlich denke ich.
frankes
 2007-05-30 12:55
#127 #127
User since
2005-04-02
140 Artikel
BenutzerIn

user image
Mal anderst gefragt.
Reicht für deine Zimmerbestellung nicht ein Formular?
Die Anzahl der Zimmer könnte man auch einfacher mit einer Selectbox lösen.

So müsstest du dir keine Gedanken über das Weiterschleifen der Daten machen.
pq
 2007-05-30 14:06
#128 #128
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
sobald man mehrere verschiedene zimmer möchte, reicht aber ein
formular nicht mehr (1 doppelzimmer nichtraucher, ein einzelzimmer
raucher usw. usf.)

zudem möchte man bei einer falschen eingabe das formular mit den gemachten
eingaben auch nochmal anzeigen statt einer aufforderung, im browser zurückzugehen.
die meisten leute wissen im ajax-zeitalter nämlich nicht mehr, wozu der back-button da ist.\n\n

<!--EDIT|pq|1180519893-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 6 Einträge, 1 Seite



View all threads created 2007-05-22 21:03.