ฉันกำลังพยายามเปลี่ยนเส้นทางเว็บไซต์ของฉันไปที่หน้าแรกเมื่อเซสชันหมดอายุและผู้ใช้ออกจากระบบโดยอัตโนมัติ (ตอนนี้จะถูกเปลี่ยนเส้นทางไปยังหน้าการลงทะเบียนหลัก joomla ซึ่งฉันไม่ต้องการให้ผู้ใช้เห็นเพราะฉันสร้างขึ้นเอง หน้าการลงทะเบียนในองค์ประกอบที่กำหนดเอง)
ในไฟล์ index.php ของแม่แบบของฉันฉันตรวจสอบว่าเซสชันนั้นทำงานอยู่และทำการเปลี่ยนเส้นทางถ้าเซสชันนั้นหมดอายุ:
$session = JFactory::getSession();
if (!$session->isActive()) {
echo "session is expired";
header('Location: http://www.example.com/');
exit;
}else{
echo "session is active";
}
โซลูชันนี้ใช้งานได้ดีจนกระทั่งฉันได้อัปเดตเป็น Joomla 3.4.5 หลังจากการอัพเดตแม้ว่าผู้ใช้จะออกจากระบบโดยอัตโนมัติมันจะทำงานเหมือนกับว่าเซสชันยังคงใช้งานอยู่ (ฉันตรวจสอบว่าผ่านบรรทัด "เซสชันใช้งานอยู่" echo ผ่านตามที่คุณเห็นด้านบน)
เหตุใดเซสชันยังคงทำงานแม้ว่าผู้ใช้จะออกจากระบบแล้ว มีทางเลือกอื่นสำหรับวิธี $ session-> isActive () หรือไม่?