Next Previous Contents

5. <2.3>: Cookies

Cookies er en måte å lagre små datamengder på maskinen til brukeren som surfer inn på sidene våre, som vi kan hente ut igjen når de kommer tilbake en annen gang.

  1| #!/usr/bin/ruby
  2| require 'cgi'
  3| c = CGI.new('html4')
  4| 
  5| # Hent ut den gamle kaken.
  6| gammel_cookie = c.cookies['rubywebnuby']
  7| 
  8| # Kurstekst i første element, antall besøk i andre element.
  9| kurs_tekst, antall_tekst = gammel_cookie
 10| antall_besok = if antall_tekst then 
 11|                  antall_tekst.to_i + 1 
 12|                else 0 end
 13| 
 14| # Lag ny kake.
 15| ny_cookie = CGI::Cookie.new('rubywebnuby',    # Kakenavn.
 16|   'Ruby Web Nuby', antall_besok.to_s          # Verdier.
 17| )
 18| 
 19| c.out( 'cookie' => [ny_cookie] ) do # Sett kaken via HTTP. 
 20|   c.html do 
 21|     c.body do
 22|       # Print ut de forrige kakene
 23|       gammel_cookie.join(c.br) + 
 24|         "<P>Du har vært her #{antall_besok} ganger før, " +
 25|         "da i forbindelse med #{kurs_tekst} kurs."
 26|     end 
 27|   end 
 28| end

Cookies er et kjekt verktøy når man ikke har noen database å lagre i, dataene er små eller brukerne er overmåte allergisk mot innloggingsskjermer. Ellers er det kanskje en ide å lagre ting på serversiden og/eller i skjulte input-elementer.


Next Previous Contents