[Php-avanzado] Dudas con Sesiones/Cookies

Juan Manuel P. tucu_21 en hotmail.com
Vie Ene 24 17:59:03 ART 2014


Pehuen cuidado con el isset, si te fijas en la documentacion de
php.netpara hacer una comprobacion de multiples variables con isset no
las debes
separar con el && sino con una coma.

if(isset($a, $b)){} //el resultado va a ser verdadero cuando todas las
variables comprobadas sean verdaderas, si una devuelve falso es todo falso.


El 24 de enero de 2014, 15:36, Fernando Pehuén Borsani<
fpborsani en yahoo.com.ar> escribió:

> 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
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20140124/ce104d26/attachment-0001.html>


Más información sobre la lista de distribución Php-avanzado