jueves, 8 de diciembre de 2011

How to: Create Login with Ajax and CodeIgniter // Crear Login con Ajax y CodeIgniter

Bueno, hola otra vez :D. Últimamente debido a mis pequeños momentos de ocio que he podido tener en el trabajo, me he dedicado a aprender un poco más (nunca esta de mas conocer un poco acerca de las tecnologías actuales :) ) acerca de programación web con PHP 5 y el framework CodeIgniter (version 2.1.0).

Haciendo un poco de lectura en la documentación oficial del framework he decidido llevar a la practica lo que ahí se expone, claro esta, incluyendo una que otra funcionalidad con la libraría de javascript JQuery (usando esta para las llamadas ajax a los controladores [llamadas a bases de datos y demás cosas]).

En este punto doy por entendido que ya tienes Apache, PHP y MySQL instalado, configurado y el Framework CodeIgniter configurado con la base de datos que vamos a usar, de no ser así leer la documentación oficial.
En la base de datos debemos tener una tabla llamada user/usuario/persona/ o como querrás llamarla, eso es irrelevante (en mi caso user), acá una imagen de la estructura:


Ahora crearemos.
  • una vista; la cual llamaremos userLogin.php y esta estara situada en application/views
  • un Controlador; UserController.php y lo guardamos en application/controllers
  • y por ultimo un modelo; UserModel.php, application/models
 Creamos en la raíz del proyecto dos carpetas. llamadas
  • css. acá guardaremos (obviamente) las hojas de estilo y las imágenes del sistema
  • js. carpeta que almacenará la libreria de jquery y jquery-ui.min, entre otros scripts que deseemos crear.
Bueno una vez ya definido la estructura del sistema, ahora definiremos la lógica bajo la cual programaremos el Login.
Por el momento los campos que nos interesan de la tabla user con : password, nickname, email. mediante estos se validara al usuario.
Las llamadas a la base de datos serán de modo asíncronas  lo cual nos va a permitir consultar la base de datos sin necesidad de refrescar el sitio entero.
Empecemos entonces creando el Modelo:

How to: set MaxLength JTextfield // Setear longitud maxima de texto JTextField

Hola a todos :D espero estén pasando bien y preparándose para la celebración de la Navidad (si es que la celebran claro :D). no hay nada de malo en no celebrarla pero muchas veces hay regalos y comida... y lo mejor de todo... Its FREE!! x).
Bueno ya pasando al tema en cuestión. muchas veces (por no decir todas) queremos validar desde la interfaz del usuario la cantidad máxima de caracteres que un campo puede soportar. Cuando creamos una aplicación web la tarea es mas que sencilla, simplemente (si mi memoria no me falla) se hace asi:
Fácil verdad :D. pero en Java. por diferentes razones no existe un método para lograr dicho comportamiento en nuestros JTextField. entonces nosotros creamos una clase a la cual le indicamos la longitud deseada. esto de la siguente manera: