:: การใช้งาน Session ::









ติดต่อเรา

webmaster_dwthai @yahoo.com
webmaster@dwthai.com
08-9495-7296

Session คือ ข้อมูลที่ web application ใช้ทำการจัดเก็บตรวจสอบข้อมูลของผู้เข้ามาใช้งานเว็บนั้น ๆ เรานิยมใช้ Session สำหรับการติดตาม user ใน ระบบ login เพื่อตรวจสอบความคงอยู่ของ user รายนั้น ๆ ในระบบขอเรา

ps. Perl ไม่มี Session มาให้เรา เราจำเป็นต้องทำการลงตัวโมดูลที่ชื่อว่า kSession เสียก่อน ซึ่งคุณสามารถ Download ได้จาก http://ppm.activestate.com/PPMPackages/zips/ การ Download ให้เลือกให้ตรงกับ version ของ Perl ที่คุณใช้งาน

การสร้างและการเรียกใช้งาน Session ของ Perl

session.cgi สำหรับการทดสอบส่งค่า Session
#!usr/bin/perl

use CGI;
use CGI::kSession;
use CGI::Cookie;
my $cgi = new CGI;
my $s = new CGI::kSession(lifetime=>30,path=>'./temp/',id=>$cgi->param("SID"));
# กำหนดอายุของ Session เป็น 30 นาที และกำหนดให้บันทึกที่ temp และหากต้องการกำหนดชื่อ ID ของ Session ให้เราทำการกำหนดได้เพิ่มเติมจาก id=> (หากไม่กำหนดจะทำการ random id ขึ้นเอง)
$s->start();
$cookie= $s->id();
$s->register("website"); # ลงทะเบียน Session ที่ชื่อว่า website
$s->set("website","dwthai.com"); #กำหนด Session ที่ชื่อว่า website มีค่า dwthai.com
# นำ $cookie ที่ได้มาส่งไปยังไฟล์ Cookie
my $c = new CGI::Cookie(-name=>'MySession',-value=>$cookie);
print "Set-Cookie: $c\n"; #ส่ง Cookie ไปเพื่อไว้ใช้อ้างอิงกับ Session
print "Content-type:text/html\n\n";
print "<a href='session2.cgi'>view</a>";
#สร้าง link ไปยังไฟล์ session2.cgi เพื่อทดสอบการอ่านค่าจาก Session

session2.cgi สำหรับการทดสอบรับค่า Session

#!/usr/bin/perl
use CGI;
use CGI::kSession;
use CGI::Cookie;
# อ่านค่าจาก Cookie
%cookies = fetch CGI::Cookie;$id=$cookies{'MySession'}->value;
# เริ่ม Session
my $s = new CGI::kSession(lifetime=>30,path=>"./temp/",id=>$id);
$s->start();
#########################
$website= $s->get("website");
# อ่านค่าจาก Session ที่เราทำการส่งไปจากไฟล์ session.cgi

print "Content-type:text/html\n\n";
print $website;
#แสดงค่าที่ได้จาก Session

 

 

สงวนลิขสิทธิ์ © 2546-2550 โดย dwthai.com ห้ามการ copy ส่วนใดส่วนหนึ่งของเว็บไซต์แห่งนี้.