Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Nao mostra mensagem na exclusao do produto

Olá, ao remover um produto nao é mostrado a mensagem de produto removido com sucesso. O meu arquivo produto-lista.php está assim:

<?php if(isset($_SESSION["success"])) { ?>
    <p class="alert-success"><?= $_SESSION["success"]?></p>
<?php
        unset($_SESSION["success"]);
     }?>

e o remove-produto.php deixei assim:

<?php include("cabecalho.php");         
 include("conecta.php");            
 include("banco-produto.php"); 
 include("logica_usuario.php"); 

 $id = $_POST['id'];
 removeProduto($conexao, $id);
 $_SESSION["success"] = "Produto removido com sucesso.";
 header("Location: produto-lista.php");
 die();
 ?>

Estou inserindo um SESSION do tipo success no remove-produto e no produto-lista é feito o IF para verificar o SESSION com success mas a mensagem não é exibida. Acompanhei a lição e os códigos estão digitados corretamente. Talvez eu tenha omitido algo mas não achei o que pode ser.

4 respostas

Oi João, a session só pode ser utilizada depois do start_session(), você tem essa função sendo executada em algum lugar? Lembre-se, precisa sempre antes de utilizar essa superglobal.

Espero ter ajudado, bons estudos!

Olá Wanderson..obrigado pelo retorno. Sim.. a session foi inicializada no logica_usuario.php e no produto-lista eu inseri o INCLUDE. Veja o logica-usuario abaixo>

<?php include("cabecalho.php"); 
 include("conecta.php"); 
 include("banco-produto.php");
 include("logica-usuario.php");
 verificaUsuario(); ?>


<?php if(isset($_SESSION["success"])) { ?>
    <p class="alert-success"><?= $_SESSION["success"]?></p>
<?php
        unset($_SESSION["success"]);
     }?>

Então Joao, até onde sei, a sessão deve ser a primeira função a ser chamada no arquivo inteiro, antes mesmo de começar a renderizar alguma coisa na página - poderia ser no começo do cabecalho.php

Neste arquivo que você postou, a sessão vai ser inicializada bem depois de importar e enviar para o navegador o html da página. Tenta colocar o start session na primeira linha do cabecalho pra ver se funciona? Ou até mesmo antes de fazer include do cabecalho, na primeira linha deste mesmo arquivo.

solução!

OK..amigo.. somente depois que eu fiz as alterações com o cabeçalho.php, funcionou OK... eu só postei minha dúvida por que estava funcionando antes que eu fizesse estas alterações. Mas beleza. Bola pra frente. :) Grato pela ajuda.