Parece que todo está bien, pero al darle clic en entrar, que se comprueba mediante un archivo llamado "entrar.php", se queda por ahí (por ese archivo) y no me muestra ningún contenido. Podríais ayudarme por si veis algo mal? no le encuentro solución :S
El código de "entrar.php" es:
Código 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 ($_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']){
if ($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()+7776000,'/');
$query = mysql_query("UPDATE usuarios SET id_extreme='".$id_extreme."' WHERE email='".$email2."'") or die(mysql_error());
}
header ("Location: inicio.php");
}
}
}
?>
Este "Config.php":
Código PHP:
<?php
$dbhost='localhost'; // Servidor
$dbusername='usuario'; // Nombre de usuario
$dbuserpass='usuario'; // Contraseña
$dbname='users'; // Nombre de la base de datos
session_start();
// Comprobamos si hay cookie, si está bien y le asignamos una sesión
// Esto quiere decir que si recordamos la contraseña nos auto loguee.
if(isset($_COOKIE['id_extreme']))
{
$cookie = htmlentities($_COOKIE['id_extreme']);
$cookie = explode("%",$cookie);
$user = $cookie[0];
$id = $cookie[1];
$ip = $cookie[2];
if ($HTTP_X_FORWARDED_FOR == "")
{
$ip2 = getenv(REMOTE_ADDR);
}
else
{
$ip2 = getenv(HTTP_X_FORWARDED_FOR);
}
if($ip == $ip2)
{
$link = mysql_connect($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname,$link) or die('No se puede seleccionar la base de datos');
$query = mysql_query("SELECT * FROM usuarios WHERE id_extreme='".$id."' and email='".$email."'") or die(mysql_error());
$row = mysql_fetch_array($query);
if(isset($row['username']))
{
$_SESSION["s_email"] = $row['email'];
$_SESSION["logeado"] = "SI";
}
mysql_close($link);
}
}
?>
Por último, "index.php", donde está el formulario:
Código HTML:
<?php include('config.php'); if($_SESSION["logeado"] == "SI"){ header ("Location: inicio.php"); } ?> <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"> <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>
Ojalá puedan ayudarme.
Muchas gracias por adelantado a todos vosotros y a "marcofbb" por proporcionarme este sistema.