FAQ
Hola a todos les pido su amable ayuda para solucionar un problema de identidades que tengo con las cookies, básicamente (gracias a la ayuda de la lista) estoy generando identidades únicas con uniqid() y lo paso como variable a una cookie setcookie("id","uniqid", time()+3600); eso trabaja muy bien, sin embargo el problema que tengo es que cada vez que le doy un refresh a la pagina me genera un nuevo id (cosa que no me sirve debido a que necesito que tenga el mismo id por una hora.



Pensé en algo como un condicional, pero no tengo idea como generarlo, ya vacié internet y no encuentro nada enfocado a eso, alguna idea??



Gracias y saludos.



Alfonso.

Search Discussions

  • David Fraga at Dec 2, 2010 at 4:49 pm
    El jue, 02-12-2010 a las 10:29 -0600, Alfonso Alejandro Reyes Jimenez
    escribió:
    Hola a todos les pido su amable ayuda para solucionar un problema de identidades que tengo con las cookies, básicamente (gracias a la ayuda de la lista) estoy generando identidades únicas con uniqid() y lo paso como variable a una cookie setcookie("id","uniqid", time()+3600); eso trabaja muy bien, sin embargo el problema que tengo es que cada vez que le doy un refresh a la pagina me genera un nuevo id (cosa que no me sirve debido a que necesito que tenga el mismo id por una hora.
    Pensé en algo como un condicional, pero no tengo idea como generarlo, ya vacié internet y no encuentro nada enfocado a eso, alguna idea??
    Gracias y saludos.
    Alfonso.
    Yo iniciaría una session por una hora y guardaría allí el id generado,
    así tendrías un arreglo de sesiones con los ids generados.

    $a = session_id();

    $a es único para cada usuario durante el tiempo que especifiques en
    session_start().

    http://es.php.net/manual/en/function.session-start.php

    Creo que es algo como:

    session_set_cookie_params(TIEMPO_EN_SEGUNDOS);

    También puedes forzar la expiración:

    http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes

    Por cierto, tal vez prefieras usar session_id() en lugar de uniqid(), de
    esta forma ya lo tienes. porque de otra forma, tal vez deberás hacer
    algo como:

    session_start();
    session_set_cookie_params(1800);
    $_SESSION["id"] = uniqid();

    y echo $_SESSION["id"] devolverá el ID en cada sesión, se hace más fácil
    con:

    session_start();

    y echo session_id() muestra un id único para la sesión.

    Tal vez esto te vale.
  • Alfonso Alejandro Reyes Jimenez at Dec 2, 2010 at 5:10 pm
    Mil gracias David, eso parece que soluciono todo el asunto.

    Saludos.


    -----Mensaje original-----
    De: David Fraga
    Enviado el: jueves, 02 de diciembre de 2010 10:50 a.m.
    CC: php-es@lists.php.net
    Asunto: Re: [PHP-ES] ..::Problema con cookie::..

    El jue, 02-12-2010 a las 10:29 -0600, Alfonso Alejandro Reyes Jimenez
    escribió:
    Hola a todos les pido su amable ayuda para solucionar un problema de identidades que tengo con las cookies, básicamente (gracias a la ayuda de la lista) estoy generando identidades únicas con uniqid() y lo paso como variable a una cookie setcookie("id","uniqid", time()+3600); eso trabaja muy bien, sin embargo el problema que tengo es que cada vez que le doy un refresh a la pagina me genera un nuevo id (cosa que no me sirve debido a que necesito que tenga el mismo id por una hora.
    Pensé en algo como un condicional, pero no tengo idea como generarlo, ya vacié internet y no encuentro nada enfocado a eso, alguna idea??
    Gracias y saludos.
    Alfonso.
    Yo iniciaría una session por una hora y guardaría allí el id generado, así tendrías un arreglo de sesiones con los ids generados.

    $a = session_id();

    $a es único para cada usuario durante el tiempo que especifiques en session_start().

    http://es.php.net/manual/en/function.session-start.php

    Creo que es algo como:

    session_set_cookie_params(TIEMPO_EN_SEGUNDOS);

    También puedes forzar la expiración:

    http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes

    Por cierto, tal vez prefieras usar session_id() en lugar de uniqid(), de esta forma ya lo tienes. porque de otra forma, tal vez deberás hacer algo como:

    session_start();
    session_set_cookie_params(1800);
    $_SESSION["id"] = uniqid();

    y echo $_SESSION["id"] devolverá el ID en cada sesión, se hace más fácil
    con:

    session_start();

    y echo session_id() muestra un id único para la sesión.

    Tal vez esto te vale.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedDec 2, '10 at 4:29p
activeDec 2, '10 at 5:10p
posts3
users2
websitephp.net

People

Translate

site design / logo © 2021 Grokbase