En estos momentos CodeIgniter dispone de 2 maneras diferentes de manejar cookies, una de ellas es el helper cookie, nos permite trabajar con cookies como se ha hecho siempre en PHP pero con un pequeño agregado de seguridad. La librería se llama session, esta librería es la que tendríamos que utilizar siempre para trabajar con sistemas de usuarios y datos delicados ya que toda la información pasa a una cookie encriptada.

Como se utilizo el Helper Cookie sesiones en CodeIgniter 3

Este helper contiene funciones útiles para trabajar con cookies

Como cargar el Cookie Helper CodeIgniter 3.

Para cargar este helper en CodeIgniter como siempre tenemos dos caminos, uno es cargarlo cuando lo necesitamos utilizando:

$this->load->helper('cookie');

también lo podemos cargar permanentemente modificando el archivo autoload de CodeIgniter 3 situado en application/config/autoload.php

Buscamos la variable $autoload que tendría que estar en la línea 92 aprox y la modificamos $autoload['helper'] = array('cookie'); una vez hecho esto ya podemos trabajar con este helper

Como utilizar el Cookie Helper

Lista de funciones del Cookie Helper en CodeIgniter 3

Utilizaremos la librería input que provee CodeIgniter para tener un extra de seguridad, sin tenernos que complicar demasiado la vida

Para insertar una cookie

los mínimos valores necesarios son, Nombre de la cookie, valor que tendrá esa cookie, y el tiempo de vida de la cookie en segundos. La sintaxis es la siguiente

$this->input->set_cookie('cookie_Prueba','cookie_valor','3600');  

Para leer una cookie con seguridad

$this->input->cookie('cookie_Prueba', TRUE);

Para borrar una cookie fácilmente

delete_cookie('cookie_Prueba');

Que es y para que se utiliza session en CodeIgniter 3

La librería Session de CodeIgniter está centrada en controlar el estado del usuario o visitante de tu web a través de pequeñas cookies codificadas instaladas en el navegador, así de simple y fácil

Como inicio la sesión de usuario

Antes de nada hay que configurar un poco application/config/config.php buscamos $config['encryption_key'] =''; y escribimos la clave de encriptación que nosotros queramos por ejemplo $config['encryption_key'] = 'quiero3huevosfritosconpatatasy6trozosdefua';
Si continuamos haciendo scroll hacia abajo podemos modificar también el nombre de la cookie para la sesión y más valores.

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

Como siempre en CodeIgniter podemos cargar la librería cuando la necesitemos o también lo podemos cargar permanentemente modificando el archivo autoload de CodeIgniter 3 situado en application/config/autoload.php más o menos esta por la línea 42 $autoload['libraries'] = array('session');

Escribir datos en nuestra sesión

Estos datos se guardaran en un array que tendremos que crear y haciendo uso de $this->session->set_userdata($array); pasaran a estar codificados y solo accesibles desde el método userdata().

$valoresSession = array(
               'id' => '1',
               'nombre' => 'esunbichito',
               'logueado' => false
            );
$this->session->set_userdata($valoresSession);
 

Como accedo a los valores de session una vez codificados

Para acceder es muy simple haremos uso del userdata()

 echo  $this->session->userdata('nombre');

Como borro la session actual?

Para borrar la sesión actual es muy simple $this->session->sess_destroy();