is_logout

วิธีการใช้ฟังก์ชัน is_logout

ฟังก์ชัน is_logout ใช้สำหรับจัดการกระบวนการออกจากระบบ (Logout) โดยการลบข้อมูล access_token ของผู้ใช้ในฐานข้อมูลและอัปเดตเวลาการล็อกอินล่าสุด

  • พารามิเตอร์

    • $access_tokens (optional, default = null) - โทเค็นการเข้าถึง (access_token) ของผู้ใช้ หากไม่ได้ระบุ ฟังก์ชันจะพยายามดึงโทเค็นจากส่วนหัว HTTP (x-pna-uuid)

ขั้นตอนการทำงาน

  1. ตรวจสอบว่า $access_tokens ถูกส่งเข้ามาหรือไม่ หากไม่ระบุ ฟังก์ชันจะดึงโทเค็นจากส่วนหัว (x-pna-uuid) ด้วยฟังก์ชัน getHeaders

  2. ดึงข้อมูลโทเค็นจากฐานข้อมูล (admin_access_tokens) และอัปเดตเวลาการล็อกอินล่าสุดของผู้ใช้ในตาราง admin_member

  3. หากการอัปเดตข้อมูลผู้ใช้สำเร็จ ฟังก์ชันจะลบข้อมูลโทเค็นจากตาราง admin_access_tokens และลบการเชื่อมต่อจากตาราง admin_connect

  4. หากการลบสำเร็จ ฟังก์ชันจะลบคุกกี้ที่เก็บโทเค็นและส่งค่ากลับเป็น true

  5. หากเกิดข้อผิดพลาด ฟังก์ชันจะส่งข้อความแสดงข้อผิดพลาดกลับมา

ตัวอย่างการใช้งาน

  1. ออกจากระบบโดยใช้โทเค็นในส่วนหัว

    $result = $_PNA->is_logout();
    
    if ($result === true) {
        echo "ออกจากระบบสำเร็จ";
    } else {
        echo "เกิดข้อผิดพลาด: " . $result;
    }

    ผลลัพธ์: ฟังก์ชันจะพยายามดึงโทเค็นจากส่วนหัวและลบข้อมูลในฐานข้อมูล หากสำเร็จจะคืนค่า true

  2. ออกจากระบบโดยระบุโทเค็น

    $access_token = "12345-67890-abcdef";
    $result = $_PNA->is_logout($access_token);
    
    if ($result === true) {
        echo "ออกจากระบบสำเร็จ";
    } else {
        echo "เกิดข้อผิดพลาด: " . $result;
    }

    ผลลัพธ์: ฟังก์ชันจะใช้โทเค็นที่ระบุในการลบข้อมูลในฐานข้อมูล หากสำเร็จจะคืนค่า true

ผลลัพธ์ที่ได้:

  • หากการออกจากระบบสำเร็จ จะคืนค่า true

  • หากเกิดข้อผิดพลาด จะคืนค่าข้อความแสดงข้อผิดพลาดจากฐานข้อมูล

หมายเหตุ: ฟังก์ชันนี้จะทำการอัปเดตและลบข้อมูลที่เกี่ยวข้องกับโทเค็นของผู้ใช้ในหลายตาราง (admin_access_tokens, admin_connect) และลบคุกกี้ที่ใช้เก็บโทเค็น

Last updated