CodeIgniter - Gestión de cookies

La cookie es una pequeña pieza de datos que se envía desde el servidor web para almacenarla en la computadora del cliente. CodeIgniter tiene un ayudante llamado "Cookie Helper" para la gestión de cookies.

Syntax

set_cookie ( $ nombre [, $ valor = '' [, $ expire = '' [, $ dominio = '' [, $ ruta = '/' [, $ prefijo = '' [, $ seguro = FALSO [, $ httponly = FALSO ]]]]]]]])

Parameters

  • $name( mixto ): nombre de la cookie o matriz asociativa de todos los parámetros disponibles para esta función

  • $value( cadena ): valor de la cookie

  • $expire( int ): número de segundos hasta el vencimiento

  • $domain( cadena ): dominio de la cookie (normalmente: .tudominio.com)

  • $path( cadena ) - Ruta de la cookie

  • $prefix( cadena ): prefijo del nombre de la cookie

  • $secure( bool ): si solo enviar la cookie a través de HTTPS

  • $httponly( bool ): si se debe ocultar la cookie de JavaScript

Return Type

vacío

En el set_cookie()función, podemos pasar todos los valores de dos formas. En la primera forma, solo se puede pasar una matriz y, en la segunda, también se pueden pasar parámetros individuales.

Syntax

get_cookie ( $ índice [, $ xss_clean = NULL ]])

Parameters

  • $index( cadena ) - Nombre de la cookie

  • $xss_clean( bool ): si se aplica el filtrado XSS al valor devuelto

Return

El valor de la cookie o NULL si no se encuentra

Return Type

mezclado

los get_cookie() La función se utiliza para obtener la cookie que se ha establecido mediante la función set_cookie ().

Syntax

delete_cookie ( $ nombre [, $ dominio = '' [, $ ruta = '/' [, $ prefijo = '' ]]]])

Parameters

  • $name( cadena ) - Nombre de la cookie

  • $domain( cadena ): dominio de la cookie (normalmente: .tudominio.com)

  • $path( cadena ) - Ruta de la cookie

  • $prefix( cadena ): prefijo del nombre de la cookie

Return Type

vacío

los delete_cookie() La función se utiliza para eliminar la cookie ().

Ejemplo

Crea un controlador llamado Cookie_controller.php y guárdalo en 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'); 
      } 
		
   } 
?>

Crea un archivo de vista llamado Cookie_view.php y guárdalo en 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>

Cambie el archivo routes.php en application / config / routes.php para agregar la ruta para el controlador anterior y agregue la siguiente línea al final del archivo.

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

Después de eso, puede ejecutar la siguiente URL en el navegador para ejecutar el ejemplo.

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

Producirá una salida como se muestra en la siguiente captura de pantalla.