<?php $app->map(['GET', 'POST'], '/users/login', function ($request, $response, $args) { $field_errors = []; $flash_messages = $this->flash->getMessages(); $user = []; if ($request->isPost()) { $userService = new AuthService(); $user['user_name'] = filter_var($_POST['user_name'], FILTER_SANITIZE_STRING); $user['password'] = filter_var($_POST['password'], FILTER_SANITIZE_STRING); $user_form = validateLoginForm($user); if ($user_form['is_valid']) { $valid_user = $userService->authenticateUser($user['user_name'], $user['password']); if ($valid_user) { $_SESSION['user_id'] = $valid_user['user_id']; $this->flash->addMessage('success', 'Login successful'); return $response->withRedirect($this->router->pathFor('docs-home')); } else { $flash_messages['danger'][] = "Incorrect combination of username/email AND password - Please try again"; } } else { $field_errors = $user_form['has_errors']; } } return $this->view->render($response, 'forms/login.twig', ['user' => $user, 'flash_messages' => $flash_messages, 'errors' => $field_errors, 'userLogged' => isset($_SESSION['user_id']), 'csrf' => ['name' => $request->getAttribute('csrf_name'), 'value' => $request->getAttribute('csrf_value')]]); })->setName('login'); $app->map(['GET', 'POST'], '/users/register', function ($request, $response, $args) { $field_errors = []; $user = []; $flash_messages = $this->flash->getMessages(); if ($request->isPost()) {