ต้องการรู้ว่า จำนวน user ที่ online บนหน้าเว็บไซต์
มีจำนวนเท่าไร ? |
- ก่อนจะได้คำตอบ มาทำความรู้จักกับคำว่า Session ใน PHP กันก่อน
|
Session คืออะไร ?
ตัวแปร session จะถูกประกาศขึ้นมา และมีอายุอยู่ตราบเท่าที่
browser ยังคงเปิดใช้งาน นั่นคือ ถ้าปิด browser หมายถึงการทำลาย ตัวแปร
session โดยที่ ตัวแปร session จะเก็บเป็น file ไว้ที่ ทาง ฝั่ง server
ส่วน cookie นั้น ตัวแปรใน cookie จะเก็บเป็น file ไว้ที่ทางฝั่ง client
เพื่อเก็บค่าในตัวแปร ได้ตามที่เราต้องการ ถึงแม้ว่าจะปิด browser
ไปแล้ว |
- ใช้ session_register() เพื่อประกาศตัวแปร Session
ยกตัวอย่างเช่น
<?
session_register('mysession');
$_SESSION["mysession"] = "testsession"; //
ใส่ค่าเข้าตัวแปร session
?>
|
- ใช้ session_start() ในการเรียกใช้งาน
ยกตัวอย่างเช่น ในหน้าอื่นที่ต้องการใช้งาน ตัวแปร session
ทำได้ดังนี้
<?
session_start();
print $_SESSION["mysession"] ;// แสดงค่าในตัวแปร session
?>
สิ่งสำคัญ : ฟังก์ชั่น session_start() จะต้องอยู่ก่อนแท็ก
<html> และ <head> เสมอ หรือ ก่อนส่วนที่เป็น Header
ของ Html ไฟล์นั่นเอง
|
- ใช้ session_unregister ในการลบตัวแปร session
ต้องการ ลบตัวแปร session ที่ละตัว เช่น session_unregister('mysession');
ถ้าต้องการ ลบตัวแปร session ทั้งหมด ใช้ session_destroy();
|
- ตัวแปร session เก็บที่ไหน ?
โดย Default จะเก็บที่ /tmp แต่สามารถ config ได้ ในไฟล์ php.ini
ใน ตัวแปร session.save_path
|
- วิธีการทำ User Online
1. สามารถ เก็บ ตัวแปร session ดังกล่าว ไว้ในฐานข้อมูล และ เวลา
ลบตัวแปร session ก็ให้ลบออกจากฐานข้อมูลด้วย
จะได้จำนวน คนที่ Online จากจำนวน Record ในฐานข้อมูล
2. นับจากจำนวนไฟล์ session ใน Path /tmp
อ่านรายละเอียดเพิ่มเติมได้ที่ php.net
|
|
|