2
respostas

O que há de errado nesse codigo ?

A função está funcionando corretamente porem se eu descomentar o paragrafo da erro

if (insereProduto($conexao,$nome,$preco)){
 //<p class ="text-success">0 produto <?= $nome ?>, <?= $preco ?> Foi adicionado. </p>
  <?php }else {
    $msg =mysqli_error($conexao);
    ?>
    <p class ="text-danger">0 produto <?= $nome ?>, <?= $preco ?> Não foi adicionado. </p>
    <?php
    }
    ?>
  <?php include ("rodape.php"); ?>
?>
2 respostas

Oi Regis, pelo que eu entendo de php, para vc descomentar esse trecho e funcionar, vc deveria fechar a marcação do if do php, escrever o html e depois abrir a marcação de novo. Que nem vc faz para o segundo <p>.

Olá Regis, O erro ocorre porque você iniciou um código HTML antes de fechar o código PHP.

Onde no seu código está:

if (insereProduto($conexao,$nome,$preco)){
 //<p class ="text-success">0 produto <?= $nome ?>, <?= $preco ?> Foi adicionado. </p>
  <?php }else {

deveria estar:

if (insereProduto($conexao,$nome,$preco)){  ?> // Fechei o php antes de iniciar o HTML.
 <p class ="text-success">0 produto <?= $nome ?>, <?= $preco ?> Foi adicionado. </p>
  <?php }else {

O erro ocorre porque ele encontra o <p como primeira linha depois do if, mas como não foi fechada a tag php ele tenta interpretar este símbolo como sendo php, só que ele não consegue, fechando a tag php ele ignora o HTML e parte para processar a próxima seção 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