วันเสาร์ที่ 24 ตุลาคม พ.ศ. 2552

Session ใน Codeigniter

Session ของ Codeigniter เป็น cookie ผมเจอปัญหาอย่างหนึ่งคือเวลา coding ที่เครื่อง localhost แล้ว อัพโหลดขึ้นแม่ข่าย ขณะเดียวกัน นั้น หากมีการ check ตัว session เกิดขึ้น จะปรากฏว่ามันไม่สามารถทำงานได้สมบูรณ์

ข้อมูลการ login ที่เกิด จาก localhost นั้น จะถึงดึงไปใช้กับ login หากเรียกหน้าเว็บจาก web browser ในส่วนของแม่ข่ายโปรแกรมที่เขียนขึ้นจะเอา session ขอ ง localhost ไปใช้แทน

ผลที่เกิดขึ้นคือ

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: check_school

Filename: models/user_model.php

Line Number: 34

จะลองแก้โดยเขียนเพิ่ม config ให้ codeigniter หากมีการปิด Browser ให้ทำลาย session ทิ้ง
แล้วมาลองดูกัน

แก้ Session libraries

line 92:
$this->sess_delete_after_browser_close = false; // adding this code

line 94: elseif($this->sess_expiration == -1) //Adding elseif statement
{
$this->sess_expiration = 60*60*24;
$this->sess_delete_after_browser_close = true;
}

แก้ confgi.php

line 235 :$config['sess_expiration'] = -1;

0 ความคิดเห็น: