กลับไปหน้าหลัก
ต้องการรู้ว่า จำนวน 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