[Php-avanzado] Dudas con Sesiones/Cookies
Fernando Pehuén Borsani
fpborsani en yahoo.com.ar
Vie Ene 24 15:36:52 ART 2014
Comprendo.
¿Entonces sería algo así la comprobación de permisos?:
session_start();
If(isset($_SESSION['apodo'] && $_SESSION['clave'])
{
//contrasto con la BD si la información sigue siendo valida
//si va todo bien, cargo las funciones especiales.
}
else
{
//ofrezco al usuario el formulario para identificarse
}
Gracias por la orientación, la verdad es que había mandado el primer correo
a la lista porque no sabía qué hacía automáticamente el intérprete, y que
tenía que hacer yo.
-----Mensaje original-----
De: php-avanzado-bounces en pato2.fi.mdp.edu.ar
[mailto:php-avanzado-bounces en pato2.fi.mdp.edu.ar] En nombre de Leonardo
Tadei - Pegasus Tech Supply
Enviado el: viernes, 24 de enero de 2014 01:49 p.m.
Para: Lista del curso de PHP Avanzado
Asunto: Re: [Php-avanzado] Dudas con Sesiones/Cookies
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
_______________________________________________
Lista de correo: Php-avanzado
Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar Administración Web:
http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
Más información sobre la lista de distribución Php-avanzado