Embperl - building dynamic websites with Perl


Persistente Daten (Sessions)
[ << Prev: Formularfelder ] [ Content ] [ Next: Aufteilen des Codes in mehrere Komponenten >> ]
 (Embperl 1.2 oder neuer)

Während versteckte Felder gut innerhalb Formularen einsetzbar sind, ist es oft notwendig Daten persistent auf eine allgemeinere Art und Weise zu speichern. Embperl benutzt Apache::Session um dies durchzuführen. Apache::Session ermöglicht die Daten im Speicher, in einem Textfile oder in einer Datenbank abzuspeichern. Weitere Speichermöglichkeiten sind für die Zukunft zu erwarten. Man kann zwar einfach Apache::Session aus Embperl Seiten herausaufrufen, aber Embperl ist in der Lage dies für den Benutzer transparent durchzuführen. Es genügt einfach seine Daten in dem Hash %udat abzuspeichern, sobald der selbe Benutzer wieder eine Embperl Seite aufruft, stehen in %udat wieder die selben Daten. Dies ermöglicht auf eine einfache Art und Weise Zustandsinformationen für einen Benutzer zu speichern. In Abhängigkeit vom Ablaufzeitpunkt können so Benutzerspezifische Daten auch über einen längeren Zeitraum hinweg gespeichert werden. Ein zweiter Hash, %mdat, dient dazu, Daten, die zu einer bestimmten Seite gehören, zu speichern. Ein einfaches Beispiel ist z.B. ein Zähler der Anzahl der Seitenaufrufe:

  Die Seite wurde seit dem [+ $mdat{date} ||= localtime +]
  [+ $mdat{counter}++ +] mal abgerufen

Das obige Beispiel zählt die Anzahl der Abrufe und zeigt die Zeit, wann die Seite zum ersten Mal aufgerufen wurde. Embperl sorgt dafür, dass die Daten nur dann wieder abgespeichert werden, wenn sie auch geändert wurden.


[ << Prev: Formularfelder ] [ Content ] [ Next: Aufteilen des Codes in mehrere Komponenten >> ]


© 1997-2023 Gerald Richter / actevy