5
respostas

erro na menssagen de erro !

erro no seguinte codigo php , o mesmo nao mostra somente uma menssagen de erro e sim as duas o que pode esta errado ?

<?php include("cabecalho.php"); ?> <?php function insereProduto($conexao, $nome , $preco){ $query = "insert into produtos (nome,preco) values ('{$nome}', '{$preco}')"; return mysqli_query($conexao , $query);

}

$nome = $_GET["nome"]; $preco = $_GET["preco"]; $conexao = mysqli_connect('localhost','root','','loja');

if (insereProduto($conexao , $nome , $preco)){ ?>

Produto <?= $nome; ?>,<?=$preco;?> adicionado com sucesso!

<?php} else{ ?>

o produto <?=$nome ?> não adicionado

<?php } ?>

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

5 respostas

Quais são as duas mensagens de erro Francisco? Não entendi muito bem =/

Pelo que eu vi seu código está ok.

aparecem as duas menssagens a de erro e de confirmção da adição do produto

O Produto , Foi adicionado com sucesso!

O produto não adicionado:
Notice: Undefined variable: msg in C:\xampp\htdocs\aplicacoes\loja\adiciona-produto.php on line 20

Tá falando que a variável $msg não foi definida..

Você pode postar todo o código do adiciona-produto pra eu dar uma olhada?

olha ai

<?php include("cabecalho.php"); ?> 
<?php
$nome = $_GET["nome"];
$preco = $_GET["preco"];
$conexao = mysqli_connect('localhost','root','','loja');
function insereProduto($conexao, $nome , $preco){
    $query = "insert into produtos (nome,preco) values ('{$nome}', '{$preco}')";
    return  mysqli_query($conexao , $query);

}




    <?php
        if(insereProduto($conexao , $nome , $preco)) { ?>
            <p class="text-success">O Produto <?= $nome ?>,<?= $preco ?> Foi adicionado com sucesso!</p>
            <?php } else { 
                $msg = mysqli_error($conexao);
?>
            <p class="text-danger">O produto <?=$nome ?> não adicionado:<?= $msg ?></p>

<?php
}
?>

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

Cara, olhando assim eu não consegui ver nenhum erro no seu código..

A não ser que você está abrindo uma tag PHP sem fechar a outra.

<?php 
    function insereProduto($conexao, $nome , $preco){
            $query = "insert into produtos (nome,preco) values ('{$nome}', '{$preco}')";
            return  mysqli_query($conexao , $query);

}

    <?php
        if(insereProduto($conexao , $nome , $preco)) { ?>

Deixe assim

<?php 
    function insereProduto($conexao, $nome , $preco){
            $query = "insert into produtos (nome,preco) values ('{$nome}', '{$preco}')";
            return  mysqli_query($conexao , $query);

}
?>

    <?php
        if(insereProduto($conexao , $nome , $preco)) { ?>

Ou tire a tag PHP do começo do if, da na mesma. No include do rodapé você também deu um espaço na hora de abrir ela.

Não sei se é isso, talvez seja, tenta ai e me fala se resolveu.

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