Latest web development tutorials

Sesi CGI Ruby

CGI :: Session dapat disimpan sebagai pengguna dan CGI lingkungan negara sesi gigih, setelah sesi perlu ditutup, sehingga Anda dapat memastikan bahwa data yang ditulis ke memori yang, ketika sesi selesai, Anda perlu menghapus data.

#!/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.html {
    cgi.body ("bgcolor" => sess["bgcolor"]){
      "The background of this page"    +
      "changes based on the 'bgcolor'" +
      "each user has in session."      +
      "Last access time: #{lastaccess}"
    }
  }
}

Akses "/cgi-bin/test.cgi?bgcolor=red" akan melompat ke warna latar belakang halaman tertentu.

Sesi Data ada di direktori file sementara pada server, parameter awalan menentukan awalan sesi, sebagai awalan untuk file sementara. Pada server sehingga Anda dapat dengan mudah mengidentifikasi sesi yang berbeda file-file sementara.


kelas CGI :: Session

CGI :: Session untuk mempertahankan keadaan terus-menerus dari pengguna dan lingkungan CGI. Sesi dalam memori juga dapat berada di hard disk.

metode kelas

Ruby kelas Kelas CGI :: Session menyediakan cara sederhana untuk membuat sesi:

CGI::Session::new( cgi[, option])

CGI memungkinkan sesi baru dan mengembalikan objek CGI :: Session sesuai. Pilihan mungkin hash opsional, yang dapat menjadi nilai berikut:

  • session_key: Simpan kunci sesi dengan _session_id default.
  • session_id: ID sesi yang unik.dihasilkan secara otomatis
  • new_session: Jika Anda membuat Sesi id baru untuk sesi saat ini adalah benar.Jika salah, dengan menggunakan identitas sesi yang ada session_id. Jika dihilangkan, jika tersedia, menggunakan sesi yang ada, atau penciptaan yang baru.
  • database_manager: Simpan sesi untuk kelas, mungkin CGI :: Session :: filestore atau CGI :: Session :: MemoryStore.default adalah filestore.
  • tmpdir: Untuk filestore, direktori sesi penyimpanan kesalahan.
  • prefix: Untuk filestore, awalan file sesi.

Contoh metode

Tidak. metode Deskripsi
1 []
Mengembalikan nilai kunci. Lihat contoh.
2 [] =
Set nilai kunci yang diberikan. Lihat contoh.
3 hapus
metode menghapus panggilan manajemen database. Untuk filestore, menghapus file fisik yang berisi sesi. Untuk MemoryStore, menghapus data sesi dari memori.
4 memperbarui
Memanggil metode update dari manajemen database. Untuk filestore, sesi ditulis ke disk. Untuk MemoryStore tidak berpengaruh.