Site icon บริษัท โค๊ดบี จำกัด

สอน codeigniter วิธีใช้งาน session ใน Codeigniter

php-codeigniter-framework

php-codeigniter-framework

<p><strong>สอน codeigniter วิธีใช้งาน session ใน Codeigniter<&sol;strong><&sol;p>&NewLine;<p>Session หรือ เว็บเซสชั่น &lpar;Web Session&rpar; คือตัวแปรที่ไคลเอนต์ &lpar;Client&rpar; สร้างขึ้นมาเมื่อเปิดเว็บบราวเซอร์<br &sol;>&NewLine;ไฟล์ session จะถูกเก็บไว้ที่ฝั่งเซิร์ฟเวอร์ โดยที่เราสามารถกำหนด path สำหรับเก็บไฟล์ได้เอง สำหรับ ci<br &sol;>&NewLine;เราสามารถระบุ session path ได้ที่ไฟล์ application&sol;config&sol;config&period;php ที่ตัวแปร sess&lowbar;save&lowbar;path<br &sol;>&NewLine;ซึ่ง session path จะไม่ไช่ url ของเว็บ แต่จะต้องเป็น <strong>Absolute Hosting Path<&sol;strong><&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " title&equals;"ตัวอย่าง session path" >&dollar;config&lbrack;'sess&lowbar;save&lowbar;path'&rsqb; &equals; '&sol;home&sol;user&sol;domains&sol;domaian&period;com&sol;public&lowbar;html&sol;temp<&sol;pre>&NewLine;<p> <&excl;--more--><&sol;p>&NewLine;<p><&sol;br><&sol;p>&NewLine;<h4>ตัวแปรแบบ session มักถูกนำไปใช้กับระบบหลัก ๆ ดังนี้<&sol;h4>&NewLine;<ul>&NewLine;<li>&&num;8211&semi; ระบบสมาชิก เก็บข้อมูลการเข้าสู่ระบบของสมาชิก ตรวจสอบการ Login สำหรับบางหน้าเพจ<&sol;li>&NewLine;<li>&&num;8211&semi; ระบบตระกร้าสินค้า จดจำข้อมูลการเลือกสินค้า ก่อนจะบันทึกลงฐานข้อมูล เพื่อลดปริมาณข้อมูลซ้ำซ้อนกัน<&sol;li>&NewLine;<li>&&num;8211&semi; นำไปใช้เพื่อจดจำค่าต่าง ๆ ภายในเว็บเมื่อเกิดการใช้งาน เช่น ระบบ autocomplete เมื่อสมาชิกกรอกข้อมูลแล้วเปลี่ยนหน้าเพจไป กลับมาหน้าเดิม ข้อมูลที่เคยกรอกจะ fill in ให้อัตโนมัติ<&sol;li>&NewLine;<&sol;ul>&NewLine;<p><&sol;br><&sol;p>&NewLine;<h4>เริ่มต้นใช้งาน session ใน codeigniter<&sol;h4>&NewLine;<ul>&NewLine;<li><strong>เปิดการใช้งานแบบ autoload<&sol;strong><br &sol;>&NewLine;เปิดไฟล์ application&sol;config&sol;autoload&period;php เพิ่มการ autoload session library <&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " title&equals;"application&sol;config&sol;autoload&period;php" >&dollar;autoload&lbrack;'libraries'&rsqb; &equals; array&lpar;'session'&rpar;&semi;<&sol;pre>&NewLine;<&sol;li>&NewLine;<li><strong>เปิดการใช้งานแบบโหลดเข้าไปใน Controller<&sol;strong><br &sol;>&NewLine;เปิดไฟล์ application&sol;controllers&sol;controller&lowbar;name&period;php ทำการโหลด session library เข้ามาใช้งาน<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " title&equals;"application&sol;config&sol;autoload&period;php" >&dollar;this->load->library&lpar;'session'&rpar;&semi;<&sol;pre>&NewLine;<&sol;li>&NewLine;<&sol;ul>&NewLine;<p><&sol;br><&sol;p>&NewLine;<h4>วิธีกำหนดค่าให้ตัวแปรแบบ session<&sol;h4>&NewLine;<p>ใน php codeigniter ใช้คำสั่งในการกำหนดค่าให้กับตัวแปรแบบ session ได้ด้วยคำสั่ง set&lowbar;userdata<br &sol;>&NewLine;กำหนดค่าให้ตัวแปร 1 ตัว<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " > &NewLine;&dollar;this-&gt&semi;session-&gt&semi;set&lowbar;userdata&lpar;"member&lowbar;id"&comma;45&rpar;&semi;<&sol;pre>&NewLine;<p>และถ้าเราต้องการกำหนดค่าให้ตัวแปรหลาย ๆ ตัวก็จะได้โค๊ดในลักษณะดังนี้<br &sol;>&NewLine;กำหนดค่าให้ตัวแปรหลาย ๆ ตัวพร้อมกันใช้ array<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >&dollar;userdata &equals; array&lpar; &NewLine;&Tab;'member&lowbar;id' &equals;&gt&semi; 45&comma; &NewLine;&Tab;'name' &equals;&gt&semi; 'my name'&comma; &NewLine;&Tab;'position' &equals;&gt&semi; 1&comma; &NewLine;&Tab;'status' &equals;&gt&semi; 1 &NewLine;&Tab;&rpar;&semi; &NewLine;&dollar;this-&gt&semi;session-&gt&semi;set&lowbar;userdata&lpar;&dollar;userdata&rpar;&semi;<&sol;pre>&NewLine;<p><&sol;br><&sol;p>&NewLine;<h4>วิธีกำลบตัวแปรแบบ session<&sol;h4>&NewLine;<p>ลบที่ละตัวแปร<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >&dollar;this-&gt&semi;session-&gt&semi;unset&lowbar;userdata&lpar;'member&lowbar;id'&rpar;&semi;<&sol;pre>&NewLine;<p>หรือแบบนี้<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >unset&lpar;&dollar;&lowbar;SESSION&lbrack;'member&lowbar;id'&rsqb;&rpar;&semi;<&sol;pre>&NewLine;<p>ลบพร้อมกันหลายตัวแปร<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >&dollar;userdata &equals; array&lpar;'member&lowbar;id'&comma; 'name'&rpar;&semi; &NewLine;&dollar;this-&gt&semi;session-&gt&semi;unset&lowbar;userdata&lpar;&dollar;userdata&rpar;&semi;<&sol;pre>&NewLine;<p>หรือแบบนี้ก็ได้<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >unset&lpar; &NewLine; &dollar;&lowbar;SESSION&lbrack;'member&lowbar;id'&rsqb;&comma; &NewLine; &dollar;&lowbar;SESSION&lbrack;'name'&rsqb; &NewLine;&rpar;&semi;<&sol;pre>&NewLine;<p><&sol;br><&sol;p>&NewLine;<h4>วิธีนำตัวแปรแบบ session ไปใช้งาน<&sol;h4>&NewLine;<p>เมื่อเราทำการโหลด session library เข้ามาใช้งานแล้วเราจะสามารถเรียกใช้งานตัวแปรแบบ session ได้<br &sol;>&NewLine;ทั้งใน Controller และ View ได้ ด้วยโค๊ดประมาณนี้<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >&dollar;member&lowbar;id &equals; &dollar;this-&gt&semi;session-&gt&semi;userdata&lpar;"member&lowbar;id"&rpar;&semi; &NewLine;echo &dollar;member&lowbar;id&semi;<&sol;pre>&NewLine;<p>member&lowbar;id คือชื่อของตัวแปรที่เรากำหนดค่าให้ก่อนหน้านี้ <&sol;p>&NewLine;<p>session เป็นอีกหนึ่งความสามารถของการเขียนโปรแกรมภาษา php ที่มีประโยชน์เป็นอย่างมาก<br &sol;>&NewLine;เราสามารถนำตัวแปรแบบ session ไปประยุกต์ใช้งานได้ในอีกหลาย ๆ รูปแบบ ซึ่งก็ขึ้นอยู่กับงานหรือโปรเจคนั้น<br &sol;>&NewLine;ว่ามีความจำเป็นหรือเหมาะสมที่จะนำตัวแปรแบบ session ไปใช้งานหรือไม่ <&sol;p>&NewLine;

Exit mobile version