Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Comportamento estranho

Boa noite pessoal. Quando executei meu código abaixo , eu notei que o mesmo ficou com o comportamento estranho; nesse caso em específico eu adicionava um produto e ele me dava uma mensagem que o produto foi adicionado com sucesso e logo abaixo a mensagem que não foi adicionado:

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

      }

      $conexao = mysqli_connect('localhost', 'root', '', 'loja');
      if(inseriProduto($conexao,$nome,$preco)){?>
          <p class="alert_success"> Produto <?=$nome;?>, <?=$preco;?> foi adicionado com sucesso </p>
      <?php} else {?>
          <p class="alert_danger"> Produto <?=$nome;?>, não foi adicionado </p>
          <?php } ?>




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

Reparei que o que estava provocando isso era a parte de fechar o código PHP na mesma linha assim: <?php } else }?> . Quando arrumei assim :

<?php
    } else {
     ?>

Funcionou.

1 resposta

A tag <?php não pode ficar junta com outro caracter. Sempre tem que ter um espaço em branco entre tag e outro caracter. Se não tiver este espaço o interpretador não reconhece com tag de abertura do PHP e não processa os comandos como instruções PHP.