CodeIgniter Cookie管理


Cookie是从Web服务器发送并存储在客户端计算机上的一小部分数据。CodeIgniter有一个名为“Cookie Helper”的助手用于cookie管理。

语法 set_cookie($ name [,$ value ='' [,$ expire ='' [,$ domain ='' [,$ path ='/' [,$ prefix ='' [,$ secure = FALSE [,$ httponly = FALSE ]]]]]]]])
参数
  • $ message 混合 ) - 错误消息

  • $ status_code int ) - HTTP响应状态码

  • $ heading string ) - 错误页面标题

返回类型 空虚

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

语法 get_cookie( _$ index_ [, _$ xss_clean = NULL_ ]])
参数
  • $ index string ) - Cookie名称

  • $ xss_clean bool ) - 是否将XSS过滤应用于返回的值

返回 如果未找到cookie值或NULL
返回类型

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

语法 delete_cookie( _$ name_ [, _$ domain =''_ [, _$ path ='/'_ [, _$ prefix =''_ ]]]])
参数
  • $ name 字符串 ) - Cookie名称

  • $域 字符串 ) - Cookie域(通常:.yourdomain.com)

  • $ path string ) - Cookie路径

  • $ prefix 字符串 ) - Cookie名称前缀

返回类型 空虚

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";

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

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

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

cookie_management