protocolo sin estado que no puede guardar informacin del usuario. Por esta razn, el protocolo HTTP necesita de la ayuda de las sesiones para poder manejar y transportar estos datos de sesin, por eso debemos programarlas en PHP.
Material by @damiande | http://damiandeluca.com.ar
El problema para pasar datos Para pasar datos entre diferentes pginas PHP slo podemos hacerlo mediante mtodos como GET o POST. Si bien es ms funcional que Post, el problema de la primera opcin es que es visible la informacin. El problema de la segunda es, en principio, slo podramos hacerlo accionando un formulario. Material by @damiande | http://damiandeluca.com.ar Las sesiones Si necesitamos identificar usuarios, conservar algunas variables a lo largo y ancho de diversas pginas o mantenerlo logueado por un rato no lo dudemos, necesitaremos trabajar con sesiones. La sesin tiene un perodo de tiempo durante el cul, un usuario recorre diversas pginas web de nuestro sitio. Material by @damiande | http://damiandeluca.com.ar Las sesiones en PHP Con PHP podremos diferenciar a los usuarios y mantener sus datos a lo largo de nuestra aplicacin. Permite personalizar la aplicacin de acuerdo a las elecciones o preferencias del usuario.
Material by @damiande | http://damiandeluca.com.ar
Comenzar una sesin Lo primero que debemos hacer para iniciar la sesin en nuestro cdigo es instanciarla. Esto lo hacemos con: session_start() El start de la sesin debe estar en la pgina antes que cualquier otro cdigo. Las personas que vayan ingresando desde otros equipos van a obtener un identificador distinto para no pisarse. Es importante saber que session_start() hay que incluirlo no slo en la primera pgina, sino en todas las que se mantenga la sesin. La funcin session_start() debe incluirse en todas las pginas Web que formen parte de la aplicacin, porque no slo inicializa, sino que tambin mantiene la sesin activa. Si no haba sesin activa, crea una nueva con un identificador si exista una activa se mantiene y obtiene sus datos y variables.
Material by @damiande | http://damiandeluca.com.ar
$_SESSION Es una variable superglobal que nos permite almacenar datos de sesin. Los datos que vayamos almacenando en esta variable los podremos recuperar luego en otras pginas que formen parte de nuestra aplicacin.
Material by @damiande | http://damiandeluca.com.ar
Ejemplo de sesin y asignacin de variable <?php session_start(); // Guardamos una variable $_SESSION['nombre'] = Dami'; ?>
Material by @damiande | http://damiandeluca.com.ar
Identificador de sesin session_start() utiliza las cabeceras para enviar informacin de sesin, por eso debe estar antes de que comience el script (arriba de todo). La variable guarda el identificador de la sesinSID. La id de sesin nace cuando hacemos el primer start en nuestra aplicacin. Podemos mostrar la id con session_id(). Ver ej: sesid.php Ver las cookies tambin. Material by @damiande | http://damiandeluca.com.ar Ejemplo de pasar el SID <?php session_start(); ?> <html> <body> <?php $_SESSION[titulo"] = Dracula"; $_SESSION[autor"] = Bram Stoker; $id_sesion = SID; echo <a href=libro.php? . $id_sesion . >Next</a>; ?> Otros ejemplos: http://php.net/manual/en/function.session-start.php
Material by @damiande | http://damiandeluca.com.ar
Destruyendo todo Session_destroy() se encarga de sacar la basura: destruye todos los datos asociados a la sesin activa. Destruye la informacin asociada con la sesin en curso pero no destruye las variables globales asociadas con la sesin, ni destruye la cookie de sesin. Luego de destruir si queremos volver a utilizar las variables de sesin usamos de nuevo session_start(). session_unset () libera o unsetea todas las variables relacionadas con la sesin activa. Material by @damiande | http://damiandeluca.com.ar