Login de Usuario en PHP (Editado – Cambio de tecnología)

EDITADO. Resulta que, y a raíz del post anterior, cambio todo el desarrollo del proyecto a JSP.
Le pregunté al profesor ciertas cosillas y (entre otras) me dijo que era más seguro. Como el proyecto funciona a base de movimientos de plata, ps es mejor así😉

Por lo tanto, el post se queda tal como está…😯 No terminado cuack! Al igual que en la vida real (supongo) no vale la pena seguir, puesto que cambio de tecnología.

Eso si, como no se nada de JSP, los post serán en… tiempo real😀 A medida que aprenda algo nuevo, lo posteo😉

Ok! Lo primero es tener un login no? Lo que sigue es un código, por decirlo de algún modo, Alpha. Es el primero que hago, por lo tanto, puede que no sea muy eficaz. Con el tiempo lo voy a mejorar, agregar (o quitar) cosas, etc.

PHP y MySQL (después quiero hacerlo con JavaScript, pero de esto escribiré cuando sepa hacerlo😉 )

Puede que suene raro en el orden, pero primero vamos a ver como loguearse (después como darse de alta🙂 )

Listop. Tengo 3 tablas en la BD (no están normalizadas aún, eso lo hago más adelante). La primera, guarda las contraseñas, la segunda guarda el nombre de usuario, y la tercera guarda los datos del usuario.

Tabla passwords

CREATE TABLE proyecto.passwords (
id VARCHAR(8) NOT NULL,
pass VARCHAR(32) NOT NULL,
PRIMARY KEY (id)
) ENGINE = MyISAM ROW_FORMAT = DEFAULT;

id tiene el rut, el id de las personas en Chile. Ejemplo 01.234.567-X. X se calcula con los 8 números anteriores, tonce no lo contamos) de la persona, mientras que pass guarda la contraseña encriptada en MD5(tamaño 32…8O ).

Tonce, el primer  registro en la tabla sería: id=12345678 y la pass=484ac397cb407ab7aad776f0663f8c85 (contraseña).

Tabla usernames

CREATE TABLE proyec.usernames (
id VARCHAR(8) NOT NULL,
username VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
) ENGINE = MyISAM ROW_FORMAT = DEFAULT;

Como pueden ver, es igual a la otra. El id es el mismo, y el username… ps no creo que alguien quiera un nombre más largo que 20😕

Tendríamos algo como id=12345678 y username=MaritoCares

Tabla dusuarios

CREATE TABLE proyec.dusuarios (
rut VARCHAR(8) NOT NULL,
nombre VARCHAR(50) NOT NULL,
apellido VARCHAR(35) NOT NULL,
local VARCHAR(20) NOT NULL,
PRIMARY KEY (rut)
) ENGINE = MyISAM ROW_FORMAT = DEFAULT;

Puede que el nombre sea un tanto largo… pero uno nunca sabe😀 (no me creen, lean esto )

rut=12345678 , nombre=Mario Andres , apellido=Cares Cabezas , local=Iquique (se supone que son 2 ó 3 sucursales)
Archivo index.php
Seguimos con el index. Llamo a una clase (Trigger) que redirige el flujo:

<?php
include("login/trigger.php"); //incluimos la clase
$trigger = new Trigger(); //creamos el objeto
$trigger->setTrigger();//método público que llama a uno privado :D
//eso es todo por ahora
?>

La clase Trigger (archivo Trigger.php) tiene esto:

<?php
class Trigger {
//llama a su hermana privada :D
public function setTrigger(){
$this->GTrigger();
}
private function GTrigger(){
/*Si la url viene vacía, es porque recién entramos a la página. Tonces, damos las 2 opciones: loguearse o darse de alta.*/
if (!isset($_GET[log])) {
<a href="?log=0">Loguearse</a> o <a href="?log=1">Registro nuevo usuario</a>
} /*Ahora que NO esta vacío, vamos a loguearnos, o registrarnos. Primer loguearse. */
elseif (GET[log] == 0) {
//Llamamos a otra función, que nos muestra el formulario de logueo
$this->MakeFormLog();
} /* Y por último, el formulario de registro. */
else {
$this->MakeFormReg();
}
/*Ahora, declaramos una función por cada formulario. Empezando por MakeFormLog. Esta se encargará de: Crear el formulario, y enviar los datos (username y pass -encriptada- a cierto archivo php para la validación*/)
}
}
?>

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en Uncategorized. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s