MySQL - Problema login de usuarios con BD

 
Vista:
sin imagen de perfil

Problema login de usuarios con BD

Publicado por jose (1 intervención) el 03/09/2017 01:36:20
Buenas, estoy realizando una pagina para un proyecto de la universidad en el cual tengo un inicio de sesión , el problema es que cuando intento logear me muestra un mensaje que yo coloque en caso de que el usuario y contraseña no coincidieran, ya sea que estén bien o no

la BD se llama bephone y la tabla cliente, esta incluye las columnas de usuario, nombre, apellido, correo y contrasena

formulario de inicio
1
2
3
4
5
<form action="conexioninicio.php" method="post" onsubmit="return validar()" >
 
                            <li><input type="text" name="usuarioi" size="10" placeholder="Usuario" id="usuarioi"> <input type="password" name="contraseñai" size="10" placeholder="Contraseña" id="contraseñai">
                          <input type="submit" name="enviar" class="button-2" value="Iniciar Sesion" ></li>
                          </form>

Código donde compara los datos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
session_start();
?>
 
<?php
 
	$host = "localhost";
	$user = "root";
	$pw = "";
	$db = "bephone";
	$datatable="cliente";
 
 
	$conexion = new mysqli($host, $user, $pw, $db);
 
if ($conexion->connect_error) {
die("La conexion falló: " . $conexion->connect_error);
}
 
$username = $_POST['usuarioi'];
$password = $_POST['contraseñai'];
 
$sql = "SELECT * FROM $datatable WHERE Usuario = '$username'";
 
$result = $conexion->query($sql);
 
 
if ($result->num_rows > 0) {
$row = $result->fetch_array(MYSQLI_ASSOC);
 
}
 
if (password_verify($password, $row['Contrasena'])) {
 
    $_SESSION['loggedin'] = true;
    $_SESSION['username'] = $username;
 
 
     echo "Bienvenido! " . $_SESSION['username'];
 
 
 
       echo "<br><br><a href=panel-control.php>Panel de Control</a>";
   }
 
else {
	echo "Username o Password estan incorrectos.";
	echo "<br><a href='login.html'>Volver a Intentarlo</a>";
}
mysqli_close($conexion);
?>

cabe mencionar que no soy experto en php ni mysql, apenas estoy empezando con estos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de [abZeroX]
Val: 42
Ha aumentado su posición en 2 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Problema login de usuarios con BD

Publicado por [abZeroX] (11 intervenciones) el 04/09/2017 00:21:56
Hola, si el mensaje al que te refieres es "Username o Password estan incorrectos." es porque esta fallando en la verificación del hash. Probaste ver que devuelve la query ?: Prueba ejecutar esto:
1
var_dump($row);

Itenta tambien con este pequeño cambio que hice en tu código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.
..
....
$result = $conexion->query($sql);
 
if ($result->num_rows > 0) {
    $row = $result->fetch_array(MYSQLI_ASSOC);
 
    if (password_verify($password, $row['Contrasena'])) {
 
        $_SESSION['loggedin'] = true;
        $_SESSION['username'] = $username;
 
        echo "Bienvenido! " . $_SESSION['username'];
        echo "<br><br><a href=panel-control.php>Panel de Control</a>";
    } else {
        echo "Username o Password estan incorrectos.";
        echo "<br><a href='login.html'>Volver a Intentarlo</a>";
    }
}
.
..
....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar