Login y registro de usuarios para la sección web del Lector de códigos QR

Implementación de un sistema de autenticación en PHP, MySql con PDO

Publicado en Lector de Códigos QR 2018-03-25 14:50:24

Login y registro de usuarios para la sección web del Lector de códigos QR

Login de usuarios PHP MYSQL PDO

Php QR

Resumen: Implementación de un sistema de autenticación sencillo para gestionar la información de la sección web del proyecto Lector QR

Quiénes van a usar nuestra aplicación Lector QR son usuarios, pues bien dependiendo del tipo de usuario deben tener niveles de acceso, que puede ser para este caso:

  • Administrador: Acceso total a la plataforma.
  • Visitador : Quién hace las veces de operador.

Para lograr ello es necesario desarrollar un sistema de autenticación de usuarios:

En nuestras vistas que se encuentran en el directorio qr-apptiva/views/paginas/ crear el archivo login.php y agregarle el siguiente código HTML:

<div class="container">
    <div class="row">
    	<div class="col-md-4 col-md-offset-4">
    		<div class="panel panel-default">
			  	<div class="panel-heading">
			    	<h3 class="panel-title text-center"> SISTEMA LECTOR <strong>QR</strong> </h3>
			 	</div>
			  	<div class="panel-body">
			    	<form accept-charset="UTF-8" role="form" method="post" action="<?php echo urlsite ?>app/auth/login.php">
                    <fieldset>
			    	  	<div class="form-group">
			    		    <input class="form-control" placeholder="E-mail" name="txt_email" type="email" required>
			    		</div>
			    		<div class="form-group">
			    			<input class="form-control" placeholder="Password" name="txt_password" type="password" required>
			    		</div>			    		
			    		<input class="btn btn-success btn-block"  name="btn_entrar" id="btn_entrar" type="submit" value="ENTRAR">
			    	</fieldset>
			      	</form>
                    <?php	
					if(isset($_REQUEST['msg'])): echo $_REQUEST['msg']; endif;	
					?>
			    </div>
			</div>
		</div>
	</div>
</div>

Observamos que dibuja una caja con los campos de ingreso de datos como email y password, esta sección reacciona al presionar sobre el botón btn_entrar enviando información al servidor para ser validada, esto retorna un mensaje con el éxito de autenticación o no.

Entrada al sistema LOGIN

Ahora veamos el archivo de proceso y validación de usuarios el cual se debe crear en el directorio qr-apptiva/app/auth/ con el nombre de login.php su código PHP a continuación:

<?php
session_start();
require "../../config.php";
if (isset($_POST['btn_entrar'])):
	require "../clases/class.mysql.php";
	$user 		=	new Usuario();
	$email 		= 	addslashes(trim($_REQUEST["txt_email"]));
	$password 	= 	addslashes(trim($_REQUEST["txt_password"]));
	if(!empty($email) AND !empty($password)):
		$u=$user->login("administracion",$email,$password);
		if($u->rowCount()>0):
			while ($r=$u->fetchObject()):				
				switch ($r->tipo):
					case 'administrador':
						$_SESSION['administrador']=$r->nombre;						
						break;
					case 'visitador':
						$_SESSION['visitador']=$r->nombre;						
						break;					
					default:						
						break;
				endswitch;
				$msg="Bienvenido";
				$_SESSION['usuario_id']=$r->id;
			endwhile;
		else:
			$msg="Usuario ó password no coinciden";
		endif;		
	else:
		$msg="Llene los campos correctamente";
	endif;
	$user=null;
endif;
header("location: ".urlsite."?msg=".$msg);
exit();
?>

Esta sección verifica si los datos recibidos coinciden con algún registro de la tabla administración si es verdad, crea una sessión para permitir el acceso del usuario al sistema.

Salida del sistema LOGOUT

Esta sección destruye todas la sesiones referencias para la aplicación web debe estar alojada en el directorio qr-apptiva/app/auth/ con el nombre de logout.php su código PHP a continuación:

<?php
session_start();
session_unset();
require_once('../../config.php');
header("location:".urlsite);
exit;
?>

Luego nos redirige a la página principal de la aplicación.

Y en nuestra vista header.php que esta ubicado en la carpeta views/partials/header.php vemos  el enlace de cerrar sesión:

<?php if(isset($_SESSION['administrador'])): ?>
            <div class="collapse navbar-collapse navbar-ex1-collapse">                              
                <ul class="nav navbar-nav">                          
                    <li><a href="/usuarios">Usuarios</a></li>                
                </ul>
                <ul class="nav navbar-nav pull-right">
                    <li class="active"><a href="<?php echo urlsite ?>">INICIO</a></li>
                    <li><a href="app/auth/logout.php" >Salir</a></li>
                </ul>
            </div>
        <?php endif ?>    

 

Redacción:| Artículo leído: 795 veces | Publicación:


Compártelo con tus amigos