Los últimos tutoriales de desarrollo web
 

PHP 5 Galletas


Una cookie se utiliza a menudo para identificar a un usuario.


¿Qué es una cookie?

Una cookie se utiliza a menudo para identificar a un usuario. Una cookie es un pequeño archivo que el servidor se incrusta en el ordenador del usuario. Cada vez que el mismo equipo solicita una página con un navegador, se enviará la cookie también. Con PHP, puede tanto crear y recuperar los valores de cookie.


Crear Cookies con PHP

Una cookie es creado con el setcookie() función.

Sintaxis

setcookie( name, value, expire, path, domain, secure, httponly );

Sólo se requiere el parámetro de nombre. Todos los demás parámetros son opcionales.


Crear PHP / Recuperar una cookie

En el siguiente ejemplo se crea una cookie llamada "user" 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 (en caso contrario, seleccione el directorio que prefiera).

A continuación, recuperar el valor de la cookie "user" (utilizando la variable global $ _COOKIE). También usamos el isset() la función para averiguar si se ha establecido la cookie:

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>
Ejecutar ejemplo »

Note: El setcookie() la función debe aparecer antes de la <html> etiqueta.

Note: El valor de la cookie se urlencoded automáticamente cuando se envía la cookie, y se decodifica de forma automática cuando se reciben (para evitar URLEncoding, el uso setrawcookie() en su lugar).


Modificar un valor de la cookie

Para modificar una cookie, acaba de establecer (again) la cookie utilizando el 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>
Ejecutar ejemplo »

Eliminar una cookie

Para eliminar una cookie, utilice el setcookie() función con una fecha de caducidad en el pasado:

Ejemplo

<?php
// set the expiration date to one hour ago
setcookie("user", "" , time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>
Ejecutar ejemplo »

Comprobar si Cookies están habilitadas

El siguiente ejemplo crea un pequeño script que comprueba si cookies están habilitadas. En primer lugar, tratar de crear una cookie de prueba con el setcookie() función, y luego contar 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>
Ejecutar ejemplo »

PHP Referencia completa HTTP

Para una referencia completa de las funciones HTTP, vaya a nuestra completa Referencia PHP HTTP .