ทับทิมประชุม CGI
CGI :: เซสชันที่สามารถบันทึกเป็นรัฐของผู้ใช้และสภาพแวดล้อมในเซสชั่น CGI ถาวรหลังจากที่การประชุมจะต้องมีการปิดเพื่อให้คุณสามารถมั่นใจได้ว่าข้อมูลที่ถูกเขียนไปยังหน่วยความจำซึ่งเมื่อเซสชั่นเสร็จแล้วคุณต้องการที่จะลบข้อมูล
#!/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}" } } }
การเข้าถึง "/cgi-bin/test.cgi?bgcolor=red" จะข้ามไปยังสีพื้นหลังหน้าเฉพาะ
ข้อมูลที่มีอยู่ในเซสชั่นไดเรกทอรีแฟ้มชั่วคราวบนเซิร์ฟเวอร์พารามิเตอร์คำนำหน้าระบุคำนำหน้าของเซสชั่นเป็นคำนำหน้าสำหรับไฟล์ชั่วคราว บนเซิร์ฟเวอร์เพื่อให้คุณสามารถระบุการประชุมที่แตกต่างกันแฟ้มชั่วคราว
ระดับ CGI :: เซสชัน
CGI :: เซสชันเพื่อรักษาสภาพถาวรของผู้ใช้และสภาพแวดล้อมซีจี เซสชั่นในหน่วยความจำยังสามารถบนฮาร์ดดิสก์
วิธีการเรียน
ทับทิมคลาส CGI :: เซสชันให้เป็นวิธีที่ง่ายในการสร้างเซสชั่น:
CGI::Session::new( cgi[, option])
CGI เปิดใช้งานเซสชั่นใหม่และส่งกลับ CGI :: วัตถุสมัยที่สอดคล้องกัน ตัวเลือกอาจจะเป็นตัวเลือกกัญชาซึ่งสามารถเป็นค่าต่อไปนี้:
- session_key: บันทึกคีย์เซสชั่นโดย _session_id เริ่มต้น
- session_id: รหัสเซสชั่นที่ไม่ซ้ำกันสร้างขึ้นโดยอัตโนมัติ
- new_session: ถ้าคุณสร้างรหัสเซสชันใหม่สำหรับเซสชันปัจจุบันเป็นความจริงถ้าเท็จโดยใช้ตัวตนของเซสชั่นที่มีอยู่ session_id หากละเว้นหากมีการใช้งานเซสชั่นที่มีอยู่หรือการสร้างหนึ่งใหม่
- database_manager: บันทึกการประชุมสำหรับการเรียนอาจจะ CGI :: เซสชัน :: FileStore หรือ CGI :: เซสชัน :: MemoryStoreเริ่มต้นคือ FileStore
- TMPDIR: สำหรับ FileStore เซสชั่นไดเรกทอรีการจัดเก็บข้อมูลความผิด
- คำนำหน้า: สำหรับ FileStore, คำนำหน้าไฟล์เซสชั่น
ตัวอย่างของวิธีการ
เลขที่ | วิธีการรายละเอียด |
---|---|
1 | [] ส่งกลับค่าคีย์ ดูตัวอย่าง |
2 | [] = ตั้งค่าคีย์ที่กำหนด ดูตัวอย่าง |
3 | ลบ วิธีการลบเรียกการจัดการฐานข้อมูลพื้นฐาน สำหรับ FileStore ลบแฟ้มทางกายภาพที่มีเซสชั่น สำหรับ MemoryStore เอาข้อมูลจากหน่วยความจำเซสชั่น |
4 | ปรับปรุง เรียกวิธีการปรับปรุงการบริหารจัดการฐานข้อมูลต้นแบบ สำหรับ FileStore เซสชันถูกเขียนไปยังดิสก์ สำหรับ MemoryStore ไม่มีผลกระทบ |