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

Entendendo o erro.

Boa noite, bom estou recebendo um erro, que eu ACHO que sei, más não consigo de forma alguma resolver.

O erro que aparece para mim quando vou adicionar produto é:

Notice: Undefined index: nome in C:\xampp\htdocs\loja2\adiciona-produto.php on line 10

Notice: Undefined index: preco in C:\xampp\htdocs\loja2\adiciona-produto.php on line 11

Notice: Undefined index: descricao in C:\xampp\htdocs\loja2\adiciona-produto.php on line 12

Notice: Undefined index: categoria_id in C:\xampp\htdocs\loja2\adiciona-produto.php on line 13
insert into produtos (nome, preco, descricao, categoria_id) values ('', , '', '')

más meu adiciona-produto está dessa forma

<?php 
include("cabecalho.php");
include("conecta.php");
include("banco-categoria.php");
include("banco-produto.php");

$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];

if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id)) { ?>

<p class="text-success">Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php
} else {
?>
<p class="text-danger">O produto <? = $nome; ?> não foi adicionado</p>
<?php
}
?>


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

o que raios não está declarado que eu não consigo achar? rsrsr não estou entendendo o motivo..

Desde já agradeço!!!

4 respostas
solução!

Você poderia enviar o código do seu formulário?

Opa sim, aqui está meu código

<?php
include("cabecalho.php");
include("conecta.php");
include("banco-categoria.php");


$categorias = listaCategorias($conexao);
?>

<html>
<form action="adiciona-produto.php">
<h1>Formulario</h1>
<table class="table">
<tr>
    <td> Nome: </td> 
    <td><input class="form-control" type="text" name="nome"></td>
</tr>
<tr>
    <td> Preco</td>
     <td><input class="form-control" type="number" name="preco"></td>
</tr>
<tr>

        <td> Descrição </td>
        <td><textarea class="form-control" name="descricao"> </textarea></td>

    </tr>
<tr>
    <td>Categorias</td>
<td>
    <?php foreach ($categorias as $categoria) : ?>
    <input type="radio" name="categoria_id" value="<?=$categoria['id']?>"><?=$categoria['nome'] ?></br>

    <?php endforeach ?>    

</td>
</tr>
<tr>
    <td><input class="btn btn-primary" type="submit" name="cadastrar"></td>
</tr>
</table>
</form>    


</html>

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

Gustavo, no codigo do seu form está faltando o post coloque assim no form do seu formulário do produto:

<form action="adiciona-produto.php" method="post">

Abraço!

Opa Matheus valeu, resolveu o erro!