Ola boa tarde, estou fazendo o curso de PHP MVC com PHP: Entenda o padrão Model-View-Controller, e no curso ele pede para colocar uma mensagem de erro, porém quando coloco essa mensagem esta dando erro
Erro: Notice: Undefined index: mensagem in C:\wamp64\www\gerenciador-de-tarefas\view\inicio-html.php on line 33
inicio-html.php
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Novo curso</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
<?php if (isset($_SESSION['logado'])): ?>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="collapse navbar-collapse container " id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="/listar-cursos">Home<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item active">
<a class="nav-link btn " href="novo-curso">Novo Curso<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item active">
<a class="nav-link btn btn-danger btn-lg" href="/logout">Sair da Conta<span class="sr-only">(current)</span></a>
</li>
</ul>
</div>
</nav>
<?php endif; ?>
<div class="container">
<div class="alert alert-<?= $_SESSION ['tipo_mensagem']; ?>">
<?= $_SESSIONin ['mensagem']; ?>
</div>
</div>
linha do erro
<div class="container">
<div class="alert alert-<?= $_SESSION ['tipo_mensagem']; ?>">
<?= $_SESSIONin ['mensagem']; ?>
</div>
</div>
RealizarLogin.php - Esse arquivo é uma class
<?php
namespace Alura\Cursos\Controller;
use Alura\Cursos\Entity\Usuario;
use Alura\Cursos\Infra\EntityManagerCreator;
class RealizarLogin implements InterfaceControlladorRequisicao
{
/**
* @var \Doctrine\Common\Persistence\ObjectRepository
*/
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){
$_SESSION['tipo_mensagem'] = 'danger';
$_SESSION['mensagem'] = 'o e-mail digitado não é um e-mail válido';
header('Location: /login');
exit();
}
$senha = filter_input(
INPUT_POST,
'senha',
FILTER_SANITIZE_STRING
);
//** @var Usuario $usuario */
$usuario = $this->repositorioDeUsuarios
->findOneBy(['email' => $email]);
if (is_null($usuario) || !$usuario->senhaEstaCorreta($senha)){
$_SESSION['tipo_mensagem'] = 'danger';
$_SESSION['mensagem'] = 'Email ou Senha invalido';
header('Location: /login');
return;
}
$_SESSION['logado'] = true;
header('Location: /listar-cursos');
}
}