| Session
คืออะไร?
จะตอบแบบง่ายๆ ก็คือ การเก็บค่า
จาก Web Server ลงในหน่วยความจำของเครื่อง Client แต่ละราย server จะกำหนดเวลาและติดตามการใช้งานของเครื่อง
Client
เพื่อให้เข้าใจการเขียนแอพพลิเคชั่นด้วย asp มากขึ้น เราควรจะทำความรู้จักกับออบเจ็กต์
Application และ Session กันเสียหน่อยนะครับ เพื่อเป็นประโยชน์ในการนำไปประยุกต์ใช้ในงานของเราได้ดียิ่งขึ้นApplication
เป็นออบเจ็กต์ที่เกิดขึ้น เมื่อเราเริ่มรัน Web application และจะยังคงอยู่
จนกระทั่งเราปิด Web application หรือปิดเครื่อง Server ครับ ออบเจ็กต์
Application นี้ใช้ในการเก็บค่าของระบบ ซึ่งหากมีการเพิ่มหรือลบค่าบางตัว
เราจะต้องทำการ Restart Server เพื่อเป็นการเริ่มต้นสร้างออบเจ็กต์ Application
ใหม่Session เป็นออบเจ็กต์ที่เกิดขึ้นเมื่อมี User เข้ามาติดต่อ โดยที่แต่ละ
User จะมี 1 Session และแต่ละ Session จะไม่ยุ่งเกี่ยวกัน Session จะยังคงอยู่ไม่ว่า
User จะเปลี่ยนไปดูเว็บหน้าใดและจะสิ้นสุดเมื่อ User คนนั้นไม่ได้ติดต่อกับ
Server เป็นระยะเวลาหนึ่ง (Time out) หรือมีการเรียกใช้เมดถอด Abandon
ซึ่งเป็นเมดถอดในการลบ Session
ตัวอย่างการใช้งาน Session ในการตรวจสอบสถานะของสมาชิกว่า มีการล็อกอินเข้ามาในระบบหรือยัง
(ให้ลองสร้างไฟล์ไว้ใน c:\inetpub\wwwroot หรือที่โฟลเดอร์ใดๆ ก็ตามที่คุณได้ทำการเซ็ตให้เป็น
Home Directory นะครับ)
<%
Session("ismblogin")
= true
if Session("ismblogin")
= true then
Response.write
"ยินดีต้อนรับสมาชิกเข้าสู่ระบบครับ"
else
Response.write
"ยินดีต้อนรับผู้มาเยือนครับ"
End if
%>
SessionID
แสดงหมายเลขของ Session ซึ่งเลข ID แต่ละตัวจะไม่ซ้ำกันใช้เป็นเลขอ้างอิงของแต่ละ
User
รูปแบบ
Session.SessionID
ตัวอย่าง
<%=Session.SessionID%>
*********************************************************************************************************
รูปแบบการใช้งานอื่น
ๆ
การสร้าง
session
Session("session-name")=value
ตัวอย่าง
<%Session("name")="นายอภิชาติ
เกาะดี " %>
*********************************************************************************************************
การกำหนดเวลา
ของ session
Session.TimeOut = Time ( Time เป็นนาที )
ตัวอย่าง
<%Session.TimeOut=20%>
*********************************************************************************************************
การลบตัวแปร
Sessoion ที่เราสร้างขึ้นมา
Session.Contents.Remove("session-name")
ตัวอย่าง
<% Session.Contents.Remove("name")(
จะลบเฉพาะตัวแปร Name )
Session.Contents.RemoveAll
(จะลบตัวแปรทั้งหมด
)%>
*********************************************************************************************************
การล้างข้อมูลใน
Session ทั้งหมด
Session.Abandon ( จะล้างข้อมูลใน session ทั้งหมด )
ตัวอย่าง
Session.Abandon
*********************************************************************************************************
การอ่านค่าจาก
Session
var-name=Session("session-name")
ตัวอย่าง
<%name=Session("name")%>
*********************************************************************************************************
หากต้องการแสดงค่าของ
session ออกมา
=session("session-name")
ตัวอย่าง
<%=Session("name")%>
*********************************************************************************************************
เดี๋ยวจะงงกันไปใหญ่มาดู ตัวอย่างดีกว่านะครับ
****************************************** |
| ไฟล์ที่
1 ชื่อว่า test_session1.asp |
<html>
<head>
<title>Gangza</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head> <body>
<%
Session.Timeout=20
Session("url")="http://www.wegiveu.com"
Session("name")="Gangza"
%>
<a href="test_session2.asp">ตรวจสอบค่า
Session</a>
</body>
</html> |
****************************************** |
| ไฟล์ที่
2ชื่อว่า test_session2.asp |
<html>
<head>
<title>Gangza</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head> <body>
ค่าใน
Session Url คือ <%=Session("url")%><br>
ค่าใน Session name คือ <%=Session("name")%><br><br>
<a href="test_session3.asp">ลบค่า
Session</a><br>
<a href="test_session1.asp">ตั้งค่าใหม่
Session</a><br>
</body>
</html> |
****************************************** |
| ไฟล์ที่
3ชื่อว่า test_session3.asp |
<html>
<head>
<title>Gangza</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head> <body>
<%
Session.Abandon
%>
<a href="test_session2.asp">เช็คค่า
Session</a><br>
<a href="test_session1.asp">ตั้งค่าใหม่
Session</a><br>
</body>
</html> |
****************************************** |
|
| ลองดัดแปลงการใช้ดูเอานะครับ |
|