CodeIgniter - Quản lý cookie

Cookie là một phần dữ liệu nhỏ được gửi từ máy chủ web để lưu trữ trên máy tính của khách hàng. CodeIgniter có một người trợ giúp được gọi là “Trình trợ giúp cookie” để quản lý cookie.

Syntax

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

Parameters

  • $name( hỗn hợp ) - Tên cookie hoặc mảng kết hợp của tất cả các tham số có sẵn cho hàm này

  • $value( chuỗi ) - Giá trị cookie

  • $expire( int ) - Số giây cho đến khi hết hạn

  • $domain( string ) - Miền cookie (thường là: .yourdomain.com)

  • $path( string ) - Đường dẫn cookie

  • $prefix( string ) - Tiền tố tên cookie

  • $secure( bool ) - Có chỉ gửi cookie qua HTTPS hay không

  • $httponly( bool ) - Có ẩn cookie khỏi JavaScript hay không

Return Type

vô hiệu

bên trong set_cookie(), chúng ta có thể chuyển tất cả các giá trị bằng hai cách. Theo cách đầu tiên, chỉ mảng có thể được truyền và theo cách thứ hai, các tham số riêng lẻ cũng có thể được truyền.

Syntax

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

Parameters

  • $index( string ) - Tên cookie

  • $xss_clean( bool ) - Có áp dụng lọc XSS cho giá trị trả về hay không

Return

Giá trị cookie hoặc NULL nếu không tìm thấy

Return Type

Trộn

Các get_cookie() hàm được sử dụng để lấy cookie đã được thiết lập bằng cách sử dụng hàm set_cookie ().

Syntax

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

Parameters

  • $name( string ) - Tên cookie

  • $domain( string ) - Miền cookie (thường là: .yourdomain.com)

  • $path( string ) - Đường dẫn cookie

  • $prefix( string ) - Tiền tố tên cookie

Return Type

vô hiệu

Các delete_cookie() hàm được sử dụng để xóa cookie ().

Thí dụ

Tạo một bộ điều khiển có tên Cookie_controller.php và lưu nó tại 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'); 
      } 
		
   } 
?>

Tạo một tệp dạng xem có tên Cookie_view.php và lưu nó tại 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>

Thay đổi tệp route.php trong application / config / lines.php để thêm tuyến đường cho bộ điều khiển ở trên và thêm dòng sau vào cuối tệp.

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

Sau đó, bạn có thể thực thi URL sau trong trình duyệt để thực thi ví dụ.

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

Nó sẽ tạo ra một đầu ra như trong ảnh chụp màn hình sau.