CodeIgniter - การจัดการคุกกี้

คุกกี้คือข้อมูลชิ้นเล็ก ๆ ที่ส่งจากเว็บเซิร์ฟเวอร์ไปเก็บไว้ในคอมพิวเตอร์ของลูกค้า CodeIgniter มีตัวช่วยหนึ่งที่เรียกว่า“ Cookie Helper” สำหรับการจัดการคุกกี้

Syntax

set_cookie ( $ name [, $ value = '' [, $ expire = '' [, $ domain = '' [, $ path = '/' [, $ prefix = '' [, $ secure = FALSE [, $ httponly = FALSE ]]]]]]])

Parameters

  • $name( ผสม ) - ชื่อคุกกี้หรืออาร์เรย์ที่เชื่อมโยงของพารามิเตอร์ทั้งหมดที่มีให้สำหรับฟังก์ชันนี้

  • $value( สตริง ) - ค่าคุกกี้

  • $expire( int ) - จำนวนวินาทีจนกว่าจะหมดอายุ

  • $domain( สตริง ) - โดเมนคุกกี้ (โดยปกติคือ: .yourdomain.com)

  • $path( สตริง ) - เส้นทางคุกกี้

  • $prefix( สตริง ) - คำนำหน้าชื่อคุกกี้

  • $secure( bool ) - ระบุว่าจะส่งคุกกี้ผ่าน HTTPS หรือไม่

  • $httponly( bool ) - ซ่อนคุกกี้จาก JavaScript หรือไม่

Return Type

เป็นโมฆะ

ใน set_cookie()ฟังก์ชันเราสามารถส่งผ่านค่าทั้งหมดโดยใช้สองวิธี ในวิธีแรกสามารถส่งผ่านอาร์เรย์ได้เท่านั้นและในวิธีที่สองสามารถส่งผ่านพารามิเตอร์แต่ละตัวได้

Syntax

get_cookie ( $ index [, $ xss_clean = NULL ]])

Parameters

  • $index( สตริง ) - ชื่อคุกกี้

  • $xss_clean( bool ) - ว่าจะใช้การกรอง XSS กับค่าที่ส่งคืนหรือไม่

Return

ค่าคุกกี้หรือค่า NULL หากไม่พบ

Return Type

ผสม

get_cookie() ฟังก์ชันใช้เพื่อรับคุกกี้ที่ตั้งค่าโดยใช้ฟังก์ชัน set_cookie ()

Syntax

delete_cookie ( $ name [, $ domain = '' [, $ path = '/' [, $ prefix = '' ]]])

Parameters

  • $name( สตริง ) - ชื่อคุกกี้

  • $domain( สตริง ) - โดเมนคุกกี้ (โดยปกติคือ: .yourdomain.com)

  • $path( สตริง ) - เส้นทางคุกกี้

  • $prefix( สตริง ) - คำนำหน้าชื่อคุกกี้

Return Type

เป็นโมฆะ

delete_cookie() ฟังก์ชันใช้ในการลบคุกกี้ ()

ตัวอย่าง

สร้างตัวควบคุมที่เรียกว่า Cookie_controller.php และบันทึกไว้ที่ application/controller/Cookie_controller.php

<?php 
   class Cookie_controller extends CI_Controller { 
	
      function __construct() { 
         parent::__construct(); 
         $this->load->helper(array('cookie', 'url')); 
      } 
  
      public function index() { 
         set_cookie('cookie_name','cookie_value','3600'); 
         $this->load->view('Cookie_view'); 
      } 
  
      public function display_cookie() { 
         echo get_cookie('cookie_name'); 
         $this->load->view('Cookie_view');
      } 
  
      public function deletecookie() { 
         delete_cookie('cookie_name'); 
         redirect('cookie/display'); 
      } 
		
   } 
?>

สร้างไฟล์มุมมองที่เรียกว่า Cookie_view.php และบันทึกไว้ที่ application/views/Cookie_view.php

<!DOCTYPE html> 
<html lang = "en">
 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter View Example</title> 
   </head> 
	
   <body> 
      <a href = 'display'>Click Here</a> to view the cookie.<br> 
      <a href = 'delete'>Click Here</a> to delete the cookie. 
   </body>
	
</html>

เปลี่ยนไฟล์ route.php ใน application / config / route.php เพื่อเพิ่มเส้นทางสำหรับคอนโทรลเลอร์ด้านบนและเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์

$route['cookie'] = "Cookie_controller"; 
$route['cookie/display'] = "Cookie_controller/display_cookie"; 
$route['cookie/delete'] = "Cookie_controller/deletecookie";

หลังจากนั้นคุณสามารถเรียกใช้ URL ต่อไปนี้ในเบราว์เซอร์เพื่อดำเนินการตามตัวอย่าง

http://yoursite.com/index.php/cookie

มันจะสร้างผลลัพธ์ดังที่แสดงในภาพหน้าจอต่อไปนี้