Foros del Web » Programando para Internet » PHP »

comprobar usuarios bbdd

Estas en el tema de comprobar usuarios bbdd en el foro de PHP en Foros del Web. Ya por fin he podido conectarme a mi bbdd, y quiero comprobar que los usuarios que me llegan están registrados en mi bbdd para darles ...
  #1 (permalink)  
Antiguo 16/10/2014, 15:41
 
Fecha de Ingreso: agosto-2013
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
comprobar usuarios bbdd

Ya por fin he podido conectarme a mi bbdd, y quiero comprobar que los usuarios que me llegan están registrados en mi bbdd para darles acceso para ver una serie de páginas.

Mandó a un php el email y el password y para ello pongo este codigo .

if(trim($_POST['email']) != "" && trim($_POST['password']) != "")
{
$email = htmlentities($_POST['email']);
$password = sha1($_POST["password"]);
$result = mysql_query('SELECT password, email, username FROM usuarios WHERE email=\''.$email.'\'');

if($row = mysql_fetch_array($result)){
if($row['password'] == $password){
$_SESSION['fp_username'] = $row['username'];
$_SESSION['email'] = $row['email'];

echo 'Has sido logueado correctamente '.$_SESSION['fp_username'].' <p>';
echo '<a href="pruebacoach.php">Index</a></p>Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "pruebacoach.php";
</SCRIPT>';
}else{


echo 'Datos incorrectos ;)'; Se queda siempre aquí

}
}else{
echo 'datos incorrectos :)';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}


Siempre me dice datos incorrectos , aunque el correo y la contraseñas están en la base de datos .
¿Me podeís ayudr por favor ?
  #2 (permalink)  
Antiguo 16/10/2014, 15:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: comprobar usuarios bbdd

Te sugiero aprender a depurar tu código, ¿por qué?

Porque sencillamente el código no te va a decir que está mal, que si bien puedes no tener errores de sintaxis puede que algo más ocurra y tu ni enterado.

Cada acción que hagas debes depurarla mientras programas para saber si vas bien, no hasta el final que "nada funciona" y vengas al foro porque no alcanzas a ver.

Tan simple como esto:
Código PHP:
Ver original
  1. $result = mysql_query('SELECT password, email, username FROM usuarios WHERE email=\''.$email.'\'');
  2.  
  3. var_dump($result);

Si $result es FALSE (como dice el manual), entonces la consulta está mal, y si aún así no te muestra ningún error: debes habilitar el reporte de errores.

¿Por qué?

Porque si no sencillamente seguirás dando de golpes a lo ciego.

Suponiendo que mysql_query() está bien, ¿entonces por qué no estás depurando lo demás?

Código PHP:
Ver original
  1. if($row = mysql_fetch_array($result)){
  2.   var_dump($row, $password);
  3.   // ...
  4. }

¿Muestra algo?

Por favor, entiende que no podemos ejecutar tu código mentalmente y decirte que anda mal.

Es por eso que tienes la obligación de aprender a depurar tu código.

Nosotros no lo vamos a hacer por ti.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/10/2014, 16:21
 
Fecha de Ingreso: agosto-2013
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: comprobar usuarios bbdd

Muchas gracias por el consejo.

Una pregunta previa,que diferencia sería poner
var_dump($row, $password);

a poner: echo row, $password;


En ambos var_dump me da lo siguiente

$result = mysql_query('SELECT password, email, username FROM usuarios WHERE email=\''.$email.'\'');

var_dump($result);

resource(2) of type (mysql result)

y

f($row['password'] == $password){
var_dump($row, $password);

Resource id #2

Muchas gracias
  #4 (permalink)  
Antiguo 16/10/2014, 16:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: comprobar usuarios bbdd

Si te estoy dando código de ejemplo es para que lo uses tal cual, var_dump() es lo correcto.

Además debes depurar antes de comparar la contraseña, ¿por qué no lees bien el código que te coloqué?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/10/2014, 07:05
 
Fecha de Ingreso: agosto-2013
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: comprobar usuarios bbdd

He puesto el código tal como lo has puesto y me sale :

resource(2) of type (mysql result)

Muchas gracias por tu ayuda
  #6 (permalink)  
Antiguo 17/10/2014, 08:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: comprobar usuarios bbdd

¿Esto?

Código PHP:
Ver original
  1. if($row = mysql_fetch_array($result)){
  2.   var_dump($row, $password);
  3.   // ...
  4. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: bbdd, html, mysql, select, 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 22:21.