Sistema de Usuarios (Tercera parte): Usando la clase
Siguiendo la clase anterior (dónde construimos la clase Centinela), hoy toca acabar el sistema, creando la interfaz web para que los usuarios puedan registrarse, loguearse, desloguearse y acceder (o no) a secciones privadas.
Antes de empezar, deberíamos tocar algo de la configuración: ya que la clase centinela la cargaremos en la gran mayoría de veces, le diremos que nos la cargue siempre para mayor comodidad. Por lo que iremos a config/autoload.php y pondremos algo así como:
/*
| -------------------------------------------------------------------
| Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your system/application/libraries folder.
|
| Prototype:
|
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
$autoload['libraries'] = array('database', 'session', 'centinela');
Una vez tenemos hecho esto, procederemos a crear las diferentes partes de la web dónde usaremos la clase.
Sistema de Usuarios (Segunda parte): Clase ‘Centinela’ II
Ahora procederemos a la parte mas importante de este tutorial dónde codificaremos las funciones de login, logout y check (comprobar), que explique a grandes rasgos como funcionarían en el articulo anterior.
Login
La función de login recibirá dos parámetros: usuario y contraseña que normalmente serán los que el usuario nos introduzca mediante un formulario. Pero también se usará para validarse automáticamente mediante las variables SESSION que tendremos almacenadas, asi siempre comprobaremos que las credenciales de los usuarios son siempre validas.
Entonces procederemos a comprobar que el usuario y la contraseña coinciden con la base de datos, si todo esta correcto crearemos las variables sesión (o las actualizaremos).
Aquí esta el código:
Sistema de Usuarios (Segunda parte): Clase ‘Centinela’ I
En la primera publicación de este taller planificamos de forma muy genérica como queríamos nuestro sistema de usuarios. Hoy vamos a concretar un poco más y empezaremos a definir como sera nuestra clase 'Centinela' que se encargará de controlar nuestro sistema.
Nuestra 'clase', será una librería por lo tanto nos miraremos en la fantástica guía de CodeIgniter cómo funcionan las librerías. En definitiva lo que nos interesa es que alojaremos nuestro "Centinela.php" en application/libraries. Nuestro archivo empezará con una mayúscula. Al principio de nuestro php pondremos para que no puedan acceder de manera no controlada a nuestra clase:
if(!defined('BASEPATH'))
exit('No direct script access allowed');
Nuestra clase necesitará de unas variables para que podamos almacenar los datos que usaremos:
- id: será la id de nuestro usuario un valor numerico y único.
- nick: será el nombre de nuestro usuario.
- clave: será la contraseña de nuestro usuario (encriptada)
- nivel: se refiere al nivel del usuario (invitado, operador, administrador, etc..). Como mayor sea el valor más alto será el cargo.
- auth: será una variable booleana. Si vale "TRUE", es que el usuario estará bien autentificado.
Malditos exámenes!
Bueno pido disculpas por este periodo de tiempo que no estoy escribiendo nada, pero la razón es esta: estoy de exámenes!
Así que lo primero es lo primero, hay que aplicarse para no suspender ninguna y asi tener todo el verano libre, de manera que intentare ir avanzando algo pero no puedo deciros exactamente cuando publicaré el siguiente post, estad atentos pues.
Para ir abriendo boca os diré cuales serán mis siguientes tres artículos, espero que os gusten:
- "Validation Class" y los buenos formularios
- Gestor de noticias (Sexta parte): Crear un buscador
- Sistema de Usuarios (Primera parte): Planificación y estructuras
Deseadme suerte ;-)