Tema: FAQ's de PHP
Ver Mensaje Individual
  #92 (permalink)  
Antiguo 07/11/2003, 08:56
ACHAVARRIA
Invitado
 
Mensajes: n/a
Puntos:
Como Utilizar cookies en PHP

En un artículo anterior explicamos qué son y cómo utilizar las cookies con ASP, para aquellos que no leyeron les comentaremos nuevamente de que se tratan las cookies.

¿Qué es una cookie?
Una cookie es un archivo de texto de peso sumamente bajo que se guarda en la PC del usuario, y son enviados por algunos servidores para almacenar datos para que puedan ser utilizados después. Algunos de los usos más frecuentes que se les suele dar a las cookies son:

• Guardar información como nombre de usuario y contraseña
• Guardar las preferencias del usuario
• Guardar el nombre del usuario, u otros datos
• Y muchísimos usos más

Función setcookie()
Se encarga de crear la cookie definiendo sus propiedades. La sintaxis es:

setcookie (nombre, contenido, expiracion (segundos), path, dominio, seguridad)

Toda cookie debe definirse antes de que comience la cabecera de la página (es decir, antes de la etiqueta <html>) ya que es una restricción que poseen, no tiene nada que ver con PHP. Todos los parámetros de la sintaxis anterior son opcionales menos nombre, el cual debe tener si o si un valor para poder crearla.

Escribir y recuperar una cookie
Para entender el funcionamiento de la función setcookie veremos el siguiente ejemplo:

Código PHP:
<?
// ESCRIBIMOS LA COOKIE
// Utilizamos la función setcookie() para crear una llamada nombre
// El time()+31536000 le da la fecha de expiración a la cookie, en este caso será en 1 año desde la fecha de creación (he de ahí el uso de time() que nos devuelve la fecha actual tipo Unix Time Stamp en segundos)

setcookie("nombre","Fabian Muller"time()+31536000);
?>
<HTML>
<HEAD>
<TITLE>WebExperto.com - Utilizando cookies en PHP - Ejemplo</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<font face="Verdana" size="2">
<?
// RECUPERAMOS LA COOKIE
// Verificamos si la variable nombre tiene contenido
// Si es así, mostrará el valor de la cookie
// Y si no, dirá que la cookie está vacía.

if (isset($nombre))
{
echo 
"El contenido de la cookie es: ".$nombre;
}
else
{
echo 
"La cookie está vacía. Puede ser que recién se halla creado, clickee en Actualizar para ver su contenido.";
}
?>
</font>
</BODY>
</HTML>
Corrección 27/06/2006 por Fridureiks: El tiempo de expiración de la cookie se expresa en segundos.

Última edición por Cluster; 27/06/2006 a las 06:22