Sei sulla pagina 1di 10

HTTP: el protocolo sin estado

Recordemos que HTTP es un


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

Potrebbero piacerti anche