Buenas!
Tengo un problemilla con unos scripts para verificar un user y un pwd.
--El problema está cuando meto el user y el pwd correcto en el script index.php, el script control.php no inicia la sesión, y por lo tanto no abre el script aplicacion.php. No se dnd está el error. Tengo track_vars activado y register_globals desactivado.
Muchas gracias!
Saludos!
index.php:
<?
echo "<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')
{
echo "bgcolor=red><span style='color:ffffff'><b>Datos incorrectos</b></span>";
}
else
{
echo "bgcolor='#cccccc'>Introduce tu clave de acceso";
}
echo "</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>
<br>
<br>
Datos correctos:
<br>
<br>
User: miguel
<br>
Passwd: qwerty";
?>
control.php:
<?
//veo si el usuario y contraseña es váildo
if ($_POST["usuario"]=="miguel" && $_POST["contrasena"]="qwerty")
{
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: aplicacion.php");
}
else
{
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
?>
aplicacion.php:
<?
include ("seguridad.php");
echo "<h1>Si estás aquí es que te has autentificado</h1>
<br>
----
<br>
Aplicación segura
<br>
----
<br>
<br>
<a href='salir.php'>Salir</a>";
?>
seguridad.php:
<?
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI")
{
//si no existe, envio a la página de autentificacion
header("Location: index.php");
//ademas salgo de este script
exit();
}
?>