autenticación
Publicado por carla (5 intervenciones) el 01/07/2010 16:42:27
Estoy intentando hacer la autenticacion de usuarios. Tengo una pagina a la que quiero acceder siendo necesaria la autentificacion. El código es el siguiente:
<?include ("seguridad.php");?>
<html>
<head>
<title>Aplicación segura</title>
</head>
<body>
<h1>Ahora estás en una aplicación segura</h1>
<br>
<a href="salir.php">Haz click aquí para salir</a>
</body>
</html>
Al abrir aplicacion. php, me redirecciona a la página de autenticacion pero tanto si usuario y contraseña coinciden como si no, no vuelve a la página de aplicacion.php en caso de coincidir o index.php en caso de no coincidir.
El código de index. php que es el formulario donde se introducen los datos del usuario y contraseña:
<html>
<head>
<title>Autentificación </title>
</head>
<body>
<h1>Autentificación </h1>
<form action="control.php" method="POST">
<table align="center" width="225" 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>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><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>
<a href="salir.php">Salir</a>
</body>
</html>
control.php: código que comprueba si los datos son correctos y debe redireccionar de nuevo a la aplicación si los datos introducidos estan en base de datos o vuelve a la página de autenticación en caso de no coincidir los datos.
<?
session_start();
include "conexion.php";
ini_set("session.use_trans_sid","0");
ini_set("session.use_only_cookies","1");
$usuario= $_POST['usuario'];
$contrasenya = md5 ( $_POST['contrasena'] );
$ssql = "SELECT * FROM usuarios WHERE usuario='$usuario' and contrasenya='$contrasenya'";
$rs = mysql_query($ssql,$enlace);
if (mysql_num_rows($rs)!=0){
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: aplicacion.php");
}else {
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
A ver si me podeis echar una mano.
Muchas gracias.
<?include ("seguridad.php");?>
<html>
<head>
<title>Aplicación segura</title>
</head>
<body>
<h1>Ahora estás en una aplicación segura</h1>
<br>
<a href="salir.php">Haz click aquí para salir</a>
</body>
</html>
Al abrir aplicacion. php, me redirecciona a la página de autenticacion pero tanto si usuario y contraseña coinciden como si no, no vuelve a la página de aplicacion.php en caso de coincidir o index.php en caso de no coincidir.
El código de index. php que es el formulario donde se introducen los datos del usuario y contraseña:
<html>
<head>
<title>Autentificación </title>
</head>
<body>
<h1>Autentificación </h1>
<form action="control.php" method="POST">
<table align="center" width="225" 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>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><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>
<a href="salir.php">Salir</a>
</body>
</html>
control.php: código que comprueba si los datos son correctos y debe redireccionar de nuevo a la aplicación si los datos introducidos estan en base de datos o vuelve a la página de autenticación en caso de no coincidir los datos.
<?
session_start();
include "conexion.php";
ini_set("session.use_trans_sid","0");
ini_set("session.use_only_cookies","1");
$usuario= $_POST['usuario'];
$contrasenya = md5 ( $_POST['contrasena'] );
$ssql = "SELECT * FROM usuarios WHERE usuario='$usuario' and contrasenya='$contrasenya'";
$rs = mysql_query($ssql,$enlace);
if (mysql_num_rows($rs)!=0){
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: aplicacion.php");
}else {
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
A ver si me podeis echar una mano.
Muchas gracias.
Valora esta pregunta


0