Crear un Inicio de Sesión de Usuario Sencillo

Este pequeño tutorial muestra cómo realizar un inicio de sesión de usuario de forma sencilla para que isrva como base, con un formulario de acceso y una consulta de bases de datos. Para mas información acerca de como crear conexiones de base de datos visita Conexión a Base de Datos MySQL y PostgreSQL

Creando el Archivo login_page.php

Este archivo hace una llamada al archivo verify.php que se crea más abajo.

<form action="verify.php" method="post">
    User Name:<br>
    <input type="text" name="username"><br><br>
    Password:<br>
    <input type="password" name="password"><br><br>
    <input type="submit" name="submit" value="Login">
</form>

Creando el Archivo verify.php

<?php
if(isset($_POST['submit'])){
    $dbHost = "localhost"; // servidor
    $dbUser = "username"; // usuario de base de datos
    $dbPass = "password"; // pass de base de datos de usuario
    $dbDatabase = "db_name"; // nombre de la base de datos
    
    $db = mysql_connect($dbHost,$dbUser,$dbPass)or die("Error connecting to database.");
    // contectar a la base de datos
    mysql_select_db($dbDatabase, $db)or die("Couldn't select the database.");
    // seleccionar base de datos
    
    $usr = mysql_real_escape_string($_POST['username']);
    $pas = hash('sha256', mysql_real_escape_string($_POST['password']));
    $sql = mysql_query(
        "SELECT * FROM users_table 
        WHERE username='$usr' AND
        password='$pas'
        LIMIT 1"
    );
    
    if(mysql_num_rows($sql) == 1){
        $row = mysql_fetch_array($sql);
        session_start();
        $_SESSION['username'] = $row['username'];
        $_SESSION['fname'] = $row['first_name'];
        $_SESSION['lname'] = $row['last_name'];
        $_SESSION['logged'] = TRUE;
        header("Location: users_page.php");
        exit;
    } else {
        header("Location: login_page.php");
        exit;
    }
} else {
    header("Location: index.php");    
    exit;
}
?>

Creando el Archivo users_page.php

<?php
session_start();
if(!$_SESSION['logged']){
    header("Location: login_page.php");
    exit;
}
echo 'Welcome, '.$_SESSION['username'];
?>

Más información acerca de la funcion header.

Recomendado
  • Hola Anthuan

    Estoy echando un vistazo al codigo que expones ya que necesito algo como esto, pero al momento de revisarlo me arroja este siguiente error:

    Warning: Cannot modify header information – headers already sent by

    Te comento que el codigo lo estoy agregando en la misma pagina donde esta el formulario, para que lo procese en esta misma.

    Espero me puedas ayudar, de antemano muchas gracias 🙂