Il miglior tutorial Sessioni CGI rubino Nel 2024, in questo tutorial puoi imparare classe CGI :: Session,
CGI :: Session può essere salvato come ambiente utente e CGI stato della sessione persistente, dopo le sessioni devono essere chiusi, in modo da poter garantire che i dati vengono scritti nella memoria, che, quando la sessione è terminata, è necessario eliminare i dati.
#!/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}" } } }
L'accesso "/cgi-bin/test.cgi?bgcolor=red" salterà a un colore di sfondo della pagina specifica.
I dati di sessione esiste in una directory dei file temporanei sul server, parametro prefix specifica il prefisso della sessione, come un prefisso per i file temporanei. Sul server in modo che si può facilmente identificare le diverse sessioni di file temporanei.
CGI :: Session per mantenere uno stato persistente dell'ambiente CGI utente e. Session in memoria può anche essere sul disco rigido.
Rubino classe Classe CGI :: Session fornisce un modo semplice per creare sessione:
CGI::Session::new( cgi[, option])
CGI abilitare una nuova sessione e restituisce l'oggetto CGI :: Session corrispondente. Le opzioni possono essere hash opzionale, che può essere i seguenti valori:
No. | metodo Descrizione |
---|---|
1 | [] Restituisce il valore della chiave. Vedi gli esempi. |
2 | [] = Imposta il valore dato chiave. Vedi gli esempi. |
3 | cancellare metodo delete chiama la gestione del database sottostante. Per FileStore, eliminare il file fisico che contiene la sessione. Per MemoryStore, rimuovere i dati di sessione dalla memoria. |
4 | aggiornare Chiamare il metodo di aggiornamento della gestione database sottostante. Per FileStore, la sessione viene scritto su disco. Per MemoryStore alcun effetto. |