Estoy realizando una pagina web con bbdd mysql donde en tengo los siguienets ficheros:
3 ficheros de marcos. dos top , el central.
index.html donde ajusto los frames.
conex.php --> Archivo donde estan los datos de la bbdd
menu.php --> 4 fichero del marco donde esta un menu que genero a mi deseo con datos de una bbdd.
enviar.php --> desde menu.php envio a enviar.php , segun que escojamos del menu saldran dichos datos.
search.php --> Tengo un buscador
login.php --> Formulario para acceso
ingreso.php --> El que hace todas las comprobaciones para acceder
ingreso2.php --> Y el ingreso2 segun si ha ido bien o no unas comprobaciones del ingreso.php muestra una pagina o otra.
Despues de haber peusto esto en situacion . Mi pregunta es como hago para que si yo entro en index.html diga que no estoy autorizado y me redirija al login.php ya que estoy tratando con sesiones pero no hay manera.
Os voy a pegar el codigo de los tres ultimos ficheros porque creo que es donde no estoy poniendo bien las cosas .
Tampoco se si en el resto de paginas que tengo he de poner algo.
login.php
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Login to access the secret files!</title> <link rel="stylesheet" type="text/css" href="css/default.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> <script type="text/javascript" src="js/main.js"></script> </head> <? session_start(); ?> <body> <div id="login"> <form method="post" action="ingreso.php"> <h2>Login <small>enter your credentials</small></h2> <p> <label for="name">Username: </label> <input type="text" name="usuario" /> </p> <p> <label for="pwd">Password: </label> <input type="password" name="clave" /> </p> <p> <input type="submit" id="submit" value="Login" name="submit" /> </p> </form> </div> </body> </html>
Código PHP:
<?
session_start();
include('conex.php');
$_SESSION["user"]=$_POST['usuario'];
$_SESSION["pass"]=$_POST['clave'];
$_SESSION["falla"]=0; ?>
<meta http-equiv="refresh" content="3; url=ingreso2.php" />
<html>
<head></head>
<body>
<? $username=$_POST['usuario']; $password=$_POST['clave'];
if(empty($username)) {
echo "No ha ingresado un nombre de usuario. <br>
Sera redirigido de vuelta.";
$_SESSION["falla"]=1;
}
else {
if(empty($password)) {
echo "No ha ingresado una clave. <br>
Sera redirigido de vuelta.";
$_SESSION["falla"]=1;
}
else {
$passwordenc = md5 ( $password );
$querypass = mysql_query("SELECT accesskeepass FROM passaccess WHERE accesskeepass = '$passwordenc'") or die(mysql_error());
$querypass1 = mysql_fetch_array($querypass);
$queryuser = mysql_query("SELECT user FROM user WHERE user = '$username'") or die(mysql_error());
$queryuser1 = mysql_fetch_array($queryuser);
if($queryuser1['user'] != $username){
$error=mysql_error();
print $error; $_SESSION["falla"]=1;
exit();
}
if(mysql_affected_rows()==0) {
echo "El usuario no fue encontrado. <br>
Sera redirigido de vuelta.";
$_SESSION["falla"]=1;
exit();
}
else {
$nombre=$queryuser1['user'];
if($username==$queryuser1['user']) {
if($passwordenc==$querypass1['accesskeepass']) {
echo "<b>Bienvenido $nombre</b>. <br>
Espere mientras es redirigido";
$_SESSION["nombre"]=$nombre;
} else {
echo "Hay un error en la clave. <br>
Espere mientras es redirigido";
$_SESSION["falla"]=1;
}
} else {
echo "Hay un error en el nombre de usuario. <br>
Espere mientras es redirigido";
$_SESSION["falla"]=1;
}
}
}
}
?>
</body>
</html>
Código PHP:
<? session_start();
/*
Iniciamos sesión dentro de esta página también mediante
la función session_start();
*/
if($_SESSION["falla"]==0) {
$_SESSION["autorizacion"]="si";
header("Location: index.html");
}
else {
unset($_SESSION["falla"]);
session_destroy();
header("Location: login.php");
}
?>
Gracias por sus respuestas.