buchungssystem, session management, abläufe...
michel gelin
- programmiertechnik
0 Tom0 wahsaga0 Sven Rautenberg
Hallo zusammen,
...ich steh' wohl kurz davor endlich das thema session management in angriff zu nehmen :-)
Ich möchte ein Kursbuchungssystem programmieren (PHP, MySQL), db-technisch und programmiertechnisch sollte ich das eigentlich hinbekommen.
Meine Frage bezieht sich nun auf den programmtechnischen ablauf, ich sehe zwei mögliche variante (beide kommen je nach user präferenzen vor).
Variante 1
1 >Anmelden / Einloggen<
2 Kurs auswählen
3 Angaben bestätigen
4 Kurs anmelden
5 Kurs bestätigen (mail, bildschirm)
6 Logout
Variante 2
1 Kurs auswählen
2 >Anmelden / Einloggen<
3 Angaben bestätigen
4 Kurs anmelden
5 Kurs bestätigen (mail, bildschirm)
6 Logout
Nun stell ich mir die Frage wie ich die Handhabung des "Kurs auswählen" unterbringe, dieser Schritt kann ja vor oder nach dem Anmelden geschehen.
Muss ich bei der Variante 2 zwei sessions starten und die Informationen von der einen Session der neuen "Loged-in-Session" übergeben? Geht das überhaupt?
Wie würdet Ihr das lösen?
Gruss,
Michel Gelin
Hello,
Muss ich bei der Variante 2 zwei sessions starten und die Informationen von der einen Session der neuen "Loged-in-Session" übergeben? Geht das überhaupt?
Nein. Wenn Du nicht grundsätzlich etwas gegen Session sund Cookies einzuwenden hast, dann würde ich grundsätzlich mit Session arbeiten, es sei denn, der Jedermann-Traffic auf der Seite ist zuuu groß.
Die zweite Variante erfordert nur ein etwas späteres LOGIN, dass mit der Session nicht direkt etwas zu tun hat. Die Session ist nur ein Mittel, den logged user zu begleiten (wiederzuerkennen).
Grüße
Tom
hi,
Variante 1
1 >Anmelden / Einloggen<
2 Kurs auswählen
Variante 2
1 Kurs auswählen
2 >Anmelden / Einloggen<
Nun stell ich mir die Frage wie ich die Handhabung des "Kurs auswählen" unterbringe, dieser Schritt kann ja vor oder nach dem Anmelden geschehen.
überlasse dies doch einfach dem benutzer.
wenn ich mir auf einer webseite zunächst irgendein produkt/kurs angesehen habe, und dieses dann kaufen/buchen möchte, möchte ich nicht von dem hinweise genervt werden, "sie sind leider nicht eingeloggt, bitte gehen sie über die startseite und loggen sie sich zuerst ein".
andersherum möchteich aber auch nicht, dass ich mich erst einloggen muss, um mir die produkte ansehen zu können.
_prüfe_ also in dem moment, wo ich kaufen/buchen will, ob ich eingeloggt bin.
wenn nicht, führe ich zum login, und nachdem dieser erfolgreich war, gleich wieder auf die produktseite zurück, von der ich kam.
gruss,
wahsaga
Moin!
...ich steh' wohl kurz davor endlich das thema session management in angriff zu nehmen :-)
Nicht unbedingt. :)
Meine Frage bezieht sich nun auf den programmtechnischen ablauf, ich sehe zwei mögliche variante (beide kommen je nach user präferenzen vor).
Die Reihenfolge der Arbeitsschritte ist, wie wahsaga schon erwähnte, im Prinzip irrelevant, solange sie das tut, was du am Ende brauchst.
1 Kurs auswählen
2 >Anmelden / Einloggen<
3 Angaben bestätigen
4 Kurs anmelden
5 Kurs bestätigen (mail, bildschirm)
6 Logout
Die Frage ist: Kann man das nicht alles irgendwie zusammenfassen?
Deshalb zunächst mal die Frage: Welche Vorteile hat der Benutzer, wenn er sich anmeldet/einloggt? Und welche Vorteile hast du davon? Soll heißen: Hast du schon eine Benutzerdatenbank? Brauchst du eine Benutzerdatenbank? Wie umfangreich ist die Geschichte?
Denn alles das, was du da so schön von 1. bis 6. aufgedröselt hast, kann man genausogut auch in einen wenigen Webseiten unterbringen:
Seite 1: Anzeige der Kursinformationen
Seite 2 (generiert mit Parameter von Seite 1 oder unten dran an Seite 1): Formular zur Anmeldung.
Seite 3: Bestätigung der Anmeldung, Mail wegschicken, dich benachrichtigen.
Da kommen im Ganzen System keinerlei Sessions vor, weil sie als unnötig betrachtet wurden.
Login und Session-Management bewahren dich nicht davor, den Benutzerangaben wie Adresse etc. zu mißtrauen. Es gibt so oder so falsche Angaben, sei es absichtlich oder z.B. durch Vertippen.
Nun stell ich mir die Frage wie ich die Handhabung des "Kurs auswählen" unterbringe, dieser Schritt kann ja vor oder nach dem Anmelden geschehen.
Gib dem Benutzer so viel Freiheit, wie er kriegen kann. Wenn du sessionbasiert arbeitest, kannst du (das ist der Sinn einer Session) ja exakt feststellen, ob der Benutzer schon eingeloggt ist. Wenn er etwas tut, was zwingend ein Login benötigt, dann gib ihm an dieser Stelle das Login-Formular nochmal explizit, und nach dem Abschicken dieses Formulars geht es dort weiter, wo der Benutzer eigentlich hin wollte.
Muss ich bei der Variante 2 zwei sessions starten und die Informationen von der einen Session der neuen "Loged-in-Session" übergeben? Geht das überhaupt?
Eine Session ist vollkommen unabhängig von einem Login. Jeder Besucher kriegt, wenn du Sessions verwendest, eine Session-ID. Und in den Session-Daten speicherst du, ob sich der Benutzer schon mal angemeldet hat. Diese Information wird dann entsprechend ausgewertet, wo es notwendig ist.
- Sven Rautenberg
Hallo!
Denn alles das, was du da so schön von 1. bis 6. aufgedröselt hast, kann man genausogut auch in einen wenigen Webseiten unterbringen:
Seite 1: Anzeige der Kursinformationen
Seite 2 (generiert mit Parameter von Seite 1 oder unten dran an Seite 1): Formular zur Anmeldung.
Seite 3: Bestätigung der Anmeldung, Mail wegschicken, dich benachrichtigen.
ja, klar doch. Meine schritte waren nur ein Beispiel, klar dass nicht jeder eine eigene website bekommt.
Login und Session-Management bewahren dich nicht davor, den Benutzerangaben wie Adresse etc. zu mißtrauen. Es gibt so oder so falsche Angaben, sei es absichtlich oder z.B. durch Vertippen.
...da bin ich mit Dir einig.
Gib dem Benutzer so viel Freiheit, wie er kriegen kann.
Ja, das soll er bekommen. Wie wahsaga schon gesagt hatte soll der user zu jederzeit alles können, also ohne login kurse anschauen etc.
Eine Session ist vollkommen unabhängig von einem Login. Jeder Besucher kriegt, wenn du Sessions verwendest, eine Session-ID. Und in den Session-Daten speicherst du, ob sich der Benutzer schon mal angemeldet hat. Diese Information wird dann entsprechend ausgewertet, wo es notwendig ist.
Das ist wohl die Information die ich brauche! Ich werd' mich mal noch ein wenig schlauer machen was Sessions betrifft, diese stellen für den User ja sicherlich einen Mehrwert dar, wenn diese dann auch richtig verwendet werden!
Vielen Dank Euch allen für Eure Statements und Tipps!
Gruss,
Michel