Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/05/2015, 02:50
alfuco
 
Fecha de Ingreso: julio-2014
Mensajes: 53
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: La función login_check no funciona

Tengo un archivo "login.php":

Código:
<?php
        if (isset($_GET['error'])) {
            echo '<p class="error">Error Logging In</p>';
        }
        ?> 
        <form action="includes/process_login.php" method="post" name="login_form">                      
            Nombre de usuario: <input type="text" name="username" /><br><br>
            Contraseña:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="password" 
                             name="password" 
                             id="password"/><br><br>
            <input type="button" 
                   value="Iniciar sesión" 
                   onclick="formhash(this.form, this.form.password);" id="login-button"/> <br><br>
        </form>
        <p> Si ha terminado, por favor<a href="includes/logout.php"> cierra la sesión.</a></p><br>
        <p> <?php echo $logged ?> está conectado</p>

    </section>
</section>
y después un "process_login donde hay la funcion sec_session_start():

Código:
<?php
include_once 'db_connect.php';
include_once 'functions.php';
 
sec_session_start(); // Forma personalizada segura de iniciar la sessión PHP.
 
if (isset($_POST['username'], $_POST['p'])) {
    $username = $_POST['username'];
    $password = $_POST['p']; // La contraseña con hash
 
    if (login($username, $password, $mysqli) == true) {
        // Inicio de sessión exitosa
        header('Location: ../protected_page.php');
    } else {
        // Inicio de sesión errónea
        header('Location: ../login.php?error=1');
    }
} else {
    // Las variables POST correctas no se han enviado a esta página.
    echo 'Solicitud no válida';
}
Y la funcion sec_session_start:

Código:
function sec_session_start() {
    $session_name = 'sec_session_id';   // Configura un nombre de sesión personalizado.
    $httponly = true;
    if (ini_set('session.use_only_cookies', 1) === FALSE) {
        header("Location: ../error.php?err=Could not initiate a safe session (ini_set)");
        exit();
    }
    // Obtiene los paraáetros de los cookies actuales.
    $cookieParams = session_get_cookie_params();
    session_set_cookie_params($cookieParams["lifetime"],
        $cookieParams["path"], 
        $cookieParams["domain"], 
        $httponly);
    // Configura el nombre de sesión al configurado arriba.
    session_name($session_name);
    session_start();            // Inicia la sesión PHP.
    session_regenerate_id();    // Regenera la sesión, borra la previa. 
}

Última edición por alfuco; 11/05/2015 a las 01:14 Razón: I'm fucking Zeeeez braah