[Php-avanzado] Dudas con Sesiones/Cookies
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Vie Ene 24 13:49:07 ART 2014
Hola Pehúen,
El vie, 24-01-2014 a las 13:16 -0300, Fernando Pehuén Borsani escribió:
> Muchas gracias por la respuesta profe!
>
> Me generó dudas lo de "el próximo sesion_start() vacío usará el ID de sesión
> recibido por el navegador al devolver la cookie."
>
> ¿Significa eso que si solo escribo session_start() el intérprete se encarga
> de buscar si existe la cookie?
>
> Yo comprobaba la existencia de una sesión previa haciendo:
>
> if (isset($_COOKIE['PHPSESSID']))
> {
> $id = $_COOKIE['PHPSESSID'];
> session_start($id)
> }
>
> Que creo que es lo mismo que hacer:
>
> if ($id = $_COOKIE['PHPSESSID'])
> {
> session_start($id);
> }
>
> ¿Es válido?
Es válido pero innecesario.
En ambos casos, el código es equivalente poner solo:
session_start();
El primer código crea la sesión solo si llegó la cookie, pero si la
cookie no llega no tenés sesión, y todo código que use $_SESSION del
lado de la derecha de una asignación falla.
En el segundo código, si la cookie no llega con ese nombre falla, y
además no se genera la sesión.
Por solo session_start(); recrea la sesión si vienen los datos o crea
una sesión vacía si no vienen, lo que en la práctica es lo mismo que no
tener sesión, porque todos sus valores están vacíos.
Saludos!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado