Não estou conseguindo encontrar uma solução...
[Mon Jun 27 00:12:18 2022] [::1]:53167 Accepted
[Mon Jun 27 00:12:18 2022] PHP Warning: session_start(): open(C:/Windows/tmp\sess_l97omoo6r1tgmmor47fupbqp4e, O_RDWR) failed: No such file or directory (2) in C:\Repository\MVC\public\index.php on line 21
[Mon Jun 27 00:12:18 2022] PHP Warning: session_start(): Failed to read session data: files (path: C:/Windows/tmp) in C:\Repository\MVC\public\index.php on line 21
[Mon Jun 27 00:12:18 2022] [::1]:53167 [200]: GET /listar-cursos
[Mon Jun 27 00:12:18 2022] [::1]:53167 Closing
[Mon Jun 27 00:12:18 2022] [::1]:53168 Accepted
[Mon Jun 27 00:12:18 2022] [::1]:53168 [404]: GET /favicon.ico - No such file or directory
[Mon Jun 27 00:12:18 2022] [::1]:53168 Closing
Código da classe RealizarLogin:
<?php
namespace Alura\Cursos\Controller;
use Alura\Cursos\Entity\Usuario;
use Alura\Cursos\Infra\EntityManagerCreator;
class RealizarLogin implements InterfaceControladorRequisicao
{
/**
* @var \Doctrine\ORM\EntityRepository
*/
private $repositorioDeUsuarios;
public function __construct()
{
$entityManager = (new EntityManagerCreator())->getEntityManager();
$this->repositorioDeUsuarios = $entityManager->getRepository(Usuario::class);
}
public function processaRequisicao(): void
{
$email = filter_input(INPUT_POST,
'email',
FILTER_VALIDATE_EMAIL
);
if (is_null($email) || $email === false) {
echo "O e-mail digitado não é um e-mail válido";
exit();
}
$senha = filter_input(INPUT_POST,
'senha',
FILTER_SANITIZE_STRING);
/** @var $usuario */
$usuario = $this->repositorioDeUsuarios->findOneBy(['email' => $email]);
if (is_null($usuario) || !$usuario->senhaEstaCorreta($senha)) {
echo "E-mail ou senha inválidos";
return;
}
$_SESSION['logado'] = true;
header('Location: /listar-cursos');
}
}
Código do ponto único da aplicação (arquivo index.php)
<?php
require __DIR__ . '/../vendor/autoload.php';
use Alura\Cursos\Controller\{
RealizarLogin,
FormularioEdicao,
Exclusao,
FormularioInsercao,
ListarCursos,
Persistencia};
$caminho = $_SERVER['PATH_INFO'];
$rotas = require __DIR__ . '/../config/routes.php';
if (!array_key_exists($caminho, $rotas)) {
http_response_code(404);
exit();
}
session_start();
$classeControladora = $rotas[$caminho];
/** @var $controlador */
$controlador = new $classeControladora();
$controlador->processaRequisicao();