1
resposta

[Dúvida] Exibir erro ao tentar senha inválida!

Quando tento fazer um login com senha errada minha pagina não exibe a mensagem só atualiza e tento novamente sem exibir o erro

<?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 "E-mail digitado não é válido";
            return;
        }
        $senha = filter_input(
            INPUT_POST,
            'senha',
            FILTER_UNSAFE_RAW
        );
        $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');

    }
}
1 resposta

Olá, Victor. Tudo bem?

Você poderia me mandar o seu projeto para eu analisar?

Apenas com a classe RealizarLogin não consigo identificar o bug.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software