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

Mensagem aparece ao cadastrar o produto.

Ao cadastrar um produto aparece a seguinte mensagem:

Fatal error: Cannot redeclare mostraAlerta() (previously declared in C:\xampp\htdocs\loja\mostra-alerta.php:3) in C:\xampp\htdocs\loja\mostra-alerta.php on line 10

Segue os scripts do mostra-Alerta.php e adiciona-produto.php

//mostra-alerta.php

<?php
session_start();
function mostraAlerta($tipo){
    if($_SESSION[$tipo]){
?>
    <p class="alert-<?=$tipo?>"><?=$_SESSION[$tipo]?></p>
<?php
    unset($_SESSION[$tipo]);
    }  
}
?>
//adiciona-produto.php

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

verificaUsuario();

    $nome = $_POST["nome"];
    $preco = $_POST["preco"];
    $descricao = $_POST["descricao"];
    $id_categoria = $_POST["id_categoria"];
    if(array_key_exists("usado", $_POST)){
        $usado = "true";
    } else{
        $usado = "false";
    }

    if(insereProduto($conexao, $nome, $preco, $descricao, $id_categoria, $usado)){ ?>
        <p class="alert-success">O produto <?=$nome?>, com o valor <?=$preco?> foi cadastrado com sucesso </p>
<?php } else { 
            $msg = mysqli_error($conexao); 
?>
        <p class="alert-danger">O produto <?=$nome?>, não foi cadastrado: <?=$msg?>.</p>
<?php
    }
?>

<?php include("cabecalho.php")?>
2 respostas
solução!

Oi Tallyson, tudo certo?

Esse erro costuma acontecer quando declaramos duas funções com o mesmo nome no nosso projeto e tentamos usar as duas. Ou, quando declaramos uma assinatura, por exemplo:

function mostraAlerta($tipo)

E utilizamos outra, sem querer. Algo como:

function mostraAlerta() //aqui estamos usando outra função, já que não passamos o parametro

ou

function mostraAlerta($tipo,$menssagem) //aqui estamos usando outra função, já que passamos mais de um parametro

Tenta procurar no seu código se você não acabou usando uma assinatura diferente sem querer =)

Qualquer dificuldade, compartilha com a gente.

Abraço e bons estudos =)

André boa noite, ao vasculhar o código encontrei a função mostraAlerta() setada duas vezes, muito obrigado pela atenção!