CodeIgniter - Gerenciamento de Cookies

Cookie é um pequeno pedaço de dado enviado do servidor da web para armazenar no computador do cliente. CodeIgniter tem um helper chamado “Cookie Helper” para gerenciamento de cookies.

Syntax

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

Parameters

  • $name( misto ) - nome do cookie ou matriz associativa de todos os parâmetros disponíveis para esta função

  • $value( string ) - valor do cookie

  • $expire( int ) - Número de segundos até a expiração

  • $domain( string ) - Domínio do cookie (geralmente: .seudominio.com)

  • $path( string ) - Caminho do cookie

  • $prefix( string ) - Prefixo do nome do cookie

  • $secure( bool ) - se deve enviar apenas o cookie por meio de HTTPS

  • $httponly( bool ) - se deve ocultar o cookie do JavaScript

Return Type

vazio

No set_cookie()função, podemos passar todos os valores de duas maneiras. Na primeira forma, apenas o array pode ser passado e, na segunda forma, parâmetros individuais também podem ser passados.

Syntax

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

Parameters

  • $index( string ) - Nome do cookie

  • $xss_clean( bool ) - se deve ser aplicada a filtragem XSS ao valor retornado

Return

O valor do cookie ou NULL se não for encontrado

Return Type

misturado

o get_cookie() A função é usada para obter o cookie que foi definido usando a função set_cookie ().

Syntax

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

Parameters

  • $name( string ) - Nome do cookie

  • $domain( string ) - Domínio do cookie (geralmente: .seudominio.com)

  • $path( string ) - Caminho do cookie

  • $prefix( string ) - Prefixo do nome do cookie

Return Type

vazio

o delete_cookie() função é usada para deletar o cookie ().

Exemplo

Crie um controlador chamado Cookie_controller.php e salve em 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'); 
      } 
		
   } 
?>

Crie um arquivo de visualização chamado Cookie_view.php e salve em 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>

Altere o arquivo routes.php em application / config / routes.php para adicionar a rota para o controlador acima e adicione a seguinte linha no final do arquivo.

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

Depois disso, você pode executar a seguinte URL no navegador para executar o exemplo.

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

Ele produzirá uma saída conforme mostrado na imagem a seguir.