En este tutorial nos dedicaremos más a la programación y no tanto al diseño como en los anteriores. Aprenderemos a usar las variables de sesión sin acceso a la base de datos, a entender un poco los constructores, a crear formularios y a crear nuestro primer helper.




CONFIGURACIÓN INICIAL

Antes que nada configuraremos nuestro codeigniter para que automáticamente cargue la librería de sesión y, ya de paso, la de formularios. Application > config > autoload y modificamos la siguiente línea.

Hacemos lo mismo con los helpers agregando también el helper security que nos dará lo necesario para encriptar las contraseñas en la base de datos en MD5.

Al insertar el helper security y ejecutar el programa nos dará error, este error proviene del sistema, que necesita de un código de encriptación. Nosotros, como lo usaremos únicamente para crear usuarios, insertaremos el texto que queramos en la configuración, yendo a la siguiente página de configuración: Application > config > config.

VARIABLES DE SESIÓN

Para ver el funcionamiento de las variables de sesión lo que haremos será que, al acceder a la página Acerca_de, se nos cree una variable de sesión con un nombre y se coloque en el pie de página para que podamos acceder a ella desde cualquiera, de manera que cuando accedamos a una página, que le podríamos llamar salir, se elimine la variable.





Vamos a crear nuestra variable de la siguiente manera en el controlador de acerca_de:

Ahora lo que tenemos que hacer es mostrar nuestro usuario en sesión, en el pie de página que tenemos en el template. Lo haremos insertando la siguiente línea de código en el lugar que queramos. Nosotros lo insertaremos en la etiqueta footer:

Haciendo esto ya nos tendría que salir nuestra sesión en Acerca_de y luego en cualquier página activa:

codeiginier

Ahora crearemos el controlador de salir donde se encuentran todos los controladores hechos hasta ahora de la siguiente manera :

De esta manera podemos salir de nuestra sesión accediendo a /home/salir. Aquí vemos dos cosas interesantes:

  • sess_destroy: Destruye todas las variables de sesión.
  • Redirect:  Como su nombre indica, redirecciona a una página.

CONSTRUCTOR

El constructor en una clase es el primero que se carga al acceder a ella. Nosotros lo podemos usar para utilizar librerías o lo que queramos, sin usar el autoload, ya que a lo mejor sólo lo necesitaremos en un controlador. Es bueno colocarlo al crear la clase.

Se colocaría justo antes de los métodos de la clase de la siguiente manera:

Si quisiésemos colocar una librería, como por ejemplo la de sesión, aquí, en vez de en el autoload, se haría de la siguiente manera:

FORMULARIOS

Para crear formularios existe una variante de la forma tradicional en html que incorpora codeigniter y que podría hacer la vista un poco mas sencilla para un diseñador. Toda la documentación la podemos encontrar aquí.

Empezaremos creando un controlador para el ingreso donde tendremos nuestro formulario de ingreso.

No hay nada nuevo en esto. Así que ahora modificaremos el botón de index que creamos unos tutoriales atrás para que nos dirija a la página de ingreso.

Nos vamos a application->views->home->index.php y modificamos la siguiente linea:

Nos falta crear la página que incluirá el formulario. Creamos todas las etiquetas a través del helper form y todas las clases provienen de bootstrap.

Creada ya la página, necesitaremos la acción que ocurre al apretar el botón Ingresar. Para ello creamos un controlador que llamaremos ingresar y recogemos el usuario y la contraseña de la siguiente manera:

Lo que haremos ahora es validar los datos entrados. Usaremos el manual oficial de codeigniter, buscaremos por ejemplo las de campo requerido y la usaremos de tal manera que, en el caso de que el usuario no coloque uno de los dos campos, sea devuelto a la página de ingreso y, si los coloca, que le agregue la sesión que antes hacíamos en Acerca_de y redirija hacia el índice.

Para que coloque un mensaje de error usaremos un método de codeigniter y lo colocaremos dentro de la vista de ingreso de la siguiente manera:

El mensaje de error sale en inglés y de forma genérica. Para modificar el mensaje podemos añadir lo siguiente en el método, aunque nosotros lo colocaremos en el constructor, ya que es algo genérico que usaremos en algunos métodos.

HELPERS

Para ver como funcionan optaremos por hacer más bonito el error de validación y que, únicamente colocándole el helper y pasándole por parámetro los errores, nos lo muestre con el estilo sin poner las etiquetas.

Lo primero que haremos es colocar el helper que crearemos en el archivo de configuración autoload. Le llamaremos my_tag.

Crearemos el helper en la carpeta application -> helpers y le llamaremos my_tag_helper, la terminación _helper es obligatoria. Utilizaremos el helper anchor que nos viene por defecto en Codeigniter para tomarlo como referencia, quedando éste de la siguiente manera:

Ahora lo único que nos quedaría es llamar al helper desde la vista y pasarle los errores.

Nos quedaría la página de la siguiente manera:

codeigniter

VIDEOTUTORIAL

MANUALES CODEIGNITER

The following two tabs change content below.
Programador por definición, diseñador por hobby, futuro Ingeniero Informático y amante de lo sencillo.

Uso de cookies

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. CERRAR