Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No reconoce mi user ni mi password

Estas en el tema de No reconoce mi user ni mi password en el foro de PHP en Foros del Web. Yo como siempre en cada paso que intento avanzar me encuentro con piedras nuevo problema no se que es lo que pasa este código lo ...
  #1 (permalink)  
Antiguo 25/03/2016, 20:06
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
No reconoce mi user ni mi password

Yo como siempre en cada paso que intento avanzar me encuentro con piedras
nuevo problema no se que es lo que pasa este código lo tenia guardadito para esta ocasión y ya no me funciona le posteo el codigo basicamente es eso que el if no me da true y funciona el else

formulario
Código HTML:
Ver original
  1. <form action="funciones/ingresar/ingresar.php" method="POST">
  2.    
  3.     Email: <input type="text" name="email" value="" placeholder="usuario....."><br>
  4.    
  5.     Contrasena: <input type="password" name="pass" value="" placeholder="Contrasena..."><br>
  6.     <input type="submit" value"aceptar" /></form><br>
  7. </form>

PHP

Código PHP:
Ver original
  1. <?php
  2.  
  3. session_start();  //inicia sesion
  4.  
  5.  
  6. $email = $_POST['email']; //atrapa los valores de name del archivo index
  7. $pass = $_POST['pass'];
  8. if (empty($email.$pass))  // Se evalúa si las variables  está vacia si es true de redireciona
  9. {
  10.         header("location: ../../index.php");
  11.  }
  12.  
  13.  
  14.  
  15.  
  16. include("../../conexion/conexionmsqli.php"); //incluimos la conexion
  17.  
  18. $proceso =  mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".mysql_real_escape_string($email)."' AND pass='".mysql_real_escape_string($pass)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL
  19.  
  20. //$proceso = $conexion->query("SELECT * FROM usuarios WHERE usuario='$usuario' AND contrasena='$contrasena'"); //$mysqli->query () dice que mysql ejecute el query
  21.  
  22.     if($resultado = mysqli_fetch_array($proceso)) //busca en la bd
  23.     {
  24.         $_SESSION['email'] = $email; //creamo la variable de sesion
  25.         $_SESSION['pass'] = $pass;
  26.         header("location: sesion.php"); //redirecionamos a sesion.php
  27.        
  28.     }
  29.     else
  30.     {
  31.         echo "calve erronea" ; // si no c cumple la peticion
  32.     }
  33.  
  34.  
  35. ?>

ya probe la variables post y me imprime el resultado osea que por ese lado no el problema, dane la conexión para probar si no se estaba conectando y nada tampoco ese no es el problema vi la columna de la BDatos y es la misma que pongo en la consulta es esta

Full texts
id
ip
img
fecha_hora
nick
pass
email Descending 1
//datos de la tabla
9
::1
img
26-03-2016 01:44:41
will
1
s@s
  #2 (permalink)  
Antiguo 25/03/2016, 20:47
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: No reconoce mi user ni mi password

esto aqui esta mal, porque estas concatenando dos variables y no tiene sentido:

Código PHP:
Ver original
  1. if (empty($email.$pass))

imagina que envias el user: maria y el pass 1234 entonces le estas diciendo que valide maria1234 todo junto

creo que deberia de ser asi:

Código PHP:
Ver original
  1. if (empty($email || $pass))

no estoy seguro, pero prueba asi a ver

y aqui estas mesclando mysqli con mysql:

Código PHP:
Ver original
  1. $proceso =  mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".mysql_real_escape_string($email)."' AND pass='".mysql_real_escape_string($pass)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 26/03/2016, 07:53
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

hola amigo esto de if (empty($email || $pass)) y if (empty($email . $pass)) funciona de la misma manera y es para decir que si estas dos esta vacias me envie a otro lugar

lo del ligar msqli y msql me funcionaba antes le quiete el real scape y no me funciono.

si gue sin servir
  #4 (permalink)  
Antiguo 26/03/2016, 09:00
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

Cita:
Iniciado por wilson_romero Ver Mensaje
hola amigo esto de if (empty($email || $pass)) y if (empty($email . $pass)) funciona de la misma manera y es para decir, si estan vacías me envie a otro lugar

lo del ligar msqli y msql me funcionaba antes le quiete el real scape y no me funciono.

si gue sin servir
  #5 (permalink)  
Antiguo 26/03/2016, 09:02
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: No reconoce mi user ni mi password

prueba asi...

Código PHP:
Ver original
  1. if (empty($email.$pass))  // Se evalúa si las variables  está vacia si es true de redireciona
  2. {
  3.         header("location: ../../index.php");
  4.  }else{
  5. $email = $_POST['email']; //atrapa los valores de name del archivo index
  6. $pass = $_POST['pass'];
  7. }
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #6 (permalink)  
Antiguo 26/03/2016, 09:32
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

petit89 el problema no es ese, el problema es la consulta que no me dice si el usuario es el mismo que ingresa los datos me da el resltado falso. pero los datos son verdaderos
  #7 (permalink)  
Antiguo 26/03/2016, 09:40
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: No reconoce mi user ni mi password

la pregunta es para que comparas el pass si solo debes comparar el usuario???? sio tu pass esta encriptado de bo que no va a coincidir
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 26/03/2016, 09:45
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

el pass no esta encristado y no comparo solo hago una consulta donde busca lo mismo valores si esto valores son cierto pues corre el if si son incorrecto corre el else
  #9 (permalink)  
Antiguo 26/03/2016, 09:51
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: No reconoce mi user ni mi password

Cita:
Iniciado por wilson_romero Ver Mensaje
el pass no esta encristado y no comparo solo hago una consulta donde busca lo mismo valores si esto valores son cierto pues corre el if si son incorrecto corre el else
y que va a pasar cuando si este encriptada????

prueba asi:

Código PHP:
Ver original
  1. session_start();  //inicia sesion
  2. include("../../conexion/conexionmsqli.php"); //incluimos la conexion
  3.  
  4. $email = $_POST['email'];
  5. $pass = $_POST['pass'];
  6.  
  7. if(empty($email)){
  8.         header("location: ../../index.php");
  9. }else if(empty($pass)){
  10.         header("location: ../../index.php");
  11. }else{
  12.  
  13. $email = $conexion->mysqli_real_escape_string($email);
  14. $pass = $conexion->mysqli_real_escape_string($pass);
  15.  
  16.  
  17. $proceso =  mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".$email."' AND pass='".$pass."'");
  18.  
  19.  
  20.     if($resultado = mysqli_fetch_array($proceso)) //busca en la bd
  21.     {
  22.         $_SESSION['email'] = $email; //creamo la variable de sesion
  23.         $_SESSION['pass'] = $pass;
  24.         header("location: sesion.php"); //redirecionamos a sesion.php
  25.        
  26.     }
  27.     else
  28.     {
  29.         echo "calve erronea" ; // si no c cumple la peticion
  30.     }
  31.  
  32. }

recuerda que mysqli_real_scape_string necesita la conexion para su trabajo:

http://php.net/manual/es/mysqli.real-escape-string.php
__________________
[email protected]
HITCEL
  #10 (permalink)  
Antiguo 26/03/2016, 10:02
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

xfxstudios tu script tiene un error

Fatal error: Call to undefined method mysqli::mysqli_real_escape_string() in C:\xampp\htdocs\roomvs\funciones\ingresar\ingresar .php on line 14
  #11 (permalink)  
Antiguo 26/03/2016, 10:04
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

estoy haciendo uan prueba muchachos contando las columnas
y si pongo el valor del email
me imroime 1
si pongo el valor del pass me imprime 0

creo que en pass es donde esta el problema
esta es la prueba
Código PHP:
Ver original
  1. <?php
  2.  
  3. session_start();  //inicia sesion
  4.  
  5.  
  6. $email = $_POST['email']; //atrapa los valores de name del archivo index
  7. $pass = $_POST['pass'];
  8. if (empty($email || $pass))  // Se evalúa si las variables  está vacia si es true de redireciona
  9. {
  10.         header("location: ../../index.php");
  11.  }
  12.  
  13. echo $pass ;
  14.  
  15. include("../../conexion/conexionmsqli.php"); //incluimos la conexion
  16.  
  17. $proceso =  mysqli_query($conexion, "SELECT * FROM usuarios WHERE pass='".$pass."' "); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL
  18.  
  19. //$proceso = $conexion->query("SELECT * FROM usuarios WHERE usuario='$usuario' AND contrasena='$contrasena'"); //$mysqli->query () dice que mysql ejecute el query
  20. $row_cnt = mysqli_num_rows($proceso);
  21. echo $row_cnt;
  22.    
  23.  
  24. ?>
  #12 (permalink)  
Antiguo 26/03/2016, 10:07
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: No reconoce mi user ni mi password

Cita:
Iniciado por wilson_romero Ver Mensaje
xfxstudios tu script tiene un error

Fatal error: Call to undefined method mysqli::mysqli_real_escape_string() in C:\xampp\htdocs\roomvs\funciones\ingresar\ingresar .php on line 14
al menos leiste el manual no

pues la linea 14 es la que se refiere al pass en el codigo que te pase
__________________
[email protected]
HITCEL
  #13 (permalink)  
Antiguo 26/03/2016, 10:10
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

xfxstudios no lo lei no lo entiendo nunca de hecho le quite el real string , pero cual crees tu que sea el problema?
  #14 (permalink)  
Antiguo 26/03/2016, 14:13
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: No reconoce mi user ni mi password

Cita:
Iniciado por wilson_romero Ver Mensaje
xfxstudios no lo lei no lo entiendo nunca de hecho le quite el real string , pero cual crees tu que sea el problema?

Muy mal! La documentación oficial debe ser la base.

Imprime la consulta y ejecútala desde phpmyadmin, para comprobar que realmente esa consulta debería devolver lo que esperas.

Igualmente eliminar mysql_real_escape_string es eliminar la seguridad mínima, todos los datos que sean introducidos por los usuarios deben de ser validados y escapados de forma adecuada.
  #15 (permalink)  
Antiguo 26/03/2016, 14:34
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: No reconoce mi user ni mi password

Aquí está en español: documentación en español.

mysqli_real_escape_string, utiliza dos parámetros, el primero la conexión, el segundo la variable a escapar.

Código PHP:
Ver original
  1. $email = mysqli_real_escape_string($conexion,$email);
  2. $pass = mysqli_real_escape_string($conexion,$pass);
  3.  
  4. $sql = "SELECT id FROM usuarios WHERE email='$email' AND pass='$pass'";
  5. $proceso =  mysqli_query($conexion,$sql);
  6.  
  7.     if(mysqli_num_rows($proceso)) //busca en la bd
  8.     {
  9.         $_SESSION['email'] = $email; //creamo la variable de sesion
  10.         $_SESSION['pass'] = $pass;
  11.         header("location: sesion.php"); //redirecionamos a sesion.php
  12.         exit();
  13.     }    else
  14.     {
  15.         echo "calve erronea" ; // si no c cumple la peticion
  16.     }

por qué guardas en una session la pass?
  #16 (permalink)  
Antiguo 26/03/2016, 22:25
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

se para que sirve mysqli_real_escape_string pero ese no es el tema el tema es que se cumple la sentecia en un valor flaso y se supone que si tine los mismo valores no puede hacer eso tiene que ejecutarse el if.

este pos se desvirtuo y no logro resolver el p[roblema principal

rodocoyote15 lo del pass es solo una prueba para verlo no es que va a imprimir la clave al final solo es prueba
  #17 (permalink)  
Antiguo 27/03/2016, 07:01
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: No reconoce mi user ni mi password

Prueba así.

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5. $email = $_POST['email'];
  6. $pass = $_POST['pass'];
  7.  
  8. if ( empty($email) OR empty($pass) ){
  9.         header("location: ../../index.php");
  10.         exit;
  11.  }
  12.  
  13. include("../../conexion/conexionmsqli.php");
  14. $email=mysqli_real_escape_string($conexion,$email);
  15. $pass=mysqli_real_escape_string($conexion,$pass);
  16.  
  17. $sql="SELECT * FROM usuarios WHERE pass='".$pass."' AND email='".$email."' LIMIT 1";
  18.  
  19. $proceso =  mysqli_query($conexion, $sql);
  20.  
  21. if (!$proceso) {
  22.     $mensaje  = 'Consulta no válida: ' . mysqli_error($conexion) . "\n";
  23.     $mensaje .= 'Consulta completa: ' . $sql;
  24.     die($mensaje);
  25. }
  26.  
  27. if ( mysqli_num_rows($proceso) > 0 ){
  28.         echo 'Existe un usuario con estos datos.';
  29.         $row = mysqli_fetch_array($proceso, MYSQLI_ASSOC);
  30.         var_dump($row);
  31. }
  32. else{ echo 'Usuario no encontrado.'; }
  33.  
  34.  
  35. mysqli_close($conexion);
  #18 (permalink)  
Antiguo 27/03/2016, 10:58
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

dice usuario no encontrado
ya no se que hacer use el código en un script donde lo hice a lo primero y funciona pero en estas nubas carpetas y base de dato no me funciona le podre el codigo para que lo vean

primer el que funciona

Código PHP:
Ver original
  1. <?php
  2.  
  3. session_start();  //inicia sesion
  4.  
  5.  
  6. $usuario = $_POST['usuario']; //atrapa los valores de name del archivo index
  7. $contrasena = $_POST['contrasena'];
  8. if (empty($usuario.$contrasena ))  // Se evalúa si las variables  está vacia si es true de redireciona
  9. {
  10.         header("location: index.php");
  11.  }
  12.  
  13.  
  14.  
  15.  
  16. include("conexion.php"); //incluimos la conexion
  17.  
  18. $proceso = mysqli_query($conexion, "SELECT * FROM usuarios WHERE usuario='".mysql_real_escape_string($usuario)."' AND contrasena='".mysql_real_escape_string($contrasena)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL
  19.  
  20. //$proceso = $conexion->query("SELECT * FROM usuarios WHERE usuario='$usuario' AND contrasena='$contrasena'"); //$mysqli->query () dice que mysql ejecute el query
  21.  
  22.     if($resultado = mysqli_fetch_array($proceso)) //busca en la bd
  23.     {
  24.         $_SESSION['u_usuario'] = $usuario; //creamo la variable de sesion
  25.         $_SESSION['pass'] = $contrasena;
  26.         header("location: sesion.php"); //redirecionamos a sesion.php
  27.        
  28.     }
  29.     else
  30.     {
  31.         echo "calve erronea" ; // si no c cumple la peticion
  32.     }
  33.  
  34.  
  35. ?>

el que no funciona

Código PHP:
Ver original
  1. <?php
  2.  
  3. session_start();  //inicia sesion
  4.  
  5.  
  6. $email = $_POST['email']; //atrapa los valores de name del archivo index
  7. $pass= $_POST['pass'];
  8. if (empty($email .$pass))  // Se evalúa si las variables  está vacia si es true de redireciona
  9. {
  10.         header("location: index.php");
  11.  }
  12.  
  13.  
  14.  
  15.  
  16. include("../../conexion/conexionmsqli.php"); //incluimos la conexion
  17.  
  18. $proceso = mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".mysql_real_escape_string($email)."' AND pass='".mysql_real_escape_string($pass)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL
  19.  
  20. //$proceso = $conexion->query("SELECT * FROM usuarios WHERE usuario='$usuario' AND contrasena='$contrasena'"); //$mysqli->query () dice que mysql ejecute el query
  21.  
  22.     if($resultado = mysqli_fetch_array($proceso)) //busca en la bd
  23.     {
  24.         $_SESSION['u_usuario'] = $usuario; //creamo la variable de sesion
  25.         $_SESSION['pass'] = $contrasena;
  26.         header("location: sesion.php"); //redirecionamos a sesion.php
  27.        
  28.     }
  29.     else
  30.     {
  31.         echo "calve erronea" ; // si no c cumple la peticion
  32.     }
  33.  
  34.  
  35. ?>

Última edición por wilson_romero; 27/03/2016 a las 12:07
  #19 (permalink)  
Antiguo 27/03/2016, 12:57
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: No reconoce mi user ni mi password

Imprime la consulta con echo y ejecútala directamente en tu base de datos desde phpmyadmin, y examina si realmente la consulta devuelve algún resultado, por que básicamente tiene pinta de que el registro no existe en tu bd.
  #20 (permalink)  
Antiguo 27/03/2016, 18:08
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

xerifandtomas me puedes decir como hacer eso yo hasta donde se hice esto

Código PHP:
Ver original
  1. <?php
  2.  
  3. session_start();  //inicia sesion
  4.  
  5.  
  6. $email = $_POST['email']; //atrapa los valores de name del archivo index
  7. $pass= $_POST['pass'];
  8. if (empty($email .$pass))  // Se evalúa si las variables  está vacia si es true de redireciona
  9. {
  10.         header("location: index.php");
  11.  }
  12.  
  13.  
  14. echo $email.'<br>' ;
  15. echo $pass. '<br>' ;
  16.  
  17. include("../../conexion/conexionmsqli.php"); //incluimos la conexion
  18. $consulta = mysqli_query($conexion, "SELECT * from usuarios ")  or die("error de conexion de base de datos");
  19.  
  20. echo '<table border="1">';
  21. echo '<tr>';
  22. echo '<th id="clave"> ID::  </th>';
  23. echo '<th id="clave"> Email:  </th>';
  24. echo '<th id="clave"> Password: </th>';
  25.  
  26.  
  27.  
  28.  
  29. while ($extraido = mysqli_fetch_array($consulta))
  30.  {
  31.     echo '<tr>';
  32.     echo '<td>' .$extraido['id'] .'</td>';
  33.     echo '<td>' .$extraido['email'] .'</td>';
  34.     echo '<td>' .$extraido['pass'] .'</td>';
  35.  
  36.  
  37.  }
  38.  
  39. $proceso = mysqli_query($conexion, "SELECT * FROM usuarios WHERE email='".mysql_real_escape_string($email)."' AND pass='".mysql_real_escape_string($pass)."'"); //consulata a la base de datos con la funcion mysql_real_escape_string para evitar inyeciones SQL
  40.  
  41. //$proceso = $conexion->query("SELECT * FROM usuarios WHERE usuario='$usuario' AND contrasena='$contrasena'"); //$mysqli->query () dice que mysql ejecute el query
  42.  
  43.     if($resultado = mysqli_fetch_array($proceso)) //busca en la bd
  44.     {
  45.         $_SESSION['u_usuario'] = $usuario; //creamo la variable de sesion
  46.         $_SESSION['pass'] = $contrasena;
  47.         header("location: sesion.php"); //redirecionamos a sesion.php
  48.         exit();
  49.        
  50.     }
  51.     else
  52.     {
  53.         echo "calve erronea" ; // si no c cumple la peticion
  54.     }
  55.  
  56.  
  57. ?>

imprime los datos que se ingresan en el POST
Luego extrae los datos que estan en la tabla de la columnas id, email y pass.
y luego (no se como se llama el termino si me dicen es uan ayuda para comincar me mejor) luego.. ejecuta la sentecnia no se si llama asi pero verfica si email es igual a el dato que se introdujo. me regresa clave erronea se ejecuta el else por que el if no era true.

lo unico que vi irregular es que imprime primero el valor del ELSE y luego imprime lo que contiene la columna. se supone que el codigo que extrae esta de primero ( que problema este codigo hasta funcioan en otro archivo que hice de prueba lo unico diferente que cambie es la posicion del archivo la conecion y los valores de la tabla
esto fue lo que imprimió
a@a
a
calve erronea
ID:: Email: Password:
8 [email protected] dodo
9 s@s 1
10 s@1 1
11 a@a a
pero esto es muy raro no funciona

Última edición por wilson_romero; 27/03/2016 a las 18:36
  #21 (permalink)  
Antiguo 28/03/2016, 02:04
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: No reconoce mi user ni mi password

Nosotros no somos tus profesores.
Con la cantidad de respuestas que te hemos aportado deberías de haber podido solucionarlo.
Necesitas leer más, leer los manuales e intentar comprender cómo funciona cada cosa.

Conocer que es un Sistema de Gestión de Bases de Datos, por lo menos el que utiliza tu sistema y saber lo básico de como funciona.

Básicamente necesitas adquirir los conocimientos básicos.

Ahora bien , a modo de ilustración te voy a comentar el código anterior para que intentes comprenderlo.

Código PHP:
Ver original
  1. <?php
  2.  
  3. /* recogemos las variables enviadas desde el form */
  4. $email = $_POST['email'];
  5. $pass = $_POST['pass'];
  6.  
  7. /* comprobamos que no estén vacías */
  8. if ( empty($email) OR empty($pass) ){
  9.         header("location: ../../index.php");
  10.         exit;
  11.  }
  12.  
  13. /* incluimos la conexión a la bd */
  14. include("../../conexion/conexionmsqli.php");
  15.  
  16. /* escapamos los datos */
  17. $email=mysqli_real_escape_string($conexion,$email);
  18. $pass=mysqli_real_escape_string($conexion,$pass);
  19.  
  20. /* construimos la sentencia, fijate que lo hago antes de ejecutarla */
  21. $sql="SELECT * FROM usuarios WHERE pass='".$pass."' AND email='".$email."' LIMIT 1";
  22.  
  23. /* ejecutamos la sentencia */
  24. $proceso =  mysqli_query($conexion, $sql);
  25.  
  26. /* comprobamos que se haya ejecutado correctamente */
  27. if (!$proceso) {
  28.     $mensaje  = 'Consulta no válida: ' . mysqli_error($conexion) . "\n";
  29.     $mensaje .= 'Consulta completa: ' . $sql;
  30.     die($mensaje);
  31. }
  32.  
  33. /* comprobamos si ha devuelto algún registro */
  34. if ( mysqli_num_rows($proceso) > 0 ){
  35.         echo 'Existe un usuario con estos datos.';
  36.         $row = mysqli_fetch_array($proceso, MYSQLI_ASSOC);
  37.         var_dump($row);
  38. }
  39. else{
  40.   echo 'Usuario no encontrado.';
  41.   /* esto muestra la sentencia tal y como se ha ejecutado para poder copiarla, ejecutarla y verificarla desde un SGBD */
  42.   echo '<br/> SQL : '. $sql.'<br/>';
  43.  
  44. }
  45.  
  46. /* liberamos memoria */
  47.  
  48. /* cerramos la conexión */
  49. mysqli_close($conexion);
  #22 (permalink)  
Antiguo 28/03/2016, 13:32
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

mira lo que imprime debe de aver algo raro en la base de datos
Usuario no encontrado.
SQL : SELECT * FROM usuarios WHERE pass='1' AND email='s@s' LIMIT 1
  #23 (permalink)  
Antiguo 28/03/2016, 13:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: No reconoce mi user ni mi password

Código SQL:
Ver original
  1. SELECT * FROM usuarios WHERE pass='1' AND email='s@s' LIMIT 1
La consulta está perfecta.
¿Probaste ejecutarla manualmente en el phpMyadmin, sobre esa misma base?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #24 (permalink)  
Antiguo 28/03/2016, 15:10
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: No reconoce mi user ni mi password

Muchas agracias a todos por su repuesta EUREKA encontré el error es que cuando se registra el usuario el pass se graba con un espacio. intente editar una columna y me di cuenta que el pass se graba con un espacio por delante algo asi
pass: p
deberia de ser
pass:p

di mucha agua a beber con este post pero por lo menos aprendi mucho mas
este era era el error

Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuarios VALUES ('','$ip','img','$fecha_hora','$nick',' $pass','$email')"); //

código resuelto

Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuarios VALUES ('','$ip','img','$fecha_hora','$nick',' $pass','$email')"); //

Última edición por wilson_romero; 28/03/2016 a las 15:41

Etiquetas: fecha, formulario, mysql, password, reconoce, select, sql, tabla, usuarios, variable
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 16:42.