Las cookies
Igual que ocurría con la función
mail, no todos los servidores gratuitos tienen habilitada la opción de envío de
cookies.
Como sabes las
cookies son pequeños ficheros que se escriben
en el ordenador del cliente
Si usas
Explorer como navegador podrás ver que se almacenan -como ficheros de texto- en un subdirectorio de Windows que se llama
Cookies y habitualmente tienen un nombre de esta forma:
xxx@nombre[z].txt donde
xxx suele ser el nombre que figura en el registro de windows como titular del ordenador (el que se pone al instalar Windows);
nombre suele ser
el nombre del directorio de servidor desde el que se
envió la cookie y el número
z suele ser el ordinal del números de accesos a la página que envía la
cookie.
Netscape trata las
cookies de distinta forma ya que las almacena en un
único fichero llamado
cookies.txt y que esta en el subdirectorio del usuario que se crea en la instalación del programa dentro de un subdirectorio de
Netscapellamado
users.
¿Como enviar cookies?
El
script de envío de cookies
debe insertarse siempre al principio de la página y antes de cualquier etiqueta HTML. Esto es muy importante... no lo olvides
Hecha esta precisión la sintaxis es la siguiente:
setcookie(nom, val, exp)
donde:
nom es una cadena que contiene el nombre de la variable que recoge el valor de la cookie.
val es el valor que se asignará a la variable anterior. Puede ser tanto numérico como de tipo cadena.
exp es la fecha de caducidad de la cookie. Normalmente se escribe: time() (hora actual) másun número que representa segundos con lo cual (observa los ejemplos) la cookie expirará transcurridos esos segundos.
Los valores asignados a una cookie pueden recogerse a partir de variables (predefinidas o enviadas a través de un formulario).
Tal como puedes ver en el ejemplo galletas5.php también es posible crear cookies en las que la variable contiene un array que puede ser tanto escalar como asociativo.
Como ves en el ejemplo, es necesario incluir un setcookie por cada uno de los valores del array aunque a la hora de devolver esa variable el navegador del cliente envia el array completo.
¿Como leer cookies?
Al invocar la variable con la que fué escrita desde cualquier página alojada en el subdirectorio del servidor desde el que fué creada el valor de la cookie ya estará asignado -de forma automática- a esa variable.
Observa los ejemplos: 2, 4 y 6, la única instrucción que contienen es echo y el nombre de la variable. Si la cookie ha sido creada anteriormente y no ha expirado, esa instrucción escribirá el valor de aquella.