3
respostas

Como usar melhor o abrir e fechar do <?php e ?>

boa noite! estou com um pouco de duvida em quando utilizar o abrir e o fechar do <?php.. juntamente quando usar o html... em arquivos .php

alguem poderia me ajudar? por exemplo, aqui nesse exemplo, na parte do IF, por que se fechou e depois abriu?


<?php include("cabecalho.php") ?>




<?php

$nome = $_GET["name"];
$preco= $_GET["valor"];
$conexao =mysqli_connect ('127.0.0.1', 'root', 'espelho01', 'loja');


$query = "insert into produtos (nome,preco) values ('{$nome}', {$preco})";

if (mysqli_query($conexao, $query)) {  ?>

      <p class="alert-success" > Produto <?= $nome; ?>  foi adicionado com sucesso!</br> </p>

<?php }else { ?>

      <p class="alert-danger" > Produto <?= $nome; ?>  NÃO foi adicionado!</br> </p>

<?php


}

mysqli_close($conexao);

?>




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

no caso

3 respostas

Boa noite, Taina!

O PHP é que controla a exibição ou não do HTML. Em um if você poderia imaginar como se o que tá dentro dele fosse um echo, que imprime na tela o html. Seria algo tipo:

if (mysqli_query($conexao, $query)) {
    echo "<p class="alert-success" > Produto <?= $nome; ?>  foi adicionado com sucesso!</br> </p>");
} else {
    echo "<p class="alert-danger" > Produto <?= $nome; ?>  NÃO foi adicionado!</br> </p>");
}

Só que, como o navegador não executa instruções php, você tem que informar que aquele bloco de código em específico é php, por isso informamos as partes php dentro das tags "<?php" e "?>" como em:

<?php  /** aqui informo que vou começar uma instrução php. A partir daqui, tudo será interpretado como PHP **/
if (mysqli_query($conexao, $query)) {
/** aqui eu informo que vou acabar uma instrução php. A partir daqui, tudo será interpretado como HTML **/ ?>

    <p class="alert-success" > Produto <?= $nome; ?>  foi adicionado com sucesso!</br> </p>

<?php /** aqui informo que vou começar uma instrução php. A partir daqui, tudo será interpretado como PHP **/
} else { 
/** aqui eu informo que vou acabar uma instrução php. A partir daqui, tudo será interpretado como HTML **/ ?>

    <p class="alert-danger" > Produto <?= $nome; ?>  NÃO foi adicionado!</br> </p>
<?php /** aqui informo que vou começar uma instrução php. A partir daqui, tudo será interpretado como PHP **/
}
mysqli_close($conexao); 
/** aqui eu informo que vou acabar uma instrução php. A partir daqui, tudo será interpretado como HTML **/ ?>

Assim, após cada tag "<?php" o interpretador do PHP executa as instruções e, após a tag "?>" ele volta a renderizar o HTML puro.

Espero ter ajudado. Se ainda tiver dúvidas, só postar.

Abraço.

A resposta do Manuel está muito boa e completa.

Mas resumindo: basicamente você abre <?php quando for usar código php. Fecha ?> php quando for utilizar html e tiver a tag php <?php aberta. Nos casos de impressão de valor do php no meio do html usa <?= $variavel ?> .

A resposta do Manuel está muito boa e completa.

Mas resumindo: basicamente você abre <?php quando for usar código php. Fecha ?> php quando for utilizar html e tiver a tag php <?php aberta. Nos casos de impressão de valor do php no meio do html usa <?= $variavel ?> .