Web con autentificación
Estoy haciendo una página web con php y mysql a la que se accede por autentificación. Sin embargo, al acceder no me valida la contraseña y por más que miro el código no encuentro el error.
El código es el siguiente:
<html>
<body>
<form action ="control.php" method="POST">
<table align="center" width="300" cellspacing="2" cellpadding="2" border="0">
<tr> <td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si")
{?> bgcolor=red><span
style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>INTRODUZCA SU CONTRASEÑA<?}?>
</td></tr>
<tr><td align="right">
Usuario:<input type="Text" name="usuario" size="8" maxlength="50">
</td>
<td>
Password:<input type="password" name="contrasena" size="8" maxlength="50">
</td> </tr>
<tr><td colspan="2" align="center">
<input type="Submit" value="ENTRAR">
</td></tr>
</table>
</form>
</body>
</html>
Donde control.php es el archivo que se encarga de autentificar la contraseña. Se trata de un bucle if else en el que si la contraseña es válida ejecuta la primera parte del código y la segunda si no lo es. Pero a mí siempre se me ejecuta la segunda parte, meta la contraseña que meta. El código es:
<?
include("config.php");
$sql= "SELECT * FROM usuario WHERE nombre_usuario=´$usuario´and clave_usuario=´$contrasena´";
$consulta = mysql_query($sql,$con);
if(mysql_num_rows($consulta)!=0){
session_start();
session_register("autentificado");
$autentificado="si";
header("Location:pral.html");
}else{
header("Location:error.html?errorusuario=si");
}
mysql_free_result($consulta);
mysql_close($con);
?>
Siendo el archivo config.php el que conecta con la base de datos. El código es:
<?php
$bd_host="localhost";
$bd_usuario="root";
$bd_password="";
$bd_base="test";
$con=mysql_connect($bd_host,$bd_usuario,$bd_password);
mysql_select_db($bd_base,$con);
?>
Lo que yo dudo es si el problema me viene del php o del mysql porque me bajé un paquete que contenía apache/php/mysql ya configurado (appserv 4) pero al abrir phpmyadmin me aparecen dos mensajes:
La directiva $cfg[`PmaAbsoluteUri`]debe constar en elfichero de configuración
La opción de trabajar con tablas vinculadas está desactivada.
Espero que puedas ayudarme porque yo ya no se qué es lo que tengo que hacer.
El código es el siguiente:
<html>
<body>
<form action ="control.php" method="POST">
<table align="center" width="300" cellspacing="2" cellpadding="2" border="0">
<tr> <td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si")
{?> bgcolor=red><span
style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>INTRODUZCA SU CONTRASEÑA<?}?>
</td></tr>
<tr><td align="right">
Usuario:<input type="Text" name="usuario" size="8" maxlength="50">
</td>
<td>
Password:<input type="password" name="contrasena" size="8" maxlength="50">
</td> </tr>
<tr><td colspan="2" align="center">
<input type="Submit" value="ENTRAR">
</td></tr>
</table>
</form>
</body>
</html>
Donde control.php es el archivo que se encarga de autentificar la contraseña. Se trata de un bucle if else en el que si la contraseña es válida ejecuta la primera parte del código y la segunda si no lo es. Pero a mí siempre se me ejecuta la segunda parte, meta la contraseña que meta. El código es:
<?
include("config.php");
$sql= "SELECT * FROM usuario WHERE nombre_usuario=´$usuario´and clave_usuario=´$contrasena´";
$consulta = mysql_query($sql,$con);
if(mysql_num_rows($consulta)!=0){
session_start();
session_register("autentificado");
$autentificado="si";
header("Location:pral.html");
}else{
header("Location:error.html?errorusuario=si");
}
mysql_free_result($consulta);
mysql_close($con);
?>
Siendo el archivo config.php el que conecta con la base de datos. El código es:
<?php
$bd_host="localhost";
$bd_usuario="root";
$bd_password="";
$bd_base="test";
$con=mysql_connect($bd_host,$bd_usuario,$bd_password);
mysql_select_db($bd_base,$con);
?>
Lo que yo dudo es si el problema me viene del php o del mysql porque me bajé un paquete que contenía apache/php/mysql ya configurado (appserv 4) pero al abrir phpmyadmin me aparecen dos mensajes:
La directiva $cfg[`PmaAbsoluteUri`]debe constar en elfichero de configuración
La opción de trabajar con tablas vinculadas está desactivada.
Espero que puedas ayudarme porque yo ya no se qué es lo que tengo que hacer.
1 Respuesta
Respuesta de bubebu
1