PHP - No puedo iniciar sesión

 
Vista:
sin imagen de perfil

No puedo iniciar sesión

Publicado por Marciano_79 (7 intervenciones) el 17/09/2016 04:46:00
Hola Srs de Desarrollo Web … tengo problemas con un ingreso a un panel de control, me gustaría saber que está mal en el código ya que le doy vueltas al asunto y no consigo ingresar.. a ver si alguien me echa una mano porfavor.. .

INDEX.PHP (donde tengo el formulario de inicio de sesion)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
sec_session_start();
 
	if(isset($_SESSION["username"])){
		header("Location: panel.php");
	}
 
	if(!empty($_POST))
	{
		$email = mysqli_real_escape_string($cnx,$_POST['email']);
		$password = mysqli_real_escape_string($cnx,$_POST['pass']);
		$error = '';
 
		$sha1_pass = sha1($password);
 
		$consulta = "SELECT NOMBRE FROM usuario_admin WHERE EMAIL = '$email' AND PASSWORD = '$sha1_pass'";
		$result=$cnx->query($consulta);
		$rows = $result->num_rows;
 
		if($rows > 0) {
			$row = $result->fetch_assoc();
			$_SESSION['username'] = $row['NOMBRE'];
			$_SESSION['pass'] = $row['PASSWORD'];
			$_SESSION['email'] = $row['EMAIL'];
 
			header("location: panel.php");
			} else {
			$error = "El nombre o contraseña son incorrectos";
		}
	}

FUNCIONES.PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function sec_session_start() {
    $session_admin_panel = 'username';
    $secure = "SECURE";
 
    // Detiene JavaScript al acceso de sesion
    $httponly = true;
 
    // fuerza la sesion al uso de cookies
    if (ini_set('session.use_only_cookies', 1) === FALSE) {
        header("Location: ../index.php");
        exit();
    }
 
    $cookieParams = session_get_cookie_params();
    session_set_cookie_params($cookieParams["lifetime"],
	$cookieParams["path"],
	$cookieParams["domain"],
	$secure,
	$httponly);
 
    session_name($session_admin_panel);
 
    session_start();            // inicia sesión 
    session_regenerate_id();    // regenera la sesión 
}
 
 // AQUÍ EL POSIBLE PROBLEMA.. SI ELIMINO ESTA PARTE DE LA FUNCION TODO FUNCIONA HE INGRESO DE FORMA CORRECTA
function login_check($cnx) {
 
    if (isset($_SESSION['email'], $_SESSION['pass']) == true) {
 
		header("Location: panel.php");
        exit();
		}else {
           header("Location: index.php");
        exit();
       }
}

CERRAR.PHP
1
2
3
4
5
6
$_SESSION = array();
	setcookie(session_name(),'', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
    session_destroy();
 
    header("Location: ../index.php");
	exit();

PANEL.PHP
1
2
3
4
5
6
7
<?php if (login_check($cnx) == true) : ?>
 <p>Bienvenido <?php echo htmlentities($_SESSION['username']); ?>!</p>
<?php else : ?>
            <p>
                <span class="error">No estas autorizado para ver esta página.</span> Favor inicia <a href="index.php">sesión</a>.
            </p>
        <?php endif; ?>

Si quito de la página funciones.php la parte que esta comentada login_check todo funciona bien pero al dejarlo para protejer el ingreso via URL este no me deja ingresas... favor si me pueden ayudar, cualquier consulta favor solo preguntar.. gracias de antemano.!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder