Cookies y
sesiones (resumen)Para deshabilitar las cookies en Firefox, hay que desmarcar la casilla de verificación "Aceptar cookies" en el menú .
Para deshabilitar las cookies en Internet Explorer 8, hay que elegir la configuración "Bloquear todas las cookies" en el menú .
Las cookies permiten que el servidor almacene datos en el ordenador del cliente.
// Las cookies deben crearse o destruirse antes de enviar ningún carácter al navegador.
// Para crear una cookie, se utiliza la función setcookie
setcookie('nombreCookie', valorCookie, momentoDestruccion);
// nombreCookie es el nombre con que identificará a la cookie.
// Los nombres de cookie no deben coincidir con los nombres de los controles de los formularios
// valorCookie es el valor que se guarda en la cookie
// momentoDestruccion es el momento en que se borrará automáticamente la cookie,
// expresado como tiempo Unix. Para calcularlo se suele utilizar la expresion
// time()+$duracion donde $duracion es el número de segudos que debe
// permancer la cookie en el ordenador del cliente
// Si se omite, la cookie se borrará al cerrar el navegador
// Los valores de las cookies se pueden consultar en cualquier página
// del mismo dominio y se almacenan en la matriz $_COOKIE y en $_REQUEST
// (por eso no deben coincidir los nombres de las cookies con los de los controles de los formularios)
$dato = $_COOKIE['nombreCookie'];
$dato = $_REQUEST['nombreCookie'];
// Para borrar una cookie, basta con volver a crear la cookie con un tiempo anterior al actual
setcookie(nombreCookie, valorCookie, time()-3600);
Las sesiones permiten que PHP "recuerde" datos cuando el usuario cambia de página dentro de un mismo sitio web, sin necesidad de ir pasándola de página a página como controles ocultos.
// Para utilizar variables de sesión, cada página debe abrir la sesión:
ini_set('session.save_handler', 'files'); // Sólo si session.save_handler = user en php.ini
session_start();
// Una vez abierta la sesión, se pueden almacenar valores en la matriz $_SESSION:
$_SESSION['dato'] = $dato;
// Los valores almacenados se pueden recuperar en cualquier página
// en la que se haya abierto sesión desde el mismo navegador:
$dato = $_SESSION['dato'];
// Las sesiones se pierden si el usuario cierra el navegador o si se
// destruye la sesión desde el servidor:
session_destroy();
Esta obra está bajo una licencia de Creative
Commons.