Sie sind auf Seite 1von 5

COOKIES EN PHP Una cookie es a menudo utilizado para identificar a un usuario.

Una cookie es un pequeo archivo que el servidor incrusta en el ordenador del usuario. Cada vez que el mismo equipo solicita una pgina con un navegador, se enviar la cookie tambin. Con PHP, usted puede crear y recuperar los valores de cookie. En esta sesion aprenderemos cmo crear nuestras propias cookies e incorporarlas a nuestra pgina. Como norma general, debemos de saber y recordar siempre que la funcin setCookie() debe estar siempre al principio de cada script, de lo contrario, no funcionar. Su sintaxis es : setCookie(nombre, [valor [, fecha expiracin, [, ruta [, dominio [. Seguridad ]]]]]) Ahora vamos a ver uno a uno los diferentes parmetros de las cookies; Nombre: Es el nombre que se le asigna a la cookie. Es el nico valor obligatorio. Valor: Son los datos que almacenamos en el navegador visitante. Fecha de expiracin: Es el nmero de segundos que han de pasar antes de que la cookie se borre automticamente. Por ejemplo, si queremos que una cookie expire en 2 horas, (7200 segundos), tendriamos que poner la fecha de expiracion como time() +7200. Ruta: Este parmetro nos servir en el caso de que queramos restringir el acceso de la cookie a una determinada ruta de nuestro servidor . ( Esta funcin tan solo nos ser til en el caso de que estemos compartiendo el servidor con otros usuarios y cada no tenga sus propias carpetas. Dominio: Es como el anterior (ruta), pero en vez de restringir o dar permisos a carpetas lo hace con dominios, este parmetro por defecto solo enviara la cookie al dominio original. Si queremos utilizar esta cookie en otro dominios debermos indicarlo en este campo. Seguridad: Este parmetro es el que determina la seguridad de la cookie, tiene 2 valores, 0 y 1. Con el valor 1 indica que la cookie slo se enviar va servidor seguro (SSL) y con el 0, indicar que podr ser mandada con cualquier conexin. Ejemplo: Cmo crear una cookie? La funcin setcookie() es usada para asignar una cookie y debe de aparecer antes del tag HTML. setcookie(nombre, valor, expire, path, dominio);

ejemplo 1: <?php setcookie("user", "Alex Porter", time()+3600); ?> <html> Ejemplo 2: <?php $expire=time()+60*60*24*30; setcookie("user", "Alex Porter", $expire); ?> <html> Cmo obtener el valor de una cookie? <?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?> <html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html> Cmo eliminar el valor de una cookie? Eliminar una Cookie Para eliminar una cookie se crea una nueva cookie con el mismo nombre pero sin parmetros adicionales.

1. setcookie("usuario"); Como leer el valor de una cookie con php <?php //envio de array de cookies usando notacion de arrays setcookie("micookie[uno]","cookie uno");<br /> setcookie("micookie[dos]","cookie dos");<br /> setcookie("micookie[tres]","cookie tres"); //envio de cookie simple setcookie("otracookie","otra cookie"); //lectura de cookies con superglobal $_COOKIE //lectura del array de cookies if(isset($_COOKIE['micookie'])) { foreach($_COOKIE['micookie'] as $nombre => $valor) { echo "$nombre : $valor<br />"; } } //lectura de una cookie individual if(isset($_COOKIE['otracookie'])) { echo "otracookie : ".$_COOKIE['otracookie']."<br />"; } //lectura de cookies con el nombre de la variable, no admite arrays de cookies echo "otracookie : $otracookie"; ?> Otro ejemplo: <?php setcookie ("nos_ha_visitado", "si", time () + 259200); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es"> <head> <title>Prueba de Cookies</title> </head> <body> <?php if($_COOKIE['nos_ha_visitado'] == "si" ) { echo "<h1>Ya has estado aqui antes, gracias por volver.</h1>"; } else { echo "<h1>Esta es tu primera visita, gracias por venir.</h1>"; } ?> </body> </html>

Veamos un ejemplo en el cual le damos la bienvenida al usuario de acuerdo a si ha visitado por primera vez a nuestro sitio web. 1. 2. 3. 4. 5. 6. 7. 8. <?php if (isset($_COOKIE['visita']) { echo "Gracias por visitarnos nuevamente"; } else { setcookie("visita", "ok", time() + 31536000); echo "Bienvenido por primera vez"; } ?>

Implementando cookies con PHP En este tutorial se va a mostrar como procesar un simple formulario de contacto. El cual almacena, el nombre y correo electrnico del usuario, en dos cookies. En visitas posteriores del usuario, el cdigo verifica si es un nuevo usuario o si ya haba visitado el sistema y despliega la informacin correspondiente.

Definiendo las cookies Como contamos con un formulario de contacto, primero vamos a verificar si al momento de cargar la pgina viene de haber presionado el botn Submit del formulario, si es as entonces, el ejemplo crea dos cookies: una para el nombre del usuario y otra para el correo electrnico del usuario. Nota: Calcular el tiempo de vida de las cookies en segundos (para este ejemplo, tres das) Establecer el nombre de la cookie que almacenar el nombre del usuario. Establecer el nombre de la cookie que almacenar el correo electrnico del usuario. <?php if( isset($_POST["boton_submit"])) { // Asigna el valor a las Cookies $cookie_vida = 3*24*3600; setcookie("nombre",$_POST["name"],time()+$cookie_vida); setcookie("correo",$_POST["email"],time()+$cookie_vida); ?> Gracias por el comentario, <?php echo $_POST["name"] ?>. Esto es lo que dijiste:<br> Nombre: <?php echo $_POST["name"] ?><br> E-mail: <?php echo $_POST["email"] ?><br> Comentario: <?php echo $_POST["comentario"] ?><br> <?php exit();

} ?> <html> <head> <title>Comentarios</title> </head> <body> <!-- $PHP_SELF es la forma en PHP de referirse a la misma pagina --> <form action=<?php echo $PHP_SELF ?> method="POST"> <?php if(!$_COOKIE["nombre"]) { ?> Nombre: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <?php } else { ?> Nombre: <input type="text" name="name" value=<?php echo $_COOKIE["nombre"] ?>><br> E-mail: <input type="text" name="email" value=<?php echo $_COOKIE["correo"] ?>><br> <?php } ?> Comentario:<br> <textarea name="comentario" wrap="virtual" cols="40" rows="5"> </textarea> <br> <!-- Boton Submit --> <input type=submit value="Submit" name="boton_submit"> </form> </body> </html>

Das könnte Ihnen auch gefallen