Hola a todos.
Tengo mi web site, con un login para entrar, este login consulta en la BD el usuario y el password en md5. Obviamente la bd contiene por ejemplo
User pepito
pass 21545615645456456465 (md5 inventado)
El hacer clic para entrar vuleve a cargar el login, de forma que no accede a la pagina siguiente, se queda atascado y si pongo un user i pasword inventados hace lo mismo. Segun como esta programado deberia aparecer mensajes de error si el usuario no esta en la BD , pero no aparece NADA, simplemente vuleve a cargar el login.
Teoricamente deberia passar a Principal.php
<?php
$host="localhost";
$user="**********"; //usuari de la base de dades
$pass="********"; //password de la base de dades
$db="login"; //nom de la base de dades
mysql_connect($host,$user,$pass) or die (mysql_error());
mysql_select_db($db) or die(mysq_error());
?>
<?php
define('CONFIG','config-main.php');
include(CONFIG);
if (!$_POST['submit']){
echo "<form name='login' method='post' action='index.php'>
<input type='text' name='user' /><br />
<input type='password' name='pass' /><br>
<input type='submit' value='Entrar' name='sumbit' /><input type='reset' value='Esborrar' />
</form>";
} else {
$user = $_POST['user'];
$pass = md5($_POST['pass']);
$query = mysql_query("Select * from login where User = '$user'");
$query = mysql_num_rows($query);
if ($query == 0) {
echo "No s'ha trobat l'usuari.<br />
<a href='index.php'>Tornar enrere</a>";
} else {
$query2 = mysql_fetch_array($query);
if ($query2['Pass'] != $pass) {
echo "Les contrasenyes no coincideixen.<br />
<a href='index.php'>Tornar enrere</a>";
} else {
session_start();
$_SESSION['user'] = $user;
header("Location: Principal.php");
}
}
}
?>
Principal.php tiene este script, de forma que si no has superado el login , pues no entras.
<?php
session_start();
include ("config-main.php");
$query = mysql_query("Select * from login where User = $_SESSION['user']");
$query = mysql_num_rows($query);
if ($query != 1){
header("Location index.php");
} else {
}
?>
Saludos