Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/07/2003, 18:36
leonardop
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola,

En realidad la manipulación de cookies no es muy complicada. Es sólo cuestión de trabajar con algunas variables simples. Por ejemplo, en caso de que dispongas de una versión de PHP mayor o igual a 4.1 puedes usar un segmento de código como este para guiarte:

Código:
<?php

$encontrado = false;  // Bandera para indicar si el cliente nos ha
                      // enviado una cookie de identificacion

while (list ($nombre, $valor) = each ($_COOKIE)) {
    if (preg_match ('/^U\d+$/', $nombre)) {
        $encontrado = true;
        $id = $nombre;

        // Si se quiere, aqui se puede hacer algo con el valor de la
        // cookie, que se encuentra en la variable $valor

        break;
    }
}

if ($encontrado)
    print "<html><body>Bienvenido $id</body></html>\n";
else {
    $id = 'U' . date ('YmdHis');  // Se prepara el ID del usuario

    $valor      = 'algo';
    $expiracion = time() + 100000;

    setcookie ($id, $valor, $expiracion);

    print '<html><body>' .
        'Bienvenido. Parece ser que esta es la primera vez que usted ' .
        "visita esta pagina.</body></html>\n";
}

?>
en donde se hace uso del arreglo auto-global $_COOKIE.

Por último, una recomendación que quisiera darte es que trates de evitar valores de identificación que, como el que tienes en este ejemplo, dependen únicamente de un valor de fecha/hora determinado. Si dos personas visitaran la página en el mismo momento, por ejemplo, corres el riesgo de que ambos reciban una ID idéntica, lo que podría representar problemas misteriosos más adelante. Sé que es improbable que tal caso se presente, y si por ejemplo tienes completa certeza sobre el modo en que tu página será visitada por los clientes, puede que no sea nada grave, pero siempre es importante ser consciente de este tipo de detalles.

Un cordial saludo