Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2013, 10:03
serg_prog
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 8 años, 8 meses
Puntos: 1
Pregunta Qué está mal en este sistema de usuarios?

Hola a todos. He conseguido un sistema de usuarios gracias a marcofbb (un usuario de forosdelweb). He creado una base de datos, y he cambiado una serie de cosas para que se acceda mediante el email, pero no funciona, ni cambiando eso ni sin cambiarlo.

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_extreme2time()+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&ntilde;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&ntilde;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.