1 PHP con Bases de Datos Tema 10 Sesiones y Cookies Cookies SetCookieBorrar una Cookie Inicio de Sesión Variables de Sesión Funciones para el manejo de Sesiones
2 Cookies Las cookies son pequeños archivos de texto que nuestra página puede almacenar en el disco duro de los visitantes, y recuperar cuando vuelvan a visitarla. PHP con Bases de Datos Page 2
3 setcookie(Nombre, Valor, Tiempo_Vida);La función para colocar una cookie es setcookie(), y su sintaxis: setcookie(Nombre, Valor, Tiempo_Vida); El primer parámetro es, pues, el nombre de la cookie. Es el único valor estrictamente necesario, los demás son opcionales. Así, si establecemos al principio de nuestro script. setcookie("saludo"); ?> Debemos de tener en cuenta que la instrucción para colocar la cookie ha de ir junto a las cabeceras http de la página, por tanto debemos incluirla al comienzo del script, antes de que comience el volcado de html al usuario; de lo contrario dará error. PHP con Bases de Datos Page 3
4 SetCookie Para completar los dos primeros parámetros nombre_cookie = valor utilizamos: setcookie("saludo“,”hola”); ?> El tercer parámetro de la cookie es su tiempo de vida. Se especifica en segundos. Si no especificamos nada, solo dura la sesión (es decir, hasta que cerremos el navegador). Usamos la función time() seguida del numero de segundos: PHP con Bases de Datos Page 4
5 Recuperando una CookieDesde la versión 4.1 de PHP podemos recuperar las cookies con $_COOKIE['nombre_cookie']. Se trata de un array autoglobal, accesible desde cualquier parte del script. Este es el método recomendado. Por ejemplo: echo $_COOKIE['saludo']; ?> PHP con Bases de Datos Page 5
6 Borrado de una Cookie Para borrar usualmente basta con colocar otra con su mismo nombre sin ningún parámetro mas, por ejemplo: setcookie ("saludo"); //borra la cookie saludo ?> if (isset($_COOKIE['visita'])) { echo "Gracias por visitarnos nuevamente"; } else { echo "Bienvenido por primera vez"; setcookie("visita","ok"); } ?> Ejemplo general de Cookies: PHP con Bases de Datos Page 6
7 Borrado de una Cookie Para borrar usualmente basta con colocar otra con su mismo nombre sin ningún parámetro mas, por ejemplo: setcookie ("saludo"); //borra la cookie saludo ?> Ejemplo general de Cookies: if (isset($_COOKIE['visita'])) { echo "Gracias por visitarnos nuevamente"; } else { echo "Bienvenido por primera vez"; setcookie("visita","ok"); } ?> PHP con Bases de Datos Page 7
8 Sesiones Una sesión es un período de tiempo durante el cuál, una persona determinada ve un número de diferentes páginas Web de un determinado dominio. Las sesiones se utilizan como método para conservar ciertos datos a lo largo de los subsiguientes accesos. En las páginas webs permite construir aplicaciones más personalizadas e incrementar el atractivo de una página web. PHP con Bases de Datos Page 8
9 Inicio de Sesión Para iniciar una sesión lo haremos con la función session_start() y luego, las variables que queramos mantener durante toda la visita del usuario las guardaremos en la variable $_SESSION. Siempre que queramos utilizar las sesiones deberemos llamar antes a session_start() y siempre antes que cualquier salida. Es decir, antes que "" e incluso antes que cualquier echo o función que imprima en pantalla. PHP con Bases de Datos Page 9
10 Variables de Sesión Existe una variable súper-global, que se encarga de almacenar las variables que quiere pasar entre páginas de una sesión. El array $_SESSION permite almacenar datos de cualquier tipo para recuperarlos en otras páginas que tengan la misma sesión. session_start(); $_SESSION['usuario'] = 'WebTaller'; ?>
11 Funciones para manejo de SesionesFunción Descripción session_start() Inicia una sesión y permite almacenar variables en la estructura $_SESSION. session_destroy() Elimina todas las variables de sesión. Trabajando con sesiones siempre tendremos que tener en cuenta: Poner siempre al principio session_start(); Nunca poner nada que imprima algo en pantalla antes que session_start(), ni siquiera un espacio antes de Usar siempre la variable $_SESSION para manejar las variables de sesión. PHP con Bases de Datos Page 11