Vamos a crear un registro para los usuarios que van a usar el sistema de gestion de tareas HeyTodo.
Curso: Sistema de To-Do List con PHP y MySQL (HeyTodo)
Fase 1: Introducción y Fundamentos
Lección 0: Introducción al sistema SaaS con PHP y MySQL
Lección 1: Explicación del Proyecto y Alcance
Lección 2: Modelo de la Base de Datos
Fase 2: Usuarios y Autenticación
Lección 3: Registro de Usuarios
Lección 4: Iniciar y Cerrar Sesión con PHP y MySQL
Fase 3: Desarrollo de Funciones Core
Lección 5: Módulo de Proyectos
Lección 6: Crear, Listar y Eliminar Tareas
Lección 7: Modificar Datos de las Tareas
Fase 4: Lógica Avanzada y Vistas
Lección 8: Marcar Tareas como Finalizadas
Lección 9: Página de Tareas Pendientes, Finalizadas y por Proyecto
Lección 10: Manipular Tareas en el Módulo de Proyectos
Volver a la página principal del curso
Introducción
Se podría decir que con esta lección empezamos oficialmente la programación del sistema heytodo, y vamos a crear un sistema de registro fácil para los usuarios.
En la lección anterior ya vimos el modelo de base de datos que vamos a utilizar.
Para facilitar la redacción de la lección solo les mostrare aquellos fragmentos de código que estoy creando o modificando.
Comencemos
Framework
La versión del framework que usaremos es la legobox min v2, con bootstrap 3.
Al final del articulo les dejo el link de descarga, ya con el código explicado en este articulo.
Formulario de Registro
El formulario de registro sera donde el usuario introducira sus datos Nombre, apellido, email y password.
Ubicacion: heytodo/core/app/view/index-view.php
[code language=”html”]<form method=”post” action=”./?action=users&opt=register”>
<div class=”form-group”>
<label for=”thename”>Nombre</label>
<input type=”text” class=”form-control” id=”thename” placeholder=”Nombre” name=”name” required>
</div>
<div class=”form-group”>
<label for=”thelastname”>Apellido</label>
<input type=”text” class=”form-control” id=”thelastname” placeholder=”Apellido” name=”lastname” required>
</div>
<div class=”form-group”>
<label for=”theemail”>Email</label>
<input type=”text” class=”form-control” id=”theemail” placeholder=”Email” name=”email” required>
</div>
<div class=”form-group”>
<label for=”thepassword”>Password</label>
<input type=”password” class=”form-control” id=”thepassword” placeholder=”Password” name=”password” required>
</div>
<button type=”submit” class=”btn btn-default”>Registrarme</button>
</form>
Procesar Formulario
Una vez que el usuario introduce sus datos, vamos a ir a un action el cual se encargara de procesar los datos y guardarlos en la base de datos.
Ubicación: heytodo/core/app/action/users-action.php
[code language=”php”]if(isset($_GET[“opt”]) && $_GET[“opt”]==”register”){
$u = UserData::getBy(“email”,$_POST[“email”]);
if($u==null){
$user = new UserData();
$user->name = $_POST[“name”];
$user->lastname = $_POST[“lastname”];
$user->email = $_POST[“email”];
$user->password = sha1(md5($_POST[“password”]));
$user->register();
Core::alert(“Usuario registrado!”);
}else{
Core::alert(“Error: Email Repetido”);
}
Core::redir(“./”);
}
[/code]El metodo UserData::getBy() se utiliza para comprar la existencia de un campo=>valor.
La clase UserData es un modelo que nos sirve para todas las operaciones en la tabla de usuarios.
Metodo Register
El Metodo UserData->register() utiliza un objeto de UserData y usa los atributos para ser agregados a la tabla de usuarios.
Ubicacion: heytodo/core/app/model/UserData.php
[code language=”html”] public function register(){$sql = “insert into user (name,lastname,email,password,created_at) “;
$sql .= “value (\”$this->name\”,\”$this->lastname\”,\”$this->email\”,\”$this->password\”,$this->created_at)”;
Executor::doit($sql);
}
[/code]
Video
A continuacion un video demostrando el funcionamiento.
Descarga
Les dejo el código fuente completo para que lo instalen y experimenten.
Link: http://quamiller.com/11227357/heytodo-lec1
Nos leemos en la próxima lección.