CodeIgniter - Gestione dei cookie

Il cookie è una piccola porzione di dati inviata dal server web per essere archiviata sul computer del cliente. CodeIgniter ha un helper chiamato "Cookie Helper" per la gestione dei cookie.

Syntax

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

Parameters

  • $name( misto ) - Nome del cookie o matrice associativa di tutti i parametri disponibili per questa funzione

  • $value( stringa ) - Valore del cookie

  • $expire( int ) - Numero di secondi fino alla scadenza

  • $domain( stringa ) - Dominio del cookie (solitamente: .tuodominio.com)

  • $path( stringa ) - Percorso del cookie

  • $prefix( stringa ) - Prefisso del nome del cookie

  • $secure( bool ) - Indica se inviare il cookie solo tramite HTTPS

  • $httponly( bool ) - Indica se nascondere il cookie da JavaScript

Return Type

vuoto

Nel set_cookie()possiamo passare tutti i valori in due modi. Nel primo modo si può passare solo l'array e nel secondo si possono passare anche parametri individuali.

Syntax

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

Parameters

  • $index( stringa ) - Nome del cookie

  • $xss_clean( bool ) - Indica se applicare il filtro XSS al valore restituito

Return

Il valore del cookie o NULL se non trovato

Return Type

misto

Il get_cookie() viene utilizzata per ottenere il cookie che è stato impostato utilizzando la funzione set_cookie ().

Syntax

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

Parameters

  • $name( stringa ) - Nome del cookie

  • $domain( stringa ) - Dominio del cookie (solitamente: .tuodominio.com)

  • $path( stringa ) - Percorso del cookie

  • $prefix( stringa ) - Prefisso del nome del cookie

Return Type

vuoto

Il delete_cookie() viene utilizzata per eliminare il cookie ().

Esempio

Crea un controller chiamato Cookie_controller.php e salvalo in 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 file di visualizzazione chiamato Cookie_view.php e salvalo in 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>

Cambia il file routes.php in application / config / routes.php per aggiungere route per il controller sopra e aggiungi la seguente riga alla fine del file.

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

Dopodiché, puoi eseguire il seguente URL nel browser per eseguire l'esempio.

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

Produrrà un output come mostrato nello screenshot seguente.