Hola, estoy haciendo un sistema de autentificación para un sólo usuario que será el administrador de la web. Pero aunque ponga bien el usuario y contraseña me sale el mismo mensaje que si pongo el usuario y la contraseña incorrectos. Alguien me podria ayudar que voy muy perdido.
El código es el siguiente
<?php
session_start();
if (isset($_POST['user_name']) && isset($_POST['password']))
{
// if the user has just tried to log in
$usuario = $_POST['user_name'];
$contr = $_POST['password'];
$db_conn = mysql_connect("servidor", "usuario", "contraseña");
mysql_select_db("nombre_bd", $db_conn);
$query = "select * from admin where user='$usuario' and pass=password('$contr')";
$result = mysql_query($query, $db_conn);
if (mysql_num_rows($result) >0 )
{
// if they are in the database register the user id
$_SESSION['valid_user'] = $usuario;
}
}
?>
despues va codigo html de la página y a continuación
<?php
if (isset($_SESSION['valid_user']))
{
echo 'Te has identificado como: '.$_SESSION['valid_user'].' <br />';
echo '<a href="logout.php"><u>Cerrar sersion</u></a><br />';
}
else
{
if (isset($usuario))
{
// if they've tried and failed to log in
echo 'No estas autorizado para entrar a esta zona';
}
else
{
// they have not tried to log in yet or have logged out
echo 'No estas indentificado.<br />';
}
// provide form to log in
echo '<table>';
echo ' <tr>';
echo '<td cellspacing="4">';
echo '<div style="position: absolute; top: 20px; left: 20px; visibility:hidden"></div>';
echo '<p align="justify">';
echo '<font class="azul"> Esta zona es de acceso restringido para los administradores de la web.';
echo '<br>';
echo '<br>';
echo 'Por favor introduzca su nombre de usuario y contraseña.';
echo '<br>';
echo '<br>';
echo '<center>';
echo '<form method="post" action="administracion.php">';
echo '<table>';
echo '<tr>';
echo '<td align="right">';
echo '<u><b>Nombre de usuario :</b></u>';
echo '</td>';
echo '<td>';
echo '<input name="user_name" type="text">';
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td align="right">';
echo '<u><b>Contraseña :</b></u>';
echo '</td>';
echo '<td>';
echo '<input name="password" type="password">';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br>';
echo '<br>';
echo '<input type="submit" Value="Enviar">';
echo '</form>';
echo '</center>';
echo '</font>';
}
?>
No se cual puede ser el error, xq a la base de datos creo que se conecta bien porque el query no da error. Lo que creo es que _SESSION no funciona bien porque me debería mostrar lo de que me he autentificado.
Alguien me podría indicar como solucionarlo?