Latest web development tutorials

جلسات 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 :: الدورة يوفر وسيلة بسيطة لخلق الدورة:

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 أي تأثير.