La función setcookie() envía una cookie HTTP al cliente.
Una cookie es una variable enviada al navegador por el servidor. Las cookies suelen ser pequeños archivos de texto que un servidor inserta en la computadora de un usuario. Esta cookie se envía cada vez que el mismo ordenador solicita una página a través del navegador.
El nombre de la cookie se asigna automáticamente a una variable del mismo nombre. Por ejemplo, si la cookie que se envía se denomina "usuario", se creará automáticamente una variable denominada $usuario que contiene el valor de la cookie.
La cookie debe asignarse antes de enviar cualquier otro resultado al cliente.
Si tiene éxito, la función devuelve VERDADERO. Devuelve FALSO en caso de error.
setcookie(nombre,valor,caducidad,ruta,dominio,seguro)
parámetro | describir |
---|---|
nombre | Requerido. Especifica el nombre de la cookie. |
valor | Requerido. Especifica el valor de la cookie. |
expirar | Opcional. Especifica el tiempo de caducidad de las cookies. time()+3600*24*30 establecerá el tiempo de vencimiento de las cookies en 30 días. Si no se establece este parámetro, la cookie caducará automáticamente después de que finalice la sesión (es decir, cuando se cierre el navegador). |
camino | Opcional. Especifica la ruta del servidor para las cookies. Si la ruta se establece en "/", la cookie será válida en todo el nombre de dominio. Si la ruta se establece en "/test/", la cookie será válida en el directorio de prueba y todos sus subdirectorios. El valor de ruta predeterminado es el directorio actual donde se encuentra la cookie. |
dominio | Opcional. Especifica el nombre de dominio de la cookie. Para que la cookie sea válida en todos los subdominios de ejemplo.com, debe configurar el nombre de dominio de la cookie en ".ejemplo.com". Cuando configura el nombre de dominio de la cookie en www.example.com, la cookie solo es válida en el subdominio www. |
seguro | Opcional. Especifica si las cookies deben transmitirse a través de una conexión HTTPS segura. Configúrelo en TRUE si las cookies deben transmitirse a través de una conexión HTTPS segura. El valor predeterminado es FALSO. |
Consejo: Se puede acceder al valor de la cookie denominada "usuario" a través de $HTTP_COOKIE_VARS["usuario"] o $_COOKIE["usuario"].
Nota: Al enviar una cookie, el valor de la cookie se codifica automáticamente en URL. La decodificación de URL se realiza automáticamente al recibirla. Si no necesita esto, puede usar setrawcookie() en su lugar.
Configurar y enviar cookies:
<?php$value = "mi valor de cookie";// enviar una cookieetcookie("TestCookie",$value);?><html><body>......
<?php$value = "mi valor de cookie";// envía una cookie que caduca en 24 horassetcookie("TestCookie",$value, time()+3600*24);?><html><body>... ...
Diferentes formas de recuperar el valor de la cookie (después de configurar la cookie):
<html><body><?php// Imprimir cookies individualesecho $_COOKIE["TestCookie"];echo "<br />";echo $HTTP_COOKIE_VARS["TestCookie"];echo "<br />";// Imprimir todas las cookiesprint_r($_COOKIE);?></body></html>
El código anterior generará:
mi valor de cookiemi valor de cookieArray ([TestCookie] => mi valor de cookie)
Elimine una cookie estableciendo la fecha de vencimiento en una fecha/hora pasada:
<?php// Establece la fecha de vencimiento en una hora agosetcookie ("TestCookie", "", time() - 3600);?><html><body>......
Crea una serie de cookies:
<?phpsetcookie("cookie[tres]","cookietres");setcookie("cookie[dos]","cookietwo");setcookie("cookie[uno]","cookieone");// imprimir cookies (después recargando página)if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $nombre => $valor) { echo "$nombre : $valor <br />"; }?><html><cuerpo>......
El código anterior generará:
tres: galletatresdos: galletadosuno: galletauno