Phalcon: diseño de la página de inicio de sesión
UsersController.php
<?php
class UsersController extends Phalcon\Mvc\Controller {
public function indexAction() {
}
public function loginAction() {
if ($this->request->isPost()) {
$user = Users::findFirst(array(
'login = :login: and password = :password:', 'bind' => array(
'login' => $this->request->getPost("login"),
'password' => $this->request->getPost("password")
)
));
if ($user === false) {
$this->flash->error("Incorrect credentials");
return $this->dispatcher->forward(array(
'controller' => 'users', 'action' => 'index'
));
}
$this->session->set('auth', $user->id);
$this->flash->success("You've been successfully logged in");
}
return $this->dispatcher->forward(array(
'controller' => 'posts', 'action' => 'index'
));
}
public function logoutAction() {
$this->session->remove('auth');
return $this->dispatcher->forward(array(
'controller' => 'posts', 'action' => 'index'
));
}
}
los UsersControllerincluye funcionalidad con funciones de inicio y cierre de sesión. Comprueba el valor asociado en los registros de la tabla "Usuarios". Si el valor se autentica, el usuario inicia sesión correctamente o recibe un mensaje de error.
A continuación se muestra el resultado del código anterior.
Una vez que haya iniciado sesión en la aplicación web, la salida se verá como se muestra en la siguiente captura de pantalla.
Veremos la implementación de vistas en el próximo capítulo, que se centrará en la gestión de categorías y publicaciones.