# Lección 6: Cookies

## Conceptos teoricos

###

Las Cookies son información almacenada en un archivo de texto que se guarda en el cliente cuando el navegador accede a un sitio web.
Las cookies se suelen utilizar para guardar información sobre preferencias del usuario que accede para utilizarla en posteriores accesos.

Para crearlas utilizamos la siguiente función:

setcookie("nombre",valor,duración); nombre: Expresa el nombre de la cookie. valor: el valor que toma. duración: Tiempo en segundos de validez se suele utilizar time()+ segundos de duración. La función posee otros parametros pero son de menor importancia.

    <?php
    $valor = "Raul";
    setcookie("prueba", $valor,time()+3600);//validez una hora
    ?>

Para capturar el valor de la cookie utilizaremos el array asociativo $_COOKIE.

    <?php
    echo 'Bienvenido a nuestra web' . $_COOKIE['prueba'];
    ?>

Hay que tener en cuenta a la hora de utilizar cookies que puede haber navegadores que no las soporten o que el usuario lo confugure para que las rechacen.

## Ejemplos

    Ejemplo que pregunta el color de fondo preferido y lo almacena.<?
    //Comprobamos si han enviado el formulario y guardo sus preferencias
    if(isset($_POST["color"])){
          $color = $_POST["color"];
          setcookie("color", $color, time() + (3600));
    }else{
       //Si no envian formulario compruebo si está definida la cookie
       if (isset($_COOKIE["color"])){
          $color = $_COOKIE["color"];}
    }?>

    <html>
    <head>
       <title>Ejercicio1 Cookies </title>
    <?
    echo '</head>';
    if (isset($color)){
    echo "<body bgcolor=$color >";}
    else
    {echo '<body bgcolor=white>';}
    ?>
    <form action="ejemplo1.php" method="post">
      Elige un color de fondo:
      <br>
      <select name="color">
      <option value="red">Rojo
      <option value="blue">Azul
      </select>
      <input type="submit" value="Enviar">
      </form>
    </body>
      </html>
    Ver script en ejecución

## Ejercicios

### Ejercicio1:

Crear un script que presente al usuario un cuadro de selección de idioma, inglés y español, en base a la opción elegida este será el idioma de nuestra web. Utiliza las Cookies para que en futuras ocasiones se cargue al web en este idioma sin necesidad de volver a elegir el idioma (el cuadro de selección ya no aparece).

INDICE DE LECCIONES

Introducción

Sintaxis básica

Estructuras de Control

Funciones de usuario

Acceso a BB.DD

Cookies

Sesiones

Otras funciones

ENLACES DE INTERES

web oficial de PHP

web oficial de Apache

web oficial de w3c

desarrollo web