Inicio > PHP > PHP Cookies

PHP Cookies

En mucho de los casos se hace necesario el uso de las cookies cuando se realiza un montaje de un sitio web y por cuestiones de manejo de la información y se hace necesario dejar un registro en el pc del usario….Bienvenid@….

10- Cookies

Se verá como declarar, llamar, borrar, y mas sobre las cookies.

10.1- ¿Qué son las cookies?

Las cookies (galletas en inglés) son una forma de guardar información. Son enviadas desde el servidor hasta el navegador, osea, quedan guardadas en el PC del usuario. Luego, cuando el usuario vuelve a entrar a la página, si la cookie no ha expirado, la envía de vuelta al servidor para que este pueda usarla. Las cookies son parte del Header, al igual que lo que se encuentra entre las etiquetas <head> y </head>. Si pones la cabezera de HTML, y después el envío de la cookie, te dará un error de cabecera puesto a que ya fue enviada, y no puede volver a enviarse solo para las cookies. El error es este:

Citar
Warning: Cannot add header information – headers already sent by (output started at XXXXX:XX) in XXXXX on line XX

Para solucionarlo, solo envía las cookies junto con la cabezera, o, simplemente, no envíes cabezera HTML antes de la cookie.

10.2- Creando y borrando las cookies

Hay una función especial en PHP para crear y borrar cookies, esta es setcookie(). Su código es:

Código:
php
setcookie (nombre [, valor [, duracion [, ruta [, dominio [, seguridad]]]]]);
?>

Como ven, el único valor necesario es el nombre, pero usualmente se ponen valor y duracion también. nombre es el nombre de la cookie, valor es el valor que tendrá la cookie, duracion es el tiempo que durará la cookie (se le pone junto con otra función, ya les diré cual), ruta es la ruta en la que se usará la cookie (si se pone /, se usará en toda la web), dominio es la web en la que se usará la cookie (usualmente la nuestra) y en seguridad se pone si será solo en partes seguras (https://) o no. Ejemplo:

Código:
php
setcookie ("usuario","Riven",time()+7200,"/","http://www.miweb.com/",0);
?>

Ese código crearía una cookie de nombre “usuario”, con el valor “Riven”, de 2 horas de duración (la función time() es el tiempo actual, mas 7200 segundos), se ejecuta en toda la web http://www.miweb.com/, y no es para webs seguras.

Los valores pueden ser saltados poniendo cadenas en blanco, excepto duración, que usa tipos de dato entero. Para saltarlo, introducir “0” (sin comillas).

La función time() entrega varios números, que sumados como segundos darían la hora. Es por eso que uno suma en segundos para darle duración a las cookies.

Para borrar una cookie, simplemente pones la función setcookie() sólo con el nombre de la cookie, nada más. Así:

Código:
php
setcookie ("usuario");
?>

Y listo, cookie borrada.

10.3- “Rescatando” cookies

Y bueno, se preguntarán… ¿Como muestro el valor de la cookie en mi página? Eso es simple. Supongamos que queremos darle la bienvenida al usuario siesque tiene la cookie que puse antes, “usuario”. Primero vemos si la tiene con un IF, y si la tiene, le damos la bienvenida mostrando el valor que tiene la cookie. Todo esto se hace con la variable superglobal $_COOKIE. El código de lo arriba dicho:

Código:
php
if ($_COOKIE["usuario"]) { //Si está la cookie 'usuario'
$nick = $_COOKIE["usuario"]; //Se guarda en la variable $nick el valor de la cookie 'usuario'
echo "Bienvenido, ".$nick."!";
}
?>

Es muy simple. También pueden ser llamadas usando el nombre de la cookie como variable. Usando el ejemplo de crear cookie “usuario”:

Código:
php
if ($usuario) {
echo "Bienvenido ".$usuario."!";
}
?>

Obviamente, es 0% recomendable hacer esto, ya que si tu en la URL pones usuario en true, se podrá acceder como un usuario. Es un grave bug, asique, como les dije, NO usen esta forma.

Categorías:PHP
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: