[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