10.1 Session คืออะไร
การที่เราเปิดโปรแกรมบราวเซอร์ขึ้นมา
แล้วทำการร้องขอเอกสารไปยังเว็บเซิร์ฟเวอร์
หากแฟ้มเอกสารดังกล่าวเป็นแฟ้มเอกสารธรรมดาทั่วโลกไปแล้ว การทำงานก็ถือว่าเป็นธรรมดาปกติทั่วไป
แต่หากว่าแฟ้มเอกสารดังกล่าวที่เราร้องขอไปยังเซิร์ฟเวอร์
มีการระบุโค้ดในการสั่ง Start Session ขึ้นมาแล้ว
โปรแกรมบราวเซอร์ของเราจะได้รับหมายเลขประจำตัวที่ส่งมาจากเว็บเซิร์ฟเวอร์ขึ้นมาทันที
โดยที่เราเรียกมันว่า Session ID
ซึ่งถูกเข้ารหัสอยู่ในรูปแบบของ MDs (อักขระผสมตัวเลข)
ทำให้ไคลเอนต์ทีร้องขอเข้ามาจะได้รับ Session ID ที่ไม่มีทางซ้ำกันได้
เมื่อไคลเอนต์แต่ละตัวได้รับ
Session ID แล้ว เราก็สามารถอ้างอิงค่าของ Session ID ไปได้ยังทุกเว็บเพจ
จนกว่าไคเอนต์ดังกล่าวได้อีกต่อไป
นอกจากว่า ไคลเอนต์จะทำการเปิดโปรแกรมบราวเซอร์ขึ้นมาใหม่
ก็จะส่งผลให้หน้าต่างของโปรแกรมบราวเซอร์ที่ถูกเปิดขึ้นมาใหม่นั้นได้รับ Session ID ใหม่นั่งเอง
10.2 ฟังก์ชันที่เกี่ยวข้องกับ Session
Session มีคุณสมบัติใช้ส่งค่าของตัวแปรที่สร้างจากไฟล์หนึ่งไปแสดงผลยังอีกไฟล์ได้
ทำให้เราสามารถทำการติดตามและตรวจสอบผู้ใช้ได้ ในการใช้งาน Session ภาษา PHP ได้จัดเตรียมฟังก์ชันให้ใช้งานอยู่หลายฟังก์ชัน
ในที่นี้จะขอกล่าวถึงเฉาะบางฟังก์ชันที่จำเป็นเท่านั้น ดังนี้
·
session_start()
|
ใช้กำหนดให้ข้อมูลของ session เริ่มต้นทำงาน
|
·
session_register()
|
ใช้สำหรับลงทะเบียนให้กับตัวแปร
ให้มีคุณสมบัติเป็นตัวแปร session
|
·
session_unregister()
|
ใช้สำหรับยกเลิกการลงมะเบียนของตัวแปร
|
·
session_destroy()
|
ใช้สำหรับทำลายข้อมูลทั้งหมดของ session
|
ฟังก์ชัน Session _register()
ฟังก์ชันนี้ใช้สำหรับลงทะเบียนให้กับตัวแปรใดๆ
ทำให้มีคุณสมบัติเป็นตัวแปร Session ซึ่งมีลักษณะเป็นตัวแปรประเภท global หรือตัวแปรสาธารณะ คือ สามารถเรียกใช้งานตัวแปรนี้ได้ทุกที่
คุกกี้ (Cookies) คืออะไร
คุกกี้ คือข้อมูลที่เราส่งไปเก็บไว้ในเครื่องของผู้ใช้
เพื่อประโยชน์ในการตรวจสอบ และติดตามการทำงานของผู้ใช้
โดยบราวเซอร์จะทำการส่งข้อมูลของผู้ใช้ที่จัดเก็บไว้ในเครื่องมายังเซิร์ฟเวอร์
และจะนำ Cookie ดังกล่าวมาเก็บไว้ในตัวแปรทำให้สามารถตรวจสอบค่าต่างๆ
ของผู้ใช้ได้
10.3 ฟังก์ชันที่เกี่ยวกับ Cookie
ฟังก์ชันที่สำคัญในการจัดการ Cookie มีดังนี้
Setcookie()
|
ใช้สำหรับสร้างและทำลายตัวแปร cookie
|
Ob_start() และ ob_end_flush()
|
เพื่อเปิดและปิดการใช้งานหน่วยความจำชั่วคราว
|
ฟังก์ชัน setcookie()
: โปรแกรม cookiemake.php สร้างตัวแปร cookie ขึ้นมา 2 ตัวแปร คือ $username และ $password ให้มีอายุ 60 วินาที และมีลิงค์ไปยังโปรแกรม Showcookie.php
: โปรแกรม Showcookie.php แสดงผลของตัวแปร cookie ทั้ง 2 ตัวแปร
: โปรแกรม delcookie.php ทำลายตัวแปร cookie ทั้ง 2 ตัวแปร
10.4 การประยุกต์ Session และ Cookie ในโปรแกรม Log
in
ในหัวข้อนี้จะยกตัวอย่างการใช้ฟังก์ชัน Session และ Cookie ในโปรแกรม Log in
login.html
ผลลัพธ์ของโปรแกรมข้างต้นถ้ากรอก
username และ password ถูกต้องนี้ โปรแกรมจะเรียกไฟล์ adminform.html ซึ่งเปรียบเสมือนผู้ดูแลระบบ