Estou enfrentando um problema e estou um pouco perdido.
Quando tento passar as mensagens de sucesso e falha pela sessão, está funcionando parcialmente.
No index.php elas funcionam adequadamente (informando o sucesso do login ou sua falha, bem como a impossibilidade de acessar incluir produtos sem estar logado.
Porém, quando tento usar a sessão para informar o sucesso de remoção de um produto, não tenho qualquer mensagem.
Vou deixar aqui o conteúdo de alguns arquivos:
produto-lista.php:
<?php
require_once("cabecalho.php");
require_once("banco-produto.php");
require_once("logica-usuario.php");
require_once("mostra-alerta.php");
mostraAlerta("success");
?>
<table class="table table-striped table-bordered table-condensed">
<?php
$produtos = listaProdutos($conexao);
foreach($produtos as $produto){
?>
<tr>
<td><?=$produto['nome']?></td>
<td><?=$produto['preco']?></td>
<td><?=substr($produto['descricao'],0,40) ?></td>
<td><?=$produto['nome_categoria']?></td>
<td><a class="btn btn-primary" href="produto-altera-formulario.php?id=<?=$produto['id']?>" >Alterar</td>
<td>
<form action="remove-produto.php" method="post">
<input type ="hidden" name="id" value="<?=$produto['id']?>">
<button class="btn btn-danger">Remover</button>
</form>
</td>
</tr>
<?php
}
?>
</table>
<?php include("footer.php")?>
remove-produto.php:
<?php
require_once("cabecalho.php");
require_once("banco-produto.php");
$id = $_POST["id"];
removeProduto($id,$conexao);
$_SESSION["success"]="Produto removido com sucesso!";
header("location: produto-lista.php");
die();
mostra-alerta.php:
<?php
function mostraAlerta($tipo){
//session_start();
if(isset($_SESSION[$tipo])){?>
<p class="alert-<?=$tipo?> text-center"><?=$_SESSION[$tipo]?></p>
<?php
unset($_SESSION[$tipo]);
}
}
O que eu acho estranho é que quando dou um var_dump($_SESSION) no arquivo remove-produto.php tenho o seguinte:
NULL
e quando dou um var_dump($_SESSION) no arquivo produto-lista.php tenho o seguinte:
array(1) { ["usuario_logado"]=> string(17) "meu email" }
Eu não deveria ter o $_SESSION["usuario_logado"] também no remove-produto.php?
Obrigado pela ajuda!