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

Estou com dúvida no curso de PHP, mysql e fundamentos da web - parte 2, no exercício do capítulo Passando parâmetros para a próxima requisição.

Não consigo fazer aparecer na página lista-produto.php a mensagem passada por session de que o produto foi removido com sucesso.. quando vou para adiciona-produto.php é que a mensagem aparece.. alguem pode me ajudar?

meu remove-produto.php é esse:

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

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

<?php
    include("rodape.php");
?>

meu produto-lista.php é este:

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

    $produtos = listaProdutos($conexao);
    if(isset($_SESSION["success"])){
    ?>
        <p class="alert-success"><?=$_SESSION["success"]?></p>
    <?php
        unset($_SESSION["success"]);
    }
?>
<table class="table table-striped table-bordered">
    <?php
    foreach($produtos as $produto){
    ?>
        <tr>
            <td><?= $produto["nome"] ?></td>
            <td><?= $produto["preco"] ?></td>
            <td><?=substr($produto["descricao"],0,40)?></td>
            <td><?=$produto["categoria_nome"]?></td>
            <td><a class="btn btn-primary" href="produto-altera-formulario.php?id=<?=$produto["id"]?>">alterar</a>
            <td>
                <form action="remove-produto.php?id=<?=$produto["id"]?>" method="post">
                    <input type="hidden" name="id" value="<?=$produto["id"]?>"/>
                    <button class="btn btn-danger">remover</button>
                </form>
            </td>
        </tr>
    <?php
    }
    ?>
</table>
<?php include("rodape.php") ?>
2 respostas
solução!

Resolvi meu problema, não sei como mas resolvi.. depois de implementar um arquivo php responsável por enviar os alertas parou de dar o erro.. se alguém souber o motivo e quiser me explicar ficarei grato!

Olá Rafael, faz bastante tempo já que criou o tópico, provavelmente já descobriu a anos o motivo, mas para caso alguém venha a visualizar ou ter o mesmo problema futuramente faltou apenas o include do arquivo logica-usuario.php em seu arquivo produto-lista.php.

include("logica-usuario.php");

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