PHP setrawcookie()Función
Manual de referencia completo de PHP HTTP
Definición y uso
La función setrawcookie() envía una cookie HTTP sin codificar el valor de la cookie mediante URL.
Una cookie es una variable que el servidor envía al navegador. Las cookies suelen ser pequeños archivos de texto que el servidor incrusta en el ordenador del usuario. Cada vez que el mismo ordenador solicita una página a través del navegador, se envía esta cookie.
El nombre de la cookie se asigna automáticamente a una variable con el 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 enviar cualquier otra salida al cliente.
Si tiene éxito, esta 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 cuando finalice la sesión (es decir, cuando se cierre el navegador). |
| path | Opcional. Especifica la ruta del servidor de 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 de ruta predeterminado 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 establecer el dominio de la cookie como ".example.com". Cuando establece el dominio de la cookie como www.example.com, la cookie solo es válida en el subdominio www. |
| secure | Opcional. Especifica si la cookie debe transmitirse a través de una conexión HTTPS segura. Establézcalo en TRUE si la cookie debe transmitirse a través de una conexión HTTPS segura. El valor predeterminado es FALSE. |
Consejos y notas
Consejo:Se puede acceder al valor de la cookie llamada "user" mediante $HTTP_COOKIE_VARS["user"] o $_COOKIE["user"].
Nota:La función setrawcookie() es casi idéntica a la función setcookie(), con la diferencia de que no codifica automáticamente mediante URL el valor de la cookie al enviarlo al cliente.
Ejemplo 1
Establecer y enviar una cookie:
$value = "my cookie value";
// send a simple cookie
setrawcookie("TestCookie",$value);
?>
<html>
<body>
...
...
$value = "my cookie value";
// send a cookie that expires in 24 hours
setrawcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...
Ejemplo 2
Diferentes formas de recuperar el valor de la cookie (después de que la cookie se haya establecido):
<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
setrawcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...
Ejemplo 4
Crear una cookie de array:
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("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