
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)
FUNCIONES.PHP
CERRAR.PHP
PANEL.PHP
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.!
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


0