Imposible Iniciar sesión en login php

Iniciado por camera, 25 Marzo 2019, 00:48 AM

0 Miembros y 1 Visitante están viendo este tema.

camera

Hola les comento que no he podido iniciar sesión en un sistema que recién subí a internet, no se si sea problema del servidor, ya que cuando estaba en local funciona muy bien puedo iniciar sesión sin problema, y a pesar que ingreso bien los datos, no me permite iniciar sesión, ya probé con diferentes versiones de php, la base de datos esta bien configurado no se aque se deba ese problema de no poder loguearse, les dejo parte del código del index y parte del código del otro modulo que redirige cuando se inicia sesión.. les dejo el link del sistema http://ralj.edu.mx/tutorias/ usuario: admin pass: 147258

Código (php) [Seleccionar]

<?php

    
require("conexion/conexion.php");

    
// Inicio de la sesión para su identificación

    
session_start();

    if(isset(
$_SESSION['id_usuario'])){

        
//en caso de que se detecte un inicio de sesión se redireccionará al menú del sistema

        
header("location: extraescolares/home.php");

    }

 

    
//modulo de inicio de sesión

    //en caso de que no se haya enviado nada con el metodo POST, no se realizará esta parte del código.

    
if(!empty($_POST)){

        
//se guardan los datos ingresados por el usuario en variables para su manipulación

        
$usuario=mysqli_real_escape_string($conexion,$_POST['usuario']);

        
$password=mysqli_real_escape_string($conexion,$_POST['password']);

        
//$error='';

        //la contraseña se convierte en formato codificado sha1

        
$sha1_pass=sha1($password);

        
// se realiza la consulta a la BD con los datos ingresados

        
$sql "SELECT IdUsuario, IdTipo FROM Usuario WHERE Usuario = '$usuario' AND password='$sha1_pass'";

        
//se obtienen los resultados de la consulta y cada uno de los campos

        
$result $conexion->query($sql);

        
$rows=$result->num_rows;

        
// si los campos no estan vacios...

        
if($rows >0){

 

            
//se guardan los datos de usuario en la sesión actual y se redirecciona al menú del sistema

            
$row $result->fetch_assoc();

            
$_SESSION['id_usuario'] = $row['IdUsuario'];

            
$_SESSION['tipo_usuario'] = $row['IdTipo'];

 

            
header ("location: extraescolares/home.php");

        }else{

            
//$error = "El nombre o contrase&ntilde;a son incorrectos";

            //si los datos corroborados en la BD no existen, se redireccionará a la página principal sin acceso

            
echo"<script>alert('El nombre de usuario o contraseña son incorrectos'); window.location.href=\"index.php\"</script>";

        }

    }

 

?>




este es el otro código de la pagina una vez que debería de haber iniciado sesión

<?php

    
//llamada a la conexion con la BD y la sesión

    
require'../conexion/conexion.php';

    require
'../operaciones/fecha.php';//Llamada a la funcion fecha

    
session_start();

 

    
// si no reconoce el inicio de sesion redirecciona a la pagina principal index.php

    
if(!isset($_SESSION["id_usuario"])){

        
header("location: ../index.php");

    }
//si reconoce la sesion continua con la pagina 

 

    //guarda los datos del usuario que inició sesión

    
$idusuario mysqli_real_escape_string($conexion,$_SESSION['id_usuario']);

    
$tipodeusuario=mysqli_real_escape_string($conexion,$_SESSION['tipo_usuario']);

 

    
//TIempo de sesiòn del usuario

    //Variable que devuelve la hora actual

    
$ahora time();

 

    
//realiza una consulta a la base de datos para devolver el tipo de usuario que ha iniciado sesión

    
$sql "SELECT * FROM usuario AS u WHERE u.IdUsuario='$idusuario'";

    
$result=$conexion->query($sql);

    
$row=$result->fetch_assoc();

    
$user=utf8_decode(utf8_encode($row['Nombres'])).' '.utf8_decode(utf8_encode($row['ApellidoP']));

 

    
//Consulta a la BD para arrojar los datos de los usuarios del sistema

    
$consulta="SELECT u.Nombres, u.ApellidoP, u.ApellidoM, u.Usuario, u.Password, t.Tipo FROM usuario AS u INNER JOIN tipousuario AS t ON t.IdTipo=u.IdTipo";

    
$resulta=$conexion->query($consulta);

    
$contador=0;

 

?>


srWhiteSkull

Comprueba que la base de datos está bien engancha y pon un alert() con una consulta de la tabla de usuario al inicio de la página (para depurar, un select * from Usuario;). Y luego comprueba en el alert que las constraseñas están hasheadas.

PD No te olvides del punto y coma al final de la sentencia SQL.

camera

Hola, gracias por responder te puedo pasar la cuenta ftp del sistema para que lo chekes,


animanegra

Si te funcionaba en uno si y en otro no es probable que algun error, o warning este sacando datos antes del envío de la cabecera. Con lo que la sesion no se pueda enviar.

Echa un vistazo igual al codigo fuente de la pagina cuando la cargas y verifica que antes del session_start no estas sacando nada por pantalla, ni echos, ni warnings ni errores...

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.