Vamos a crear un registro para los usuarios que van a usar el sistema de gestion de tareas HeyTodo.
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.
También te invito a visitar la pagina oficial del curso HeyTodo para mas lecciones.
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.
[sociallocker]Link: http://quamiller.com/11227357/heytodo-lec1
[/sociallocker]Nos leemos en la próxima lección.