Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Implementando cookies con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Implementando cookies con PHP

Cookies

La principal utilidad de las cookies (galletas) es la de solventar el problema de la falta de estado en la navegación a través de las paginas web. Con las cookies, pequeñas porciones de información se quedan registradas en el navegador permitiendo identificar a este a través de diferentes páginas de un mismo sitio e incluso durante visitas entre distintos días.

Realmente las cookies no son mas que cadenas de texto que son enviadas desde el servidor al cliente (navegador) y almacenadas en este, luego el navegador envía estas cookies al servidor permitiendo así la identificación del cliente en el servidor.

Funcionamiento

La cookie es enviada al navegador desde el servidor y si este la acepta permanece en él.

Implementando cookies con PHP

Las páginas piden la cookie al navegador…

Implementando cookies con PHP

El navegador las envía, permitiendo la identificación del usuario por parte del servidor.

Implementando cookies con PHP

Bien, entonces ahora pasemos a un ejemplo útil donde se apliquen las cookies con PHP.

Formulario de contacto

En este tutorial se va a mostrar como procesar un simple formulario de contacto. El cual almacena, el nombre y correo electrónico del usuario, en dos cookies. En visitas posteriores del usuario, el código verifica si es un nuevo usuario o si ya había visitado el sistema y despliega la información correspondiente.

Definiendo las cookies

Como contamos con un formulario de contacto, primero vamos a verificar si al momento de cargar la página viene de haber presionado el botón Submit del formulario, si es así entonces, el ejemplo crea dos cookies: una para el nombre del usuario y otra para el correo electrónico del usuario.

Nota:

  • Calcular el tiempo de vida de las cookies en segundos (para este ejemplo, tres días)
  • Establecer el nombre de la cookie que almacenará el nombre del usuario.
  • Establecer el nombre de la cookie que almacenará el correo electrónico del usuario.
<?php
if( isset($_POST["boton_submit"])) {     
    $cookie_vida = 3*24*3600; // Se les asigna un tiempo de vida en segundos a las cookies
    // Asigna el valor a las Cookies
    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();
}
?>

Desplegando el formulario

Estos paso muestran como desplegar el formulario.

Nota:

  • Despliega el formulario a llenar.
  • Despliega el botón de enviar.
<form method="POST">
  Nombre: <input type="text" name="name"><br>
  E-mail: <input type="text" name="email"><br>
  Comentario:<br>
  <textarea name="comentario" wrap="virtual" cols="40" rows="5">
  </textarea>
  <br>
  <!-- Boton Submit -->
  <input type="submit" value="Submit" name="boton_submit">
</form>

Verificando la cookie

Lo primero que hay que hacer, es verificar el valor de $_COOKIE[“nombre”] para ver si el usuario ya cuenta con la cookie o no. (En realidad podrías verificar cualquiera/todas de las cookies.) Si no existe el valor de $_COOKIE[“nombre”], el usuario no ha visitado el sitio antes. Si existe muestra el formulario con los datos correspondientes.

Nota:

  • Verifica que el usuario no tenga cookies asignadas.
  • Despliega el formulario.
<?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
}
?>

Código completo

Este es el código de ejemplo con comentarios.

Nota:

  • Los elementos PHP se encuentra dentro de las marcas “<?php” y “?>”.
<?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>




Autor: pecesama
http://www.pecesama.net/wiki/doku.php?id=implementando_cookies_con_php

Usuarios que han visto este tema también han visto...

- La directiva register_globals en PHP 4.2.0
- Introducción y Sintaxis Básica
- Contenido de tipo imagen con PHP
- Contador PHP con imágenes
- Como cambiar o añadir un estilo a phpBB


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 04-07-2009 a las 23:17:19