RE: [PHP-ES] ..::Problema con cookie::..
[email protected] ("Alfonso Alejandro Reyes Jimenez")
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <6FFF87417313CE4B86EED022E9487A8904E2EEAD@sci-soc-ex01.mex.scitum.com.mx> |
Mil gracias David, eso parece que soluciono todo el asunto. Saludos. -----Mensaje original----- De: David Fraga [mailto:[email protected]] Enviado el: jueves, 02 de diciembre de 2010 10:50 a.m. CC: [email protected] 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.