10
respostas

Include funciona apenas no index.php

Verifiquei as dúvidas aqui, mas nada se aplicou :/ Estou usando o Atom. Segue meu codigo... e depois, o erro que aparece em "adiciona produto.php" quando eu atualizei a pagina:

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

$nome = $_GET["nome"];
$preco = $_GET["preco"];

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

<?php include ("rodape.php");?>
$nome = $_GET["nome"]; $preco = $_GET["preco"];
Produto 
Notice: Undefined variable: nome in /opt/lampp/htdocs/loja/adiciona-produto.php on line 6
,
Notice: Undefined variable: preco in /opt/lampp/htdocs/loja/adiciona-produto.php on line 6
adicionado com sucesso!

O Próximo erro é em "produto-formulario.php", que perdeu toda configuração do CSS aplicada anteriormente porque o include não funcionou:

<?php include ("cabecalho.php");?>
<form action="adiciona-produto.php">
Nome:
<input type="text" name="nome"><br/>
Preco:
<input type="number" name="preco"><br/>

<input type="submit" value="Cadastrar">
</form>
<?php include ("rodape.php");?>

Obrigada!

10 respostas

Oi Jéssica,

Antes de declarar as variáveis, ficou faltando abrir código php.

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

Felipe, obrigada pela ajuda! Mas eu acho que ainda estou fazendo algo errado e não percebi...desculpe se minhas dúvidas são muito de iniciante, comecei a ver tudo isso na sexta rsrs

1- Adiciona Produto:

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

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

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

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

2- Produto Formulário:

<?php include ("cabecalho.php");?>
<?php
<form action="adiciona-produto.php">
Nome:
<input type="text" name="nome"><br/>
Preco:
<input type="number" name="preco"><br/>

<input type="submit" value="Cadastrar">
</form>
?>
<?php include ("rodape.php");?>

Obrigada!

Oi Jéssica, é natural ter dúvidas mesmo rs

Acredito que o erro pode estar no código do produto formulário, já que o código do adiciona produto você arrumou.

Antes do form, não precisamos abrir código php, ficaria assim:

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

<form action="adiciona-produto.php">
Nome:
<input type="text" name="nome"><br/>
Preco:
<input type="number" name="preco"><br/>

<input type="submit" value="Cadastrar">
</form>

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

Bom, eu copiei inclusive seu código e não consegui :/

O que eu acho mais estranho é que pro index.php foi direitinho...

Vamos resolver isso rsrs, pode mandar outra vez os códigos do:

index.php adiciona-produto.php produto-formulario.php

Oi Jéssica, tudo bom? =)

Seu código do cabecalho está parecido com o código a seguir?

<html>
<head>
    <title>Minha loja</title>
    <meta charset="utf-8">
    <link href="css/bootstrap.css" rel="stylesheet" />
    <link href="css/loja.css" rel="stylesheet" />
</head>
<body>
    <div class="container">
        <div class="principal">

E seu rodapé está parecido com o código a seguir?

        </div>
    </div>
</body>
</html>

O código entre os includes não parece ter mais nada de errado.

Se você quiser, pode baixar o projeto pronto desse capitulo aqui e dar uma conferida. As vezes é bom pra comparar e dar um norte =)

Qualquer problema, compartilha um pouco mais do seu código com a gente, assim fica mais fácil até de simular seu problema e ir descobrindo.

Abraço

Me ajudou muito ver o código fonte para comparação! Tinham pequenas coisas faltando, como ausência de / em algumas linhas. O único que ainda não aceitou a formatação foi o "adiciona-produto.php", vou revisar mais uma vez e copiar a pasta fonts que não veio na versão do Bootstrap que eu baixei e ver se isso está influenciando em algo e já retorno para vocês.

Meu "adiciona_produto.php continua não recebendo o css do cabeçalho e do rodapé...faltou algo no código?

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

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

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

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

Vou colocar o rodapé e o cabeçalho aqui também para ficar mais fácil:

1- rodape.php

    </div>
    <div>


</body>
</html>

2- cabecalho.php

<html>
<head>
  <title>Minha loja</title>
  <meta charset="utf-8">
  <link href="css.bootstrap.css" rel="stylesheet"/>
  <link href="css/loja.css" rel="stylesheet"/>
</head>
<body>
    <div class="container">
      <div class="principal">

Oi Jéssica,

No primeiro link o caminho que a gente quer usar é:

<link href="css/bootstrap.css" rel="stylesheet"/>

No seu código tem um ponto ao invés da barra

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