You are on page 1of 13

Unidad Didctica 2 Programacin de documentos web utilizando lenguajes de script de servidor

2.10 COOKIES Y SESIONES

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva pg1

Las cookies

Son pequeos ficheros de texto que se escriben en el ordenador del cliente (como mximo 1Kb) (guarda variables)

Las transfiere el servidor en la cabecera de los mensajes


El cliente tiene que tenerlas habilitadas Las cookies slo son vlidas desde el servidor que las envi
UTILIDAD Agilizar algunos procesos de identificacin del usuario Gestin comercial on-line

Internet Explorer los guarda en un directorio llamado Archivos temporales de Internet xxx@nombre[z].txt xxx : nombre del equipo Nombre[]: suele ser el nombre del directorio de servidor desde el que se envi la cookie z : nmero ordinal del nmeros de accesos a la pgina que enva la cookie.

En Chrome: Settings > Show Advanced Settings > Privacy > Content Settings > Cookies > All Cookies and Site Data

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 2

Cabeceras de HTTP
Durante la conexin se envan cabeceras con:
direccin IP, versin del explorador, sistema operativo, etc. El servidor puede enviar la orden de crear una cookie El explorador enva todas las cookies que tiene almacenadas

Durante la transferencia :
No se puede hacer nada con las cookies ya que se ha terminado el tiempo de transferencia de cabeceras

Crear una cookie o iniciar una sesin, se debe hacer al principio del todo, antes de enviar cualquier otro contenido
Juan Jos Taboada Len 2013/2014 Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 3

Creacin y Lectura de una cookie


Lectura de una cookie $_COOKIE[nombre_cookie] $_REQUEST[nombre_cookie]

//Ejemplo <? $z="Mi regalito"; setcookie("cookie2",$z,time()+3600); echo "Esta es la galletita:",$_COOKIE['cookie2']; ?>

Cmo se Borra una cookie?

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 4

Una cookie definida como array

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 5

Un contador como aplicacin prctica

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 6

Sesiones (I)
Permite mantener informacin a travs de distintas pginas:
La informacin se almacena principalmente en el servidor donde se guarda una sesin distinta para cada uno de los usuarios que accedan a la pgina.

1. A cada usuario se asigna un identificador (id de sesin). 2. Este identificador se guarda en forma de cookie en el ordenador del usuario o, si ste tiene las cookies deshabilitadas, se introduce como parte de la direccin URL. 3. Una vez se recibe el identificador en el servidor este ya podr acceder a toda la informacin que tenga almacenada en la sesin.

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 7

Requisitos de configuracin
En info.php buscamos la directiva session.save_path (debe contener la ruta del directorio temporal) Por ejemplo "C:/ServidoresLocales/tmp"

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 8

Funciones de sesin
session_start() session_name() session_name('nombre')

Crea una sesin o contina con la actual. En el segundo caso el identificador de sesin debe ser transferido por medio de una variable GET o a travs de una cookie.
Recoge el nombre de la sesin. Por defecto suele ser PHPSESSID

session_cache_limiter()
Controla las cabeceras HTTP enviadas al cliente.
Los contenidos de las pginas pueden ser guardados en la cach local del cliente o no

Permite asignar un nuevo nombre a la sesin actual. Si cambiamos de pgina y queremos mantener el mismo identificador(conservar la sesin anterior) esta funcin debe ser escrita, con el mismo nombre, en la nueva pgina, y adems, ha de ser insertada antes de llamar a la funcin session_start()para que se inicie la sesin.

Ver ejemplo
Juan Jos Taboada Len 2013/2014 Implantacin de Aplicaciones WEB. COOKIES Y SESIONES IES San Sebastin Huelva 9

Ejemplo simple
<? session_start(); #pedimos que escriba el identificador nico y el nombre de la sesin echo session_id(),"<br>"; echo session_name(),"<br>"; ?> <A Href="ejemplo116.php">Volver a llamar esta pgina</A>

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 10

Propagacin de las sesiones


Consiste en Propagar el identificador de sesin y los valores de las variables de sesin de pgina en pgina sin usar formularios.
La forma habitual de propagar las sesiones es a travs de cookies
Caso de cookies deshabilitadas La llamada ser <A href="pagxx.php?<? echo session_name(). "=.session_id()?>
//pagxx.php //Orden de escritura <? session_cache_limiter(); session_name('nombre'); session_start(); ..... ?>
IES San Sebastin Huelva 11

Caso de que el cliente tenga activada la opcin aceptar cookies llamada a la nueva pgina siguiendo el mtodo tradicional, es decir:
<A href="pagxx.php">

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

Manejo de variables de sesin


$_SESSION['var'] unset($_SESSION); Registra una variable de sesin. Destruye las variables contenidas en el parntesis.

unset($_SESSION['var']); isset($_SESSION['var']);
session_destroy()

Slo sera destruida la variable de sesin indicada en var Devuelve un valor booleano (UNO NUL) segn que exista o no exista la variable
Borra el id de sesin

Para aplicar lo visto sobre sesiones realizaremos el ejemplo Sesion1 del cuaderno de actividades cookies y sesiones. Actividades: realizar sesion2
Juan Jos Taboada Len 2013/2014 Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 12

Unidad Didctica 2
2.10 COOKIES Y SESIONES FIN Gracias

Juan Jos Taboada Len 2013/2014

Implantacin de Aplicaciones WEB. COOKIES Y SESIONES

IES San Sebastin Huelva 13