Foros del Web » Programando para Internet » PHP »

PHP OO login

Estas en el tema de login en el foro de PHP en Foros del Web. hola!tengo un problema con el login... no tengo idea por que... el problemas es que se conecta a la base de datos todo bien.. carga ...
  #1 (permalink)  
Antiguo 03/12/2012, 22:27
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta login

hola!tengo un problema con el login... no tengo idea por que... el problemas es que se conecta a la base de datos todo bien.. carga los datos que uno envia la registrarse... pero solo me reconoce el primer usuario almacenado... es decir.. permite registar a otros.. pero cuando intento acceder con esas cuentas me dice.. contraseña incorrecta... repito solo reconoce el primer usuario almacenado en la base de datos... no me tira ningun error.
el codigo es el siguiente

<?php
session_start();
$username= $_POST['username'];
$password = $_POST['password'];
if ($username&&$password)
{
$connect=mysql_connect("localhost", "root", "12345") or die ("no se puede db");
mysql_select_db("phplogin")or die ("no se puede db");
$query = mysql_query("SELECT * FROM users WHERE username = '$username'");
$numrows= mysql_num_rows($query);
if($numrows!=0){
//codigo para ingresar usuario
While ($row = mysql_fetch_assoc($query))
{
$dbusername= $row['username'];
$dbpassword = $row['password'];
}

if ($username==$dbusername&&md5($password)==$dbpasswo rd)
{
echo "<h1><center>Ingresaste!Accede a toda la informaciَn.<a href='member.php'>Click</a> para ingresar</center></h1>";
$_SESSION['username']=$username;
}
else
echo "incorrecto password";

}
else
die("No existe el usuario");

}
else
die ("Por favor ingrese su nombre y password");
?>
<Html>
<body bgcolor="#708090">
</body>
</html>


espero me puedan ayudar a ver donde esta el inconveniente para tal error tan raro q lea solo el primer usuario de la BD y el resto no pueda recuperar y me tire el error xD desde ya muchas gracias!
sabrysQ :D
  #2 (permalink)  
Antiguo 04/12/2012, 08:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: login

md5($password) tienes los passwords en esa encriptación... o solo el del primer usuario?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 04/12/2012, 10:54
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: login

hola

cual de los errores te marca

incorrecto password o No existe el usuario ¿?
  #4 (permalink)  
Antiguo 04/12/2012, 20:39
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: login

Cita:
Iniciado por quimfv Ver Mensaje
md5($password) tienes los passwords en esa encriptación... o solo el del primer usuario?
todos los password cuando guardo en la base de datos estan encriptados.. pero el primer password me recupera bien... pero el segundo usuario ya no recupera.. me tira el error... incorrecto password :/
  #5 (permalink)  
Antiguo 04/12/2012, 20:40
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: login

Cita:
Iniciado por webankenovi Ver Mensaje
hola

cual de los errores te marca

incorrecto password o No existe el usuario ¿?
me marca el error incorrecto pasword solo cuando ingreso el segundo usuario.. el primero me lo acepta tranquilamente
  #6 (permalink)  
Antiguo 05/12/2012, 12:06
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: login

creo que esta de mas el while y por que no controlas los errores por separado asi:
Código PHP:
Ver original
  1. if ($username==$dbusername)
  2. {
  3.     if (md5($password)==$dbpassword)
  4.     {
  5.  
  6.      echo "<h1><center>Ingresaste! Accede a toda la informacion.
  7.     <a href='member.php'>Click</a> para ingresar</center></h1>";
  8.      $_SESSION['username']=$username;
  9.  
  10.     }else{
  11.  
  12.      echo 'password incorrecto';
  13.  
  14.     }
  15.  
  16. }else{
  17.  
  18. echo "usuario incorrecto";
  19.  
  20. }

RECOMENDACION : Mensajes de error en el acceso deben ser genéricos no dar informacion
  #7 (permalink)  
Antiguo 05/12/2012, 12:36
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: login

@webankenovi Tiene razón, ese while esta de más, ya que solo esta obteniendo la información de un usuario.

Puedes compartir tu tabla de usuarios? Ya resolviste el problema? no te marca ningún error?

Lo que si, estas usuando un metodo de mysql que va a ser depreciado, lo mejor es que uses MySQL Improve o PDO, comparte tu tabla para poderte ayudar, saludos.

Etiquetas: html, login, mysql, sql, usuarios
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:07.