PHP setcookie()Funciones
Manual de referencia completo de PHP HTTP
Definición y uso
La función setcookie() envía una cookie HTTP al cliente.
Una cookie es una variable que el servidor envía al navegador. Normalmente, una cookie es un pequeño archivo de texto que el servidor incrusta en la computadora del usuario. Esta cookie se envía cada vez que la misma computadora 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 enviada se llama "user", se crea automáticamente una variable llamada $user que contiene el valor de la cookie.
La cookie debe asignarse antes de que cualquier otra salida se envíe al cliente.
Si tiene éxito, la función devuelve TRUE. Si falla, devuelve FALSE.
Sintaxis
| Parámetros | Descripción |
|---|---|
| name | Obligatorio. Especifica el nombre de la cookie. |
| value | Obligatorio. Especifica el valor de la cookie. |
| expire | Opcional. Especifica el tiempo de expiración de la cookie. time()+3600*24*30 establecerá el tiempo de expiración de la cookie en 30 días. Si este parámetro no se establece, la cookie caducará automáticamente al finalizar la sesión (es decir, cuando se cierre el navegador). |
| path | Opcional. Especifica la ruta del servidor para la cookie. Si la ruta se establece en "/", la cookie será válida en todo el dominio. Si la ruta se establece en "/test/", la cookie será válida en el directorio test y en todos sus subdirectorios. El valor predeterminado de la ruta es el directorio actual donde se encuentra la cookie. |
| domain | Opcional. Especifica el dominio de la cookie. Para que la cookie sea válida en todos los subdominios de example.com, debe configurar el dominio de la cookie como ".example.com". Cuando configura el dominio de la cookie como www.example.com, la cookie solo es válida en el subdominio www. |
| secure | Opcional. Especifica si se requiere una conexión HTTPS segura para transmitir la cookie. Si la cookie debe transmitirse a través de una conexión HTTPS segura, establezca TRUE. El valor predeterminado es FALSE. |
Consejos y comentarios
Consejo:Puede acceder al valor de la cookie llamada "user" mediante $HTTP_COOKIE_VARS["user"] o $_COOKIE["user"].
Comentario:Al enviar una cookie, el valor de la cookie se codifica automáticamente en URL. Al recibirla, se decodifica automáticamente en URL. Si no necesita esto, puede usar setrawcookie() en su lugar.
Ejemplo 1
Configurar y enviar una cookie:
$value = "my cookie value";
// send a simple cookie
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
$value = "my cookie value";
// send a cookie that expires in 24 hours
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...
Ejemplo 2
Diferentes métodos para recuperar el valor de la cookie (después de configurar la cookie):
<body>
<?php
// Print individual cookies
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Print all cookies
print_r($_COOKIE);
?>
</body>
</html>
El código anterior generará:
my cookie value
Array ([TestCookie] => my cookie value)
Ejemplo 3
Eliminar una cookie estableciendo la fecha de caducidad en una fecha/hora pasada:
// Set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...
Ejemplo 4
Crear una cookie de matriz (array):
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// print cookies (after reloading page)
if (isset($_COOKIE["cookie"]))
{
foreach ($_COOKIE["cookie"] as $name => $value)
{
echo "$name : $value <br />";
}
}
?>
<html>
<body>
...
...
El código anterior generará:
two : cookietwo
one : cookieone
Manual de referencia completo de PHP HTTP Otras extensiones