Foros del Web » Programando para Internet » PHP »

Duda login usuarios

Estas en el tema de Duda login usuarios en el foro de PHP en Foros del Web. Tengo montado un login de usuarios con la siguiente estructura : Index : Pantalla de logeo, comprueba que el usuario existe, si es valido redirige ...
  #1 (permalink)  
Antiguo 09/12/2009, 12:37
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Duda login usuarios

Tengo montado un login de usuarios con la siguiente estructura :

Index : Pantalla de logeo, comprueba que el usuario existe, si es valido redirige a index2

Index2: Muestra los datos del usuario obteniendo la id por GET

En el navegaodor veo algo como esto : ?id=5

Si cambio el id=5, por otro numero, veo los datos de otro usuario.

Como puedo solucionar esto ?? muchas gracias
  #2 (permalink)  
Antiguo 09/12/2009, 12:41
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Duda login usuarios

En lugar de usar GET ($_GET) usa POST ($_POST), o mejor aún: usa variables de sesión ($_SESSION). ¡Suerte!

PD: GET y POST son métodos de envío de formulario, las variables de sesión en cambio son variables globales persistentes, que debes setearlas en una página para poder accederlas desde otra. Para que estén disponibles siempre debes iniciar antes la sesión (con la función session_start()). Investiga más al respecto para hacerlo lo mejor posible. En general, los sistemas que disponen de logueo usan variables de sesión para mantener los datos de los usuarios. Es un método más seguro y cómodo (no hay que andar acarreando necesariamente mediante POST o GET todos los datos del usuario).
  #3 (permalink)  
Antiguo 09/12/2009, 12:48
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Duda login usuarios

Si, ya la uso , para saber si un user esta logeado, si intentas acceder a una pagina sin estar logado, te tira, pero el problema es, que estando logado, puedes ver todas...
  #4 (permalink)  
Antiguo 09/12/2009, 12:54
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Duda login usuarios

¿Entonces? Simplemente guarda en sesión el id y lo recuperas de la sesión misma en lugar de mediante GET. ¡Suerte!
  #5 (permalink)  
Antiguo 09/12/2009, 13:22
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Duda login usuarios

Revisa este post para que te des una idea...

http://www.forosdelweb.com/f18/aport...-3-0-a-736848/
__________________
http://exegesis-biblica.com/
  #6 (permalink)  
Antiguo 09/12/2009, 14:07
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Duda login usuarios

Gracias a los 2, realmente para lo que necesito no hace falta tanto codigo, simplemente tengo una session que se activa si el usuario se logea correctamente :

Código PHP:
$_SESSION['logado'] = 'si';
            
header('location:mostrardatos.php?id='.$fila['idClientes'].'');
            exit(); 
En la pagina interna busco la session, si existe muestro datos, si no , redirecciono.

El problema es que como he comentado puedo ver todos los usuarios con solo cambiar la id, no se muy bien como enviar la id por session, si alguien me puede orientar un poco
  #7 (permalink)  
Antiguo 09/12/2009, 14:24
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Duda login usuarios

El usuario se loguea si usa un nombre de usuario y una clave válidas, ¿verdad? Por lo tanto, en el mismo momento en que consultas si el usuario se logueó correctamente, puedes consultar el id del usuario en caso afirmativo:
Código PHP:
$_SESSION['id']=$idDeTuUsuario
¡Suerte!
  #8 (permalink)  
Antiguo 09/12/2009, 15:57
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Duda login usuarios

index.php
Código PHP:
$_SESSION['logado'] = 'si';
$_SESSION['id'] = $fila["idClientes"];
            
header('location:mostrardatos.php');
            exit(); 
mostrardatos.php
Código PHP:
if ($_SESSION['logado'] != "si")
{
  echo 
"No estas identificado";
  exit;
}

$id $_SESSION['id'];

//A partir de aqui lo que quieras... 
  #9 (permalink)  
Antiguo 09/12/2009, 16:11
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Duda login usuarios

Perfecto, lo he montado de otra forma, en vez de crear

Código PHP:
$_SESSION['id'] = $fila["idClientes"]; 
He creado una variable llamada
Código PHP:
$idclientes $fila["idClientes"]; 
Luego

Código PHP:
$_SESSION['id'] = $idClientes
Vamos, lo mismo pero mas largo

Luego he creado un if y un else, si esta bien hace el if, si no , redirecciona

Muchas gracias a todos
  #10 (permalink)  
Antiguo 09/12/2009, 16:32
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Respuesta: Duda login usuarios

Bueno, es un paso innecesario, pero si te ayuda a entenderlo mejor, bienvenido sea
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 17:31.