Foros del Web » Programando para Internet » PHP »

duda con sesiones php

Estas en el tema de duda con sesiones php en el foro de PHP en Foros del Web. hola tengo una duda, estoy haciendo una pagina que tiene un sistema de usuarios y en este autentic a un usuario de esta forma Primero ...
  #1 (permalink)  
Antiguo 20/03/2009, 02:31
 
Fecha de Ingreso: septiembre-2008
Mensajes: 16
Antigüedad: 15 años, 7 meses
Puntos: 1
duda con sesiones php

hola tengo una duda, estoy haciendo una pagina que tiene un sistema de usuarios y en este autentic a un usuario de esta forma
Primero verifica si las cookies de usuario y password existen, si hace una consulta para verificar el password con el de la cookie, si son iguales guardo variables con datos que necesito de este usuario y mi variable login==true, si no ,elimina las cookies.

Ahora empeze a leer sobre las sesiones en php y no me quedan claras, queria modificar mi sistema para que ahora use sesiones en vez de cookies pero no se si le entendi bien y lo que tenia pensado era hacer esto:
verificar cookies de usuario y password, si existen, verificar el pass con el de la bd, si el pass es igual iniciar variables de sesion con los datos del usuario y listo.
ahora para reconocer usuarios tenia pensado:
Verificar las sesiones, si existen es que esta logueado, si no, imprimir el login.

ahora no se si lo estoy pensando correctamente, ya que no me quedan claras las sesiones en php.. esta bien pensada mi idea? o deberia de hacer con las sesiones lo que hacia antes con las cookies?.. La segunda la pense para no consultar a la bd cada vez que entren a la pagina, pero no se no estoy muy seguro.. espero me puedan ayudar
  #2 (permalink)  
Antiguo 20/03/2009, 03:29
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: duda con sesiones php

Hola.

En primer lugar no soy muy partidario de utilizar cookies. Imagínate que un usuario las tiene deshabilitadas. ¿Que ocurre entonces? Pues que adios al invento de la autenticación.

Lo que tienes que hacer es utilizar como bien dices sesiones.

Para ello lo que debes hacer es comprobar si el usuario y password introducidos coinciden con los de tu base de datos, en tal caso si todo es correcto, creas una sesión con session_start("variable") = "SI"

Con la linea anterior le indicas que inicialice una sesión a la que le has dado un nombre de variable (la que tu quieras) con un valor.

A continuación redireccionas a tu página donde ya deberás comprobar en la cabecera si la sesión ha sido inicializada, si es afirmativo mostrará el contenido, en caso contrario puedes volver a redireccionar a la pagina de validación o bien mostrar un mensaje de error.

En www.desarrolloweb.com ve a monografías > PHP y ahi en el taller tendrás un sistema de autenticación que utiliza sesiones. Está bastante clarito y comprensible.

Espero haberte ayudado. No obstante para cualquier duda, ya sabes donde encontrarnos.

Un saludo



P.D. Se me pasó comentarte: para lo que has pensado es exactamente como funciona. Si la sesión está creada es porque la validación ha sido correcta.
  #3 (permalink)  
Antiguo 20/03/2009, 08:31
 
Fecha de Ingreso: junio-2001
Ubicación: Cd. Madero, Tam
Mensajes: 83
Antigüedad: 22 años, 10 meses
Puntos: 0
Respuesta: duda con sesiones php

Asi es, las sesiones son variables que se guardan en el servidor mientras visitas una pagina para usarlas solo pon al principio de tu programa


session_start();

y puedes crear una variable de session con

$_SESSION['loguedo']=true;


despues en otro programa solo pones

session_start();

if($_SESSION['logueado])
continua
else
manda a pagina de login


cuando hagas el logout

session_start();
session_destroy();


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:17.