Función PHP setcookie()

Definición y uso

La función setcookie() envía una cookie HTTP al cliente.

Las cookies son variables enviadas por el servidor al navegador. Las cookies son generalmente archivos de texto pequeños incrustados por el servidor en el ordenador del usuario. Cada vez que el ordenador solicita una página a través del navegador, se envía esta cookie.

El nombre de la cookie se especifica como variable con el mismo nombre. Por ejemplo, si el nombre del cookie enviado es "name", se crea automáticamente una variable $user que contiene el valor del cookie.

Debe asignar el valor de la cookie antes de enviar cualquier otra salida.

Si tiene éxito, la función devuelve true, de lo contrario devuelve false.

Sintaxis

setcookie(name,value,expire,path,domain,secure)
Parámetros Descripción
name Obligatorio. Especifica el nombre de la cookie.
value Obligatorio. Especifica el valor de la cookie.
expire Opcional. Especifica la duración de la cookie.
path Opcional. Especifica la ruta del servidor de la cookie.
domain Opcional. Especifica el dominio de la cookie.
secure Opcional. Especifica si se debe transmitir la cookie a través de una conexión HTTPS segura.

Sugerencias y notas

Notas:Se puede acceder al valor de la cookie denominada "user" a través de $HTTP_COOKIE_VARS["user"] o $_COOKIE["user"].

Notas:Al enviar cookies, los valores de las cookies se codifican automáticamente en URL. Al recibir, se decodifican. Si no es necesario, puede usar setrawcookie() En lugar de.

Ejemplo

Ejemplo 1

Configuración y envío de cookie:

<?php
$value = "my cookie value";
// Envío de cookie simple
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// Envío de cookie que expira en 24 horas
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...

Ejemplo 2

Métodos diferentes para buscar valores de cookie:

<html>
<body>
<?php
// Salida de cookie individual
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Salida de todos los cookies
print_r($_COOKIE);
?>
</body>
</html>

Salida:

mi valor de cookie
mi valor de cookie
Array ([TestCookie] => mi valor de cookie)

Ejemplo 3

// Eliminar un cookie estableciendo la fecha de expiración en una fecha/hora pasada

<?php
// Establecer la fecha de expiración en una hora antes
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

Ejemplo 4

Crear un array cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// Salida de cookie (después de recargar la página)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

Salida:

tres : cookiethree
dos : cookietwo
uno : cookieone