Giter Club home page Giter Club logo

codeignitersimplelogin's Introduction

#Codeigniter Simple Login

Código fuente de ejemplo para registro y logueo de usuarios con codeigniter framework.

Ver demo

##Prerrequisitos:

  • Apache y/o nginx
  • PHP >= 5.1.6
  • MariaDB/MySQL v4.1+
  • php5-mcrypt
  • Git (opcional)

Para apache, mysql y php ver este link

Installar php5-mcrypt:

$ sudo apt-get install php5-mcrypt

##Configurando el entorno

Vamos a necesitar que apache permita sobreescribir las urls para que sean más amigables, para eso necesitamos activar el modulo mod_rewrite:

$ sudo a2enmod rewrite

Opcional: Configurar un virtual host en apache, ver el siguiente link

##Frameworks y librerias utilizadas

###Back-end:

###Front-end

##Instalando y configurando codeigniter framework

#####1. Descargar codeigniter ver acá #####2. Instalar y configurar codeigniter Para Instalar codeigniter extraemos los archivos descargados de la página oficial en nuestro directorio de apache.

Codeigniter posee una estructura de archivos y carpetas, ver el siguiente enlace para un poco de información.

La configuración inicial de codeigniter requiere editar los archivos:

application/config/config.php

Agregar un Encryption Key en la linea donde aparece lo siguiente:

$config['encryption_key'] = '';

Codeigniter usa el Encryption key para prevenir manipulación de los datos de session y también por la clase Encryption para los algoritmos de encriptación, ver acá y acá.

Se recomienda usar una frase de 32 caracteres, en nuestro caso usamos la siguiente:

$config['encryption_key'] = '2b8d2907ad8f7c467350bc39095fe555';

application/config/database.php

Para registrar y consultar los usuarios necesitamos aceder a los registros de la base de datos, para ello necesitamos especificar la configuración de nuestro servidor de base de datos. Codeigniter ofrece una forma sencilla de especificar los parametros de conexión a las base de datos. Ver la documentación oficial para más info.

Ya que estamos usando MariaDB/MySQL, lo único que debemos especificar es lo siguiente:

...
$db['default']['hostname'] = 'localhost'; //dominio del servidor
$db['default']['username'] = 'root'; //el usuario que usara la db
$db['default']['password'] = 'adminadmin'; //el password del usuario
$db['default']['database'] = 'simplelogin'; //la base de datos que usara la aplicación
$db['default']['dbdriver'] = 'mysqli'; //el driver 
...

Configuración extra:

Vamos a editar el archivo application/config/autoload.php para la carga automatica recursos, recursos como librerias, plugins, etc.

Vamos a usar las librerias database y session para manipular la base de datos y para las sessiones, así que vamos a editar el archivo modificando las siguientes lineas:

$autoload['libraries'] = array('database', 'session');

En el código fuente veremos constamentente el uso de una función global base_url() que devuelve la url base del sitio web. Para usar esta función necesitamos cargar un archivo auxiliar(helper) llamado url. el código a continuación muestra como cargar los hepers:

$autoload['helper'] = array('url');

Para usar los archivos estaticos como .js, fonts, .css, imagenes, etc. Vamos a crear una carpeta en la raíz de nuestro proyecto con la siguiente estructura:

...
├── static/
│   ├── css/
│   ├── js/
│   ├── imgs/
│   ├── fonts/
...

Dentro de cada carpeta irán los archivos estáticos de la web. Para acceder a ellos desde cualquier parte de nuestra aplicación lo haremos de la forma siguiente:

Ejemplos:

...
<!-- cargando styles -->
<link rel="stylesheet" href="<?=base_url()?>static/css/ionicons.css" />

<!-- cargando scripts -->
<script src="<?=base_url()?>static/js/init.js"></script>
...

##Como usar el código de este repositorio Este repositorio contiene el código fuente funcional para registrar y loguear un usuario, una vez configurado y funcionando codeigniter, necesitamos crear la base de datos:

$ mysql -u username -h localhost -p
> CREATE DATABASE simplelogin;
> USE simplelogin;
> CREATE TABLE users (email varchar(35) NOT NULL, password varchar(32) NOT NULL, name varchar(50) DEFAULT NULL, PRIMARY KEY (email));

Crear una copia local del repositorio:

$ git clone https://github.com/csluesocc/codeigniterSimpleLogin.git
$ cd codeigniterSimpleLogin

El repositorio consta de una serie de tags que van desde v1.0 hasta v5.1, cada uno de estos tags representa el avance del código, desde la primera configuración v1.0 hasta el sistema simple y funcional de registro y logueo v5.1, para moverse entre los tags con git haz lo siguiente:

listar los tags
$ git tag -l
moverse entre tags
$ git checkout <tag name>

Para un mejor detalle de los cambios hechos en los archivos, se puede ver el registro de los commits en github aquí.

##Dudas o bugs en el código

Crea un issue con el titulo y descripción de la duda o bug que encuentres en el código.

##Contribuir

Si deseas mejorar y/o cambiar el código a tu gusto, haz un fork del mismo, si quieres enviar mejoras a este repositorio, has un pull request a esta repo y si todo va bien haremos el merge correspondiente.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.