Olá Rubens,
Tudo bem?
As tags <?php
e ?>
indicam o conteúdo que deve ser processado pelo PHP, tudo o que estiver fora delas será interpretado como texto pleno e enviado para frente, no caso do navegador pode ser interpretado como HTML, no caso de uma linha de comando pode ser interpretado como uma saída de texto e assim por diante.
O código
<?php include("cabecalho.php");?> <?php include("conecta.php"); ?> <?php
$nome = $_GET["nome"]; $preco = $_GET["preco"];
function insereProduto ($conexao,$nome,$preco) { $query =" insert into produtos (nome,preco) values('{$nome}',{$preco})"; return mysqli_query($conexao,$query); }
if (insereProduto($conexao,$nome,$preco)) { ?>
Produto <?= $nome; ?>, <?= $preco; ?> adicionado ocm sucesso!
<?php } else { $msg = mysqli_error($conexao); ?>
Produto <?= $nome; ?>, <?= $preco; ?> nao foi adicionado: <?= $msg ?>
<?php }
?>
Poderia ser escrito assim:
<?php
include("cabecalho.php");
include("conecta.php");
$nome = $_GET["nome"];
$preco = $_GET["preco"];
function insereProduto ($conexao,$nome,$preco) {
$query =" insert into produtos (nome,preco)
values('{$nome}',{$preco})";
return mysqli_query($conexao,$query);
}
if (insereProduto($conexao,$nome,$preco)) {
?>
Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!
<?php } else { $msg = mysqli_error($conexao); ?>
Produto <?= $nome; ?>, <?= $preco; ?> nao foi adicionado: <?= $msg ?>
<?php
}
?>
O par de tags <?php e ?>
indicam que o que estiver entre eles deve ser processado como código php, enquanto o par <?= e ?>
indica que o que estiver entre eles deve ser processado como PHP e exibido em tela.
Você pode entender que o
<?= $nome; ?>
é uma versão reduzida de <?php echo $nome; ?>
Eu fechei as tags no código reescrito antes das partes que não deveriam ser processadas pelo PHP.
Ainda neste ponto é importante que embora determinadas partes não estejam entre o <?php e ?>
elas ainda fazem parte do fluxo de execução, no exemplo que eu reescrevi você pode ver que há este trecho:
[...]
if (insereProduto($conexao,$nome,$preco)) {
?>
Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!
<?php } else { $msg = mysqli_error($conexao); ?>
Produto <?= $nome; ?>, <?= $preco; ?> nao foi adicionado: <?= $msg ?>
<?php
}
Você pode notar que há duas linhas que exibem o rpoduto e uma mensagem, um deles de sucesso e uma deles de falha, embora as mensagens não estejam dentro do <?php
elas ainda estão envolvidas entre um if {} else {}
, neste caso o se a condição do IF não for executada ele pula direto para o else, não exibindo nada que esteja entre as chaves ({ e }
) que definem a execução do IF.