PHP - Ayuda login con $_SESSION en una base de datos

   
Vista:

Ayuda login con $_SESSION en una base de datos

Publicado por Daniel (1 intervención) el 09/06/2016 17:38:50
Hola y buenas tardes a todos. Gracias de antemano por la ayuda.
Me gustaria preguntarles que fallo ven en el siguiente codigo ya que el login me lo hace ya tenga al usuario registrado en la base de datos o no lo este.
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
<?php
$user=$_POST["usuario"];
$pass=$_POST["pass"];
 
$mysqli = new mysqli('localhost', 'root', '', 'web-lema');
 
if($mysqli->connect_errno){
	die("Conexión fallida con la base de datos.");
}
$sql="SELECT COUNT(*) FROM usuarios WHERE Usuario='$user' and Password='$pass'";
 
$res=mysqli_query($mysqli, $sql);
$fila=mysqli_fetch_row($res);
 
if ($fila == 0){
	ob_start();
	header('refresh 3; href=../inicio.php');
	echo 'Usuario no encontrado o contraseña no valida.';
	ob_end_flush();
}
else {
$_SESSION["user"] = $user;
	echo "<SCRIPT LANGUAGE='JavaScript'>
		window.alert('Usuario correcto. Bienvenido $user')
		window.location.href='../inicio.php';
		</SCRIPT>";
}
 
?>

Que solucion me podriais dar. Gracias.
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 xve

Ayuda login con $_SESSION en una base de datos

Publicado por xve (5519 intervenciones) el 09/06/2016 21:09:22
Hola Daniel, el problema que tienes, es que mysqli_fetch_row() no devuelve un numero, pero tu lo comparas contra un numero, por eso nunca da 0.
http://php.net/manual/es/mysqli-result.fetch-row.php

Deberias de utilizar num_rows para saber el numero de registros devueltos
http://php.net/manual/en/mysqli-result.num-rows.php
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