CodeIgniter Cookie管理

 

Cookie 是从 Web 服务器发送来存储在客户端计算机上的一小段数据。 CodeIgniter 有一个名为"Cookie Helper"的帮助程序用于 cookie 管理。

语法

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

Parameters

  • $name (mixed)-此函数可用的所有参数的 Cookie 名称或关联数组
  • $value (string)-Cookie 值
  • $expire (int)-到期前的秒数
  • $domain (string)-Cookie 域(通常为:.yourdomain.com)
  • $path (string)-Cookie 路径
  • $prefix (string)-Cookie 名称前缀
  • $secure (bool)-是否仅通过 HTTPS 发送 cookie
  • $httponly (bool)-是否对 JavaScript 隐藏 cookie

Return Type

void

set_cookie() 函数中,我们可以使用两种方式传递所有值。第一种方式只能传递数组,第二种方式也可以传递单个参数。

语法

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

Parameters

  • $index (string)-Cookie 名称
  • $xss_clean (bool)-是否对返回值应用 XSS 过滤

Returns

cookie 值或 NULL(如果未找到)

Return Type

mixed

get_cookie() 函数用于获取已使用 set_cookie() 函数设置的 cookie。

语法

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

Parameters

  • $name (string)-Cookie 名称
  • $domain (string)-Cookie 域(通常为:.yourdomain.com)
  • $path (string)-Cookie 路径
  • $prefix (string)-Cookie 名称前缀

Return Type

void

delete_cookie()函数用于删除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>

更改application/config/routes.php中的routes.php文件,为上述控制器添加路由,并在文件末尾添加以下行。

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

之后,您可以在浏览器中执行以下网址来执行示例。

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

它将产生一个输出,如下面的屏幕截图所示。

cookie_management

 CodeIgniter 库函数和辅助函数在使用前需要初始化,但有一些常用函数不需要初始化。下面给出了这些常用功能及其说明。语法is_php($version)Parameters$version ...