Das beste Ruby-CGI-Sessions-Tutorial im Jahr 2024. In diesem Tutorial können Sie CGI :: Session-Klasse, lernen
CGI :: Session können sich als Benutzer und CGI-Umgebung persistent Sitzungszustand gespeichert werden, nachdem die Sitzungen geschlossen werden müssen, so können Sie die Daten sicher in den Speicher geschrieben wird, die, wenn die Sitzung beendet ist, müssen Sie die Daten zu löschen.
#!/usr/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new("html4") sess = CGI::Session.new( cgi, "session_key" => "a_test", "prefix" => "rubysess.") lastaccess = sess["lastaccess"].to_s sess["lastaccess"] = Time.now if cgi['bgcolor'][0] =~ /[a-z]/ sess["bgcolor"] = cgi['bgcolor'] end cgi.out{ cgi { cgi.body ("bgcolor" => sess["bgcolor"]){ "The background of this page" + "changes based on the 'bgcolor'" + "each user has in session." + "Last access time: #{lastaccess}" } } }
Access "/cgi-bin/test.cgi?bgcolor=red" wird zu einer bestimmten Seite Hintergrundfarbe springen.
Session-Daten besteht in einem Verzeichnis für temporäre Dateien auf dem Server, Präfix-Parameter mit dem Präfix der Sitzung, als Präfix für temporäre Dateien angibt. Auf dem Server, so dass Sie die verschiedenen Sitzungen temporäre Dateien leicht identifizieren können.
CGI :: Session einen dauerhaften Zustand des Benutzers und der CGI-Umgebung aufrecht zu erhalten. Session im Speicher können auch auf der Festplatte sein.
Ruby-Klasse Klasse CGI :: Session bietet eine einfache Möglichkeit Sitzung zu erstellen:
CGI::Session::new( cgi[, option])
CGI ermöglichen eine neue Sitzung und gibt die entsprechenden CGI :: Session-Objekt. Die Optionen können optional Hash sein, was die folgenden Werte sein kann:
Nein. | Methode Beschreibung |
---|---|
1 | [] Gibt den Schlüsselwert. Siehe Beispiele. |
2 | [] = Setzt den gegebenen Schlüsselwert. Siehe Beispiele. |
3 | löschen Delete-Methode ruft die zugrunde liegende Datenbank-Management. Für Filestore, löschen Sie die physische Datei, die die Sitzung enthält. Für Memorys, Session-Daten aus dem Speicher zu entfernen. |
4 | Aktualisierung Rufen Sie die Update-Methode des zugrunde liegenden Datenbank-Management. Für Filestore, wird die Sitzung auf den Datenträger geschrieben. Für Memorys keine Wirkung. |