Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

วิธีตรวจสอบว่า PHP Session เริ่มต้นแล้วหรือยัง


ใน PHP ใช้ session_start() เพื่อเริ่มเซสชัน แต่หากเรียกซ้ำจะเกิด error ต้องตรวจสอบก่อนว่าเซสชันเริ่มต้นแล้วหรือยัง

มี 2 วิธี:

สำหรับ PHP ต่ำกว่า 5.4.0

ตัวอย่าง

<?php 
if(session_id() == ''){ 
    session_start(); 
} 
?>

คำอธิบาย

ถ้ายังไม่เริ่มเซสชัน session_id() จะเป็นสตริงว่าง โค้ดนี้จะเริ่มเซสชันเสมอ

วิธีที่ 2: ใช้ session_status() (PHP 5.4.0 ขึ้นไป) ฟังก์ชันนี้คืนสถานะเซสชันเป็นค่าคงที่ 3 ค่า:

  • 0 – PHP_SESSION_DISABLED: เซสชันถูกปิดใช้งาน
  • 1 – PHP_SESSION_NONE: เซสชันเปิดใช้งาน แต่ยังไม่เริ่ม
  • 2 – PHP_SESSION_ACTIVE: เซสชันเปิดใช้งานและเริ่มแล้ว

ตัวอย่าง

<?php 
if (session_status() == PHP_SESSION_NONE) { 
    session_start(); 
} 
?>

คำอธิบาย

ตรวจสอบว่ายังไม่เริ่มเซสชัน (PHP_SESSION_NONE) ถ้ายัง จะเริ่มเซสชันใหม่

หมายเหตุ

session_status() ใช้ได้เฉพาะ PHP 5.4.0 ขึ้นไป