Hola a todos. Tengo un problema con un sistema de usuarios, y es que al acceder me dice que no se ha podido abrir la página porque se ha producido demasiados redireccionamientos. El caso es que reviso el código y parece estar bien.
Pueden ayudarme a detectar el problema?
Tengo un index, donde si no está logeado, te redirecciona a "login". Ese redireccionamiento lo tengo puesto en la cabecera para que funcione en toda la página. Este es el código:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//ES" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Five</title>
<link href="/style.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<meta name="viewport" content="width=1150px" />
<script src='models/funcs.js' type='text/javascript'></script>
</head>
<body>
<?php
include('/login/config.php');
if($_SESSION["logeado"] != "SI"){
header ("Location: /login/");
exit;
}
?>
<div class="supbar">
<img src="images/logo.png" width="100px" height="20px" style="margin: 10px 0 0 10px"></img>
</div>
El código de login es:
Código HTML:
<?php
include('config.php');
if(isset($_SESSION["logeado"]) == "SI"){
header ("Location: /");
}
?> <form name="form1" method="post" action="entrar.php"><br>
<span style="color:#000; font-size:12px;">Email</span><br>
<input name="email" type="email" id="email"><br><br>
<span style="color:#000; font-size:12px;">Contraseña</span><br>
<input name="password" type="password" id="password"><br><br>
<input type="checkbox" name="recordar" id="recordar" value="1">
<span style="color:#000; font-size:12px;">Recordar</span><br />
<br>
<span style="font-size: 12px; color: #000"><a href="recuperar.php">Recuperar contraseña</a> | <a href="registrarse.php">Registrarse</a><br />
</span><br />
<input type="submit" name="Submit" value="Entrar">
<br />
</form>
El código de acceso al introducir los datos es:
Código PHP:
<?php
// Configura los datos de tu cuenta
include('config.php');
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
if (isset($_POST['email'])) {
//Comprobacion del envio del email y password
$email=htmlentities($_POST['email']);
$password=md5($_POST['password']);
if ($password==NULL) {
echo "No a introducido una contrasenia";
exit();
}else{
$query = mysql_query("SELECT email,password FROM usuarios WHERE email = '$email'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "No a introducido una contrasenia correcta";
exit();
}else{
$query = mysql_query("SELECT email,password FROM usuarios WHERE email = '$email'") or die(mysql_error());
$row = mysql_fetch_array($query);
$email2 = $row['email'];
$_SESSION["s_email"] = $row['email'];
$_SESSION["logeado"] = "SI";
/* Si aceptamos recordar los datos */
if($_POST['recordar']=="1"){
if (isset($HTTP_X_FORWARDED_FOR) == "")
{
$ip = getenv('REMOTE_ADDR');
}
else
{
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
$id_extreme = md5(uniqid(rand(), true));
$id_extreme2 = $email2."%".$id_extreme."%".$ip;
setCookie('id_extreme',$id_extreme2,time() +3600*24*365,'/');
$query = mysql_query("UPDATE usuarios SET id_extreme='".$id_extreme."' WHERE email='".$email2."'") or die(mysql_error());
}
header ("Location: /index.php");
}
}
}
?>
Pueden ayudarme? Muchas gracias