Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Por que usar as tags <?php?>

Amigos, bom dia. Estou com uma dúvida sobre a estrutura do código PHP. No código abaixo, o professor fecha a tag php depois dos parâmetros do if, e depois ele abre e fecha o php na linha com o else.

Não entendi o motivo de ter que ficar abrindo e fechando a tag php nesses casos. Por que não fechar a tag no final do código inteiro? É por causa de que os outros elementos são html?

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

<?php
$nome = $_GET["nome"];
$preco = $_GET["preco"];

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

$conexao = mysqli_connect('localhost', 'root', '', 'loja');

if(mysqli_query($conexao, $query)) { ?>
    <p class="alert-success">
        Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!
    </p>
<?php } else { ?>
    <p class="alert-danger">
        Produto <?= $nome; ?> não foi adicionado.
    </p>
<?php } ?>

<?php include("rodape.php"); ?>
3 respostas
solução!

Olá, é bem simples o Código PHP é uma coisa e o resto do Código que é HTML são coisas diferentes.

Eles não se misturam. Então eu não posso abrir o código PHP e escrever HTML no meio. Preciso encerrar o PHP e depois colocar o HTML para então abrir novamente o PHP. Parece um pouco estranho, mas quando você ver qualquer outra linguagem ou Framework que trabalha com a Web eles sempre separam o Código. Porque se não houver essa abertura e fechamento o navegador vai interpretar o código errado.

Basicamente serve para marcamos o que o Servidor/Navegador, deve ler como PHP e o que ele deve ler como HTML. Já que HTML é a lingua "natural" de uma pagina você só precisa demarcar o que é PHP (ou outra linguagem) e automática o navegador "entende" que o que não foi colocado entre a Tag de abertura e fechamento do PHP é HTML.

Se você não fechasse a tag PHP pare inserir o HTML o servidor/navegador tentaria ler tudo como PHP, mas as marcações do HTML não fazem sentido para a linguagem PHP logo daria erro.

É que nem você pedir para o Google Tradutor traduzir de Português para Inglês, mas no meio do Texto em Português você colocar algo em Alemão, ele não vai traduzir o Alemão. E quando se fala de código se a maquina não entende o que você está tentando dizer ela não consegue executar a tarefa.

Todos os tipos de TAG, seja PHP ou outro indica que aquele trecho de código é de determinada linguagem, e ele deverá se comportar como tal.

No seu caso o PHP EXEMPLO: <?php include("rodape.php"); ?>

O codigo diz de uma forma simples, olhe essa parte de código aqui é PHP faça com que isso rode em PHP

Valeu meus amigos!