Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2012, 18:26
kheijum
 
Fecha de Ingreso: agosto-2012
Mensajes: 2
Antigüedad: 12 años, 3 meses
Puntos: 0
error en location

Hola , muy buenas , he estado practicando con un tutorial para loggeo de una cuenta ya registrada y el problema es que no se ejecuta una sentencia de header('location : index.php') he probado de todo durante ya dos días y nada ,hice un echo antes del header , otro justo despues , los dos se ejecutan pero el problema sigue , y luego hay otro problema y es que al volver manualmente a la pagina de inicio para ver si me he loggeado(si me loggeo deberia desaparecer el enlace de login y aparece otro enlace de salir) pero nada ... y eso que los echos de $_SESSION no dan error y se almacenan correctamente....
Pongo todo el código pero lo único en lo que tengo problema es en el último else
//la contrasena está bien , lo demas me funciona bien...
Código PHP:
<?php
include("funciones.php");
if(!isset(
$_POST['email']) || !isset($_POST['contrasena'])){
    
//compruebo si recibo los datos
    
header("location: loggeo.php?error=1");
    }elseif(
$_POST['email'] == "" || $_POST['contrasena'] == ""){
        
//o si están vacíos
            
header('location: loggeo.php?error=2');
            }else{
                
// en el resto de los casos me conecto a la base de datos y selecciono dichos elementos
                
$sql "select * from usuario where email='".$_POST['email']."'";
                
$conexion conectar_mysql();
                if(!
$consulta mysql_query($sql)){
                    
//si no conecto con al base de datos , doy error 3 interno
                    
header('location: loggeo.php?error=3');
                    }else{
                        
//si conecto con la base de datos , verifico que hay sólo uno seleccioando , sino , doy error.
                        
if(mysql_num_rows($consulta) != 1){
                            
header('location : loggeo.php?error=4');
                            }else{
                                    
//tengo un usuario con ese email
                                    
$usuariomysql_fetch_array($consulta);
                                    if(
$usuario['contrasena'] != md5($_POST['contrasena'])){
                                        echo 
$usuario['contrasena']."echo ".$_POST['contrasena']."echo".$_POST['email'];
                                        }else{
                                            
//la contraseña está bien
                                            
echo "bieeeeeeeeeeeeeeeeeeeeeeeen!";
                                            
session_start()or die('esto va mal en sesion');
                                            
$_SESSION['email_usuario'] = $_POST['email'];
                                            
$_SESSION['nombre_usuario'] = $usuario['nombre'];
                                            
$_SESSION['apellidos_usuario'] = $usuario['apellidos'];
                                            echo 
"hasta aqui bien";
                                            echo 
$_SESSION['email_usuario']."<br/>";
                                            echo 
$_SESSION['nombre_usuario']."<br/>";
                                            echo 
$_SESSION['apellidos_usuario'];
                                            echo 
"antes de location<br/>";
                                            
header('location : index.php');
                                            echo 
"despues de location";                
                                            }
                                }
                            }
                }

?>