# Cookies y sesiones (resumen)

Para deshabilitar las cookies en Firefox, hay que desmarcar la casilla de verificación "Aceptar cookies" en el menú Herramientas > Opciones > Privacidad.

Para deshabilitar las cookies en Internet Explorer 8, hay que elegir la configuración "Bloquear todas las cookies" en el menú Herramientas > Opciones de Internet > Privacidad.

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'); // Por 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.