BlogdePHP.com

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

  1. crear el archivo usuarios_model.php y guardarlo en /application/models/
  2. crear 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.

Las siguientes personas tenían dudas o errores con PHP y encontraron ayuda rápidamente en el foro de programadores de BlogdePHP.com

Tu también puedes publicar tu consulta ahora mismo y obtener respuesta en pocas horas.

Suscríbite GRATIS aquí y recibirás una contraseña en tu correo para comenzar a postear en el foro y obtener ayuda de experimentados programadores :)

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.

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.

Nota: El ingeniero Diego Angelini, autor de éste artículo y de BlogdePHP.com, ha preparado un Video Tutorial sobre PHP y Mysql

Se puede ver y escuchar GRATIS. Simplemente debes suscribirte, presionar el link que recibirás en tu casilla y automáticamente podrás ver el video.

Es GRATIS. Aprovecha a aprender cómo configurar formularios, condicionales IF ELSE, ciclos, variables de SESSION, etc.

>> Suscríbete GRATIS y acceder al Video Tutorial de PHP y Mysql.

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'];
Nota: Video Tutorial sobre Ajax

Aprendemos lo básico de Ajax y cómo utilizarlo para validar formularios sin refrescar pantalla. Un beneficio muy importante desde el punto de vista de usabilidad.

El precio del video tutorial es US$ 2,5. Descarga inmediata mediante Paypal y Tarjeta.

En el siguiente link puedes ver el listado de temas y acceder al Video Tutorial de Ajax

(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!


Lo más visto por usuarios en BlogdePHP.com

Sobre el autor: Ing. Diego Angelini

Diego es profesor a distancia de PHP, Mysql y CodeIgniter.
Ofrece clases particulares por US$ 15 / hora. Si necesitas capacitación
para avanzar con tu proyecto puedes comunicarlo aquí

Además, Diego es desarrollador web freelance (php / mysql / wordpress / joomla).
Si tienes una página web en mente, o necesitas ayuda con tus proyectos
ya existentes, puedes comunicarlo y solicitar presupuesto aquí

Suscríbete al newsletter y recibe los artículos de Diego en tu mail :)
Ingresa tu casilla de correo:

  • http://antonio.ok.pe/ Antonio

    Utilizando este Framework para cualquier aplicación web, encuentro !!
    Escribo menos código, mas diversión y mayor productividad !!

  • jose
  • http://www.blogdephp.com Diego

    En DesarrolloWeb.com, con autorización de Miguel Angel (propietario del sitio), hemos publicado una versión similar del artículo para poder compartirlo con su maravillosa audiencia.

    Puedes comprobarlo al verificar el autor del artículo publicado en DesarrolloWeb.

    ¿Te especializas en CodeIgniter? ¿Trabajas en una empresa, por tu cuenta, freelance?

  • http://codeigniter+php Saltador

    Tengo problemas con generara un ejemplo en el cual pueda editar ó modificar algunos datos en una base de datos el cual debe ser programado en codeigniter usando php.Agradeceria a todo el que pueda ayudar.

  • http://www.livebuzz.tk Joseph

    He estado intentando pasar valores entre dos .php pero no he podido..lo intento usando la siguiente linea de codigo

    y trato de recibirla en el otro php con la siguiente linea de codigo:

    $var=$GET["valor"];

    pero igual no me captura ningun valor o simplemente no se pasa….HELP!

  • http://www.blogdephp.com Diego

    Hola Joseph, gracias por participar en el blog!

    En el primer php deberías crear un link de la siguiente manera:

    http://blogdephp.com/php-login/?valor=prueba

    Y en el segundo php, puedes tomar el valor de la siguiente manera:

    $var=$_GET['valor'];
    echo $var; // se debería imprimir la palabra “prueba”

    Por favor, dejame saber si te ha funcionado.
    Saludos.-

  • Ulises Nicolini

    Mi nombre es ulises, soy desarrolllador web php y encontre este post tuyo en cual me gusto

    Desde hace tiempo vengo desarrollando en php (6 años al menos) , haciendo mis propias librerias y ahora tengo entre mis manos un proyecto de mediana envergadura que sale de las funciones normales (no es ni un blog, ni un carrito de compras, ni nada que se parezca).

    Estoy evaluando utilizar CodeIgniter para este pryecto ya que me puede ayudar a realizar un codigo mas prolijo y modular, y a su vez lo noto con suficiente flexibilidad cosa que siempre me preocupo a la ora de optar por un framework, pero un gupo de desarrolladores que colaboraran conmigo me proponen utilizar Drupal como framework.

    ¿que opinion te merece drupal? es preferible utilizar codeigniter en su lugar?

    Desde ya muchas gracias

    Ulises

  • http://www.blogdephp.com Diego

    Hola Ulises, gracias por participar en el blog y compartirnos info sobre tus proyectos de desarrollo de software.

    Tengo entendido que Drupal es un administrador de contenidos (CMS) del estilo de Joomla y WordPress. Son sistemas que ya están desarrollados y están pensados para resolver necesidades genéricas (blogs, e-commerce, sistemas de encuentas). Luego, si tienes necesidades más específicas, necesitas buscar e instalar algún plugin (que son agregados para resolver cosas más puntuales).

    Hasta aquí es todo muy sencillo, inclusive no requiere conocimientos en programación. El problema aparece cuando no encuentras o no existe el plugin mencionado. Allí debes tocar y modificar manualmente el código de tu CMS; esto si es muy complejo puesto que es código fuente desarrollado por otras personas y no conoces cómo está pensado o estructurado.

    El framework php CodeIgniter te permite desarrollar tu sistema desde cero y tener conocimiento absoluto de todas sus partes. Eso si, toma mucho más tiempo el desarrollo del sistema inicial.

    La respuesta final depende del sistema que necesitas hacer. Si logras resolverlo a través de los CMS y sus plugins, adelante con estas herramientas. En caso no, te recomiendo hacerlo desde cero mediante el framework php CodeIgniter y tener libertad absoluta en el futuro para agregar y/o modificar funcionalidades.

    Un saludo y cuéntanos que decisión has tomado.

  • http://-- veronica

    hola! tengo un problema, intento trabajar con este coidgo y copie tal cula lo tenes ahi pero me tira este error.
    A PHP Error was encountered

    Severity: Notice

    Message: Undefined property: Php::$form_validation

    Filename: controllers/php.php

    Line Number: 11
    Fatal error: Call to a member function set_rules() on a non-object in C:\xampp\htdocs\Codos\application\controllers\php.php on line 11
    y la verdad no se me ocurre que puede ser.
    si me pueden ayudar. desde ya muchas gracias!!

  • http://www.blogdephp.com Diego

    Hola Laura, el error lo solucionas agregando la siguiente línea:

    $this->load->library(‘form_validation’);

    al inicio del método “login”.

    Ya he actualizado el código. De manera que puedes volver a copiar y pegar y ya te debería funcionar :-)

    Muchas gracias por participar del blog y haber hecho éste importante reporte!

    un saludo!

  • Jose Carvajal Hernandez

    hola y por ejemplo cuando quiero modificar lo datos de la persona logeada como se logra eso?

PHP es el lenguaje más requerido por las empresas.
Aprenderlo y dominarlo te abrirá excelentes oportunidades laborales :)

Ingresa tu casilla, ¡es GRATIS!

Entregado por FeedBurner de Google

El artículo pertenece a la categoría: Framework php CodeIgniter

Artículos relacionados que también te pueden interesar !



Sigue BlogdePHP.com en:

http://feeds.feedburner.com/BlogdePHP http://www.facebook.com/pages/BlogdePhpcom/198331596846162 http://twitter.com/BlogdePhp

Sobre el autor

desarrollo de páginas web php, mysql, wordpress y joomla

Diego te ayuda a convertirte en un programador web profesional y mejorar significativamente tus oportunidades laborales.

Desarrolló un Curso de PHP y Mysql, en formato VIDEO, donde puedes aprender PHP desde cero.

Se trata de un entrenamiento de 7 días donde recibirás los conceptos fundamentales para poder crear aplicaciones reales utilizando el lenguaje más popular y poderoso del mercado.

Puedes iniciar hoy mismo el curso inscribiéndote GRATIS aquí :)

Tu nombre y apellido:


Tu casilla de E-mail:




Diego además es desarrollador web PHP y Mysql (freelance). Especialista en proyectos Wordpress y Joomla.

Si tienes una página web en mente, o necesitas ayuda con tus proyectos ya existentes, puedes comunicarlo y solicitar presupuesto aquí

Clases de PHP a distancia

Necesitas un profesor de PHP para hacer consultas específicas en tus proyectos?
Te gustaría aprender o revisar los conceptos fundamentales de PHP?
Te gustaría organizar un curso de PHP en tu universidad o centro educativo?

Brindo clases de PHP a distancia. Nos comunicamos vía Skype y vas a tener acceso a mi pantalla y poder ver el código que escribo mientras explico.


Programador PHP freelance

Necesitas una mano profesional en tus sitios?
Tienes clientes interesados en proyectos pero no llegas con tus tiempos?
Recibiste un requerimiento sobre un lenguaje o sistema que no dominas?

Brindo servicios cómo desarrollador web freelance. Software a medida, PHP, Mysql, CodeIgniter, Joomla, Wordpress, plugins, templates, tiendas virtuales, blogs, script de tickets de consulta (atención al cliente), etc



Sigue BlogdePHP.com en:

http://feeds.feedburner.com/BlogdePHP http://www.facebook.com/pages/BlogdePhpcom/198331596846162 http://twitter.com/BlogdePhp