33-Cookies en php

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

Una cookie es un pequeño archivo que el servidor se incrusta en la computadora del usuario.

Cada vez que la misma computadora solicita una página con un navegador, también enviará la cookie.

Con PHP, ambos pueden crear y recuperar los valores de las cookies.

...

Crear cookies con PHP

Se crea una cookie con la function setcookie(

sintaxis

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

Solo el parametro nombre es requerido, los demas parametros son opcionales

Crear/Recuperar una Cookie

El siguiente ejemplo crea una cookie llamada "usuario" con el valor "Juan Doe".

La cookie caducará después de 30 días (86400 * 30).

El "/" significa que el la cookie está disponible en todo el sitio web (de lo contrario, seleccione el directorio que preferir).

Luego recuperamos el valor de la cookie "usuario" (usando la variable global $_COOKIE).

También usamos el isset() función para averiguar si la cookie está configurada:

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
// 86400 = 1 day
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> 

Nota: La function setcookie() aparece antes de <html>

Nota: El valor de la cookie se codifica como URL automáticamente cuando enviando la cookie, y se decodifica automáticamente cuando se recibe (para evitar Codificación de URL, uso setrawcookie() en cambio).




Modificar un valor de cookie

Para modificar la cookie, simplesmente modifique el valor de setcookie()

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 utilize la functon setcookie()

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 seguiente ejemplo crea un pequeno script, que verifica si la cookie esta habilitada o no

Primero intenta crear una cookie de prueba con la function setcookie()

Despues cuente la variable de matriz $_COOKIE:

<?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> 




Publicar un comentario

0 Comentarios