Cookies PHP
¿Qué es una galleta?
Una cookie se utiliza a menudo para identificar a un usuario. Una cookie es un pequeño archivo que el servidor incrusta en la computadora del usuario. Cada vez que la misma computadora solicite una página con un navegador, también enviará la cookie. Con PHP, puede crear y recuperar valores de cookies.
Crear cookies con PHP
Se crea una cookie con la setcookie()
función.
Sintaxis
setcookie(name, value, expire, path, domain, secure, httponly);
Solo se requiere el parámetro de nombre . Todos los demás parámetros son opcionales.
PHP Crear/Recuperar una Cookie
El siguiente ejemplo crea una cookie llamada "usuario" con el valor "John Doe". La cookie caducará después de 30 días (86400 * 30). El "/" significa que la cookie está disponible en todo el sitio web (de lo contrario, seleccione el directorio que prefiera).
Luego recuperamos el valor de la cookie "usuario" (usando la variable global $_COOKIE). También usamos la isset()
función para averiguar si la cookie está configurada:
Ejemplo
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Nota: Lasetcookie()
función debe aparecer ANTES de la etiqueta <html>.
Nota: El valor de la cookie se codifica como URL automáticamente cuando se envía la cookie y se decodifica automáticamente cuando se recibe (para evitar la codificación de URL, utilícelo en su setrawcookie()
lugar).
Modificar un valor de cookie
Para modificar una cookie, simplemente configure (nuevamente) la cookie usando la setcookie()
función:
Ejemplo
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Eliminar una cookie
Para eliminar una cookie, utilice la setcookie()
función con una fecha de caducidad anterior:
Ejemplo
<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Comprobar si las cookies están habilitadas
El siguiente ejemplo crea un pequeño script que verifica si las cookies están habilitadas. Primero, intente crear una cookie de prueba con la setcookie()
función, luego cuente la variable de matriz $_COOKIE:
Ejemplo
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
Referencia completa de la red PHP
Para obtener una referencia completa de las funciones de red, vaya a nuestra Referencia de red PHP completa .