Cómo Hacer un Login de Usuarios con el Framework PHP Codeigniter

Ver Demo del Formulario para Login en Framework PHP CodeIgniter en funcionamiento !
El código fuente está conformado por los siguientes 4 archivos,

  1. iniciamos el archivo usuarios_model.php y guardarlo en /application/models/
  2. creamos php.php y guardarlo en /application/controllers/
  3. crear login.php y guardarlo en /application/views/
  4. crear la tabla mysql con algunos usuarios de prueba

Demo Formlario de Login desarrollado con el Framework PHP CodeIgniter
Para desarrollar este script de login, nos ayudamos con los conocimientos aprendidos en el:
E-book de Introducción al Framework PHP CodeIgniter

¿Qué es un login?

Un login es un formulario donde permitimos al visitante ingresar su usuario y contraseña para identificarse en nuestra página.

Esta capacidad es sumamente importante y la necesitaremos en cualquier proyecto web que iniciemos. Puesto que seguramente existe cierta información y funciones que nos interesa ofrecer únicamente a usuarios registrados y no al resto del público.

Funcionalidades de nuestro script de login en php

  • Permitir acceso a determinada información y utilidades únicamente a determinados usuarios (aquellos que se encuentren registrados en una tabla de base de datos Mysql)
  • Informar mensaje de error cuando falta rellenar algún campo de la pantalla de acceso
  • Mensaje de error cuando los datos ingresados no coinciden con ningún usuario registrado en la base de datos.
  • Recordar los datos previamente ingresados por el usuario cuando éste no supera el login y tenemos que volver a presentarle la pantalla de acceso.

Explicación técnica

Para desarrollar éste script de login en php, necesitamos tener instalado el Framework PHP CodeIgniter. Si no conoces mucho al respecto, te invito al siguiente artículo donde podrás descubrir 5 importantes beneficios de programar utilizando el framework CodeIgniter.

Como pueden observar, los códigos del script se encuentran con comentarios. Cada sentencia importante tiene su explicación de que función cumple. Lo que intentaremos ahora es hacer una explicación general de cómo funciona el script; como si fuera un cuento… 🙂

Comencemos con la pantalla del formulario de acceso “login.php”, donde el usuario podrá ingresar sus datos (usuario y password). Recordemos que todo lo que sea interacción con el usuario (entrada y salida de datos) lo trabajamos con las vistas (capa presentación).

Lo importante aquí es la sentencia

<?php echo form_open('php/login'); ?>

La sentencia form_open es propia del framework php CodeIgniter. Sirve para crear nuestro formulario html y especificar que sus datos deben ser enviados y procesados por el método “login” del controlador “php”.

En las primeras clases del Curso de PHP y Mysql en VIVO, provisto por el ingeniero Diego Angelini de BlogdePHP.com, revisamos detenidamente cómo se configuran los formularios en HTML y cómo se procesan sus datos luego en script PHP. Ideal para programadores que recién están iniciando con PHP.

Otro punto importante de la vista es cuando creamos los campos (serían las cajas de texto donde el usuario podrá ingresar los datos):

<input type="text" name="maillogin" value="<?= set_value('maillogin'); ?>" size="25" />

Aquí estamos creando un campo de texto llamado “maillogin”. La sentencia “set_value” (perteneciente al framework CodeIgniter) nos sirve para recordar los datos rellenados por el usuario en caso que su acceso no sea válido y tengamos que volver a presentarle la pantalla de acceso. Es un valor agregado para dar mejor usabilidad a los usuarios.

Otros tipos de campos muy utilizados en los formularios html, y que vas a necesitar en cualquier proyecto web, son las casillas de verificación checkbox y las listas desplegables SELECT.

Luego pasemos al controlador “php.php”. Esta es la parte más compleja del script, por tal motivo intenté poner comentarios a cada una de las y facilitar así su comprensión. Te recomiendo leer los comentarios directo en el código.

Controlador php.php

El controlador (php.php) hace lo que hace es tomar los datos provenientes del formulario, hacer las validaciones, consultar al modelo (usuarios_model.php) si el usuario existe en la base de datos y su password es válida. Por último, decide si el usuario corresponde que pueda acceder, o no, y comunica su decisión a la vista (login.php) para que el usuario vea la respuesta en su pantalla.

Me interesa remarcar aquí algunas sentencias y declaraciones puntuales que son muy básicas de php y te servirán en todo sistema web que desarrolles.

$_POST['maillogin'];

(sirve para tomar los valores provenientes del formulario, en este caso se toma el valor del campo “maillogin”)

$this->load->model('usuarios_model');

(sirve para cargar el modelo usuarios_model y poder utilizar sus recursos)

$this->usuarios_model->ValidarUsuario($_POST['maillogin'],$_POST['passwordlogin']);

(ejecuta el método “ValidarUsuario” de nuestro modelo “usuarios_model” y le pasa los dos parámetros). Los modelos, siguiendo los fundamentos del Modelo MCV, sirven para trabajar con las base de datos Mysql.

Durante el Curso de PHP y Mysql en VIVO, provisto por el ingeniero Diego Angelini de BlogdePHP.com, aprendemos desde cero como trabajar con base de datos Mysql. Creación, conexión, creación de tabla mysql, lectura y escritura de datos, etc. Siempre es más fácil aprender con alguién que nos explique 🙂

En el próximo artículo continuaremos mejorando este script de login. Por ejemplo, estudiaremos como hacer para que el usuario pueda acceder a muchas pantallas de información restringida sin tener que poner siempre sus datos de login (únicamente ingresarlos la primer vez).

Espero que lo disfruten, les sea útil para sus proyectos y principalmente los ayude a continuar aprendiendo 🙂

Por favor, envíen sus consultas y dudas a través de los comentarios.
Saludos!

You may also like...

Deja un comentario

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