| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
19/12/07 - Las cookies en PHP son muy fáciles de utilizar. Ya empezamos a explicar algunas claves interesantes en el artículo utilización de cookies en el manual de PHP. Ahora vamos a mostrar otros detalles que conviene saber para trabajar con las cookies, sobretodo en lo que respecta a su creación.
Crear cookies en PHP
En PHP las cookies se controlan por medio de una función, que nos sirve para generarlas y guardarlas en el navegador del usuario. Es la función setcookies(), que recibe varios parámetros, entre ellos, el nombre de la cookie, el valor y la caducidad. El único parámetro obligatorio es el primero, el nombre de la cookie, los demás son opcionales.
Veamos la lista entera de parámetros de setcookie() con sus explicaciones:
Nombre
Un string con el nombre que queremos darle a la cookie a guardar. Puede ser cualquiera que deseemos.
Valor
Una cadena de caracteres que es el valor que va a tener la cookie.
Caducidad
Es un timestamp con el valor de la fecha en la que caducará la cookie. Lo normal es utilizar la función time(), que genera el timestamp actual y sumarle el número de segundos que quedamos que dure la cookie. Por ejemplo, time() + (60 * 60 * 24 * 365) haría que la cookie durase un año en el sistema del usuario.
Ruta
El camino o ruta donde la cookie se podrá utilizar dentro del dominio. Por defecto, la cookie se podrá utilizar en el directorio donde se ha creado y sus subdirectorios. Si indicamos "/" la cookie tendrá validez dentro de todo el dominio.
Dominio
Es el subdominio donde se podrá acceder a la cookie. Las cookies sólo se pueden generar y utilizar para el dominio de la página donde está colocado el script, pero podemos hacerlo visible para todos los subdominios del dominio de la web por medio de ".midominio.com".
Seguro
Es un boleano que, si es true, indica que la cookie sólo puede ser transmitida por shttp (http seguro).
Sólo http
Esto es otro boleano que sirve para indicar que la cookie sólo puede ser accedida por medio de las cabeceras del http, lo que la haría inalcanzable para lenguajes de script en el cliente como Javascript. Este parámetro fue añadido en PHP 5.2.0
La function setcookie() devuelve un boleano, si es true indica que se pudo incluir en el navegador del usuario y si es false indica que no ha podido colocarla en el sistema. Pero este valor no indica que luego el visitante la haya aceptado o no, puesto que el navegador puede haberlo configurado para no aceptar cookies y esto no lo puede detectar setcookie() directamente.
Por ejemplo, estas serían diferentes llamadas a setcookie():
setcookie("migalleta", "mivalor");
setcookie("cookie2", "mivalor2", time() + 3600);
setcookie("otracookie", "valorfinal", time() + 3600, "/", ".midominio.com");
Pero atención en un asunto: Para enviar una cookie al navegador se debe hacer antes de haber enviado las cabeceras del http al cliente, es decir, antes de haber escrito cualquier texto en la página. Si no, PHP podrá lanzar un error de headers already sent (cabeceras ya enviadas).
Recuperar cookies con PHP
Por otra parte, para recibir las cookies que el navegador del usuario pueda tener creadas en el sistema se utiliza el array asociativo $_COOKIE. En este array están todas las cookies que tiene disponible la página PHP en el dominio y el directorio donde está colocado.
Por medio del nombre de la cookie accedemos a su valor:
$_COOKIE["migalleta"];
$_COOKIE["cookie2"];
Para ver un
ejemplo de uso de cookies en PHP acceder al taller de PHP Estilos CSS
distintos a una página con PHP y cookies.
| Autoría, licencia y acciones sobre este artículo | ||||||
|
Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright. * Para consultas técnicas utilizar la lista de correo.
|
| Comentarios de los visitantes |
|
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario. |
| Enlaces: |
| Maestrosdelweb |
Lectura recomendada Compra este libro en Agapea, la librería urgente a domicilio. |
||||||||
Tienda DesarrolloWeb