Login PHP y MySql con PDO

Login PHP y MySql con PDO.

El login o inicio de sesión es el proceso mediante el cual un usuario ingresa sus credenciales para acceder a una plataforma protegida. En este artículo, exploraremos cómo implementar un sistema de login utilizando PHP y MySQL, y proporcionaremos un código de ejemplo para ilustrar el proceso.

Antes de comenzar, es importante tener los siguientes requisitos para poder implementar el login

UN SERVIDOR WEB LOCAL CN SOPORTE EN PHP EJ. XAMPP.
BASE DE DATOS (SI INSTALA XAMPP YA TE INSTALARÁ LA DB).
EDITOR DE CÓDIGO EJ. VISUAL STUDIO CODE.

Vamos a crear un sistema de logueo en PHP Y MySql, con la extensión de PHP PDO.

  • Crearemos la tabla users
  • Creamos un archivo de conexion a la base de datos llamado conexion.php
  • Creamos otro archivo llamado login.view.php y otro login.php, para separar la vista del servidor
  • También creamos un archivo llamado btn.php, es para que el boton se esconda y aparezca el nombre del usuario
  • Luego creamos una página llamada home.php, que va a mostra una vez el logueo sa correcto.

Tabla Users

CREATE TABLE `users` (
`uid` int NOT NULL PRIMARY KEY AUTO_INCREMENT ,
`username` varchar(25) NOT NULL UNIQUE,
`password` varchar(200) NOT NULL ,
`email` varchar(100) NOT NULL,
`name` varchar(100) NOT NULL,
`profile_pic` varchar(200) NOT NULL,
);


conexion.php

<?php 

try {
 	$conexion = new PDO('mysql:host=localhost;dbname=prueba-login', 'root' , '');

 } catch (Exception $e) {
 	echo "ERROR A LA CONECCION DE LA BASE DE DATOS";
 } 
?>


login.view.php

<?php 

    <div class="formu">
        <form name="form" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
           <center> <h1 class="text-light"><i>Login de Acceso</i></h1></center>
            <hr class="thin"/>
            <br />
            <div class="input-control text full-size" data-role="input">
                <label for="user_login">Usuario:</label>
                <input type="text" name="usuario" id="user_login">
                <button class="button helper-button clear"><i class="fa fa-user-plus" aria-hidden="true"></i></span></button>
            </div>
            <br />
            <br />
            <div class="input-control password full-size" data-role="input">
                <label for="user_password">Usuario password:</label>
                <input type="password" name="password" id="user_password">
                <button class="button helper-button reveal"><i class="fa fa-unlock" aria-hidden="true"></i></span></button>
            </div>
            <br />
            <br />
            
            <br>
               
          <?php 
          
          if(!isset($_SESSION['usuario'])){

                 include 'btn_enviar.php'; } ?>
           
             <?php if(!empty($enviar)): ?>
                 <div class="enviar">
                     <?php echo $enviar;  ?>
                 </div>
              <?php echo $enviado; ?> 
            <?php endif; ?>
            <?php if(!empty($error)): ?>
                <div class="panel alert">
                 <div class="heading ">
                     <?php echo $error ?>
                 </div>
    
               </div>

            <?php endif; ?>
           </div>
        </form>
?>

login.php

<?php 

 $error='';
 $enviar='';
 $enviado ='';


 if  ($_SERVER['REQUEST_METHOD'] == 'POST') {
   $usuario = $_POST['usuario'];
   $password = $_POST['password'];


   $sql = $conexion->prepare('SELECT * FROM users WHERE username= :usernameAND pass = :password');
   $sql->execute( array(':username' => $usuario ,
   ':password'=> $password ));

   $resultado = $sql->fetch();
   if ($resultado !== false) {
         $_SESSION['usuario'] = $usuario;
		$enviar .=  '<center> Bienvenido <br>'. ucwords($resultado['usuario']). '</center> <br>';
		$enviar .= '<meta http-equiv="refresh" content="2;url=index.php">';
		$enviado .= '<center><i class="fa fa-cog fa-spin fa-3x fa-fw"></i><br>
                  <span class="">Loading...</span></center><br>';
   
   } else {
   $error .= '<li> Los Datos ingresados son Incorrecto </li>';
   
}
 } 
?>


btn.php

  <div class="form-actions">
         
     <input type="submit" id="" class=" id button large-button info"  name=""               value="Aceptar e Ingresar..." >          
  </div>


Listo! Terminamos el login, ahora solo falta integrarlo con tu sistema así como las validaciones en caso de error.

Comparte

2 comentarios en “Login PHP y MySql con PDO”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Carrito de compra

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información sobe Cookies

ACEPTAR
Aviso de cookies

Get 30% off your first purchase

X
Scroll al inicio
×
Nuestros operadores!
×