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

Erro: Notice: Undefined index: nome in

Então, ao tentar listar todos os produtos exibe um erro:

Notice: Undefined index: nome in [path/produto-lista.php] on line 12 Notice: Undefined index: preco in [path/produto-lista.php] on line 13

As linhas 12 e 13 do produto-lista.php são:

<td><?php echo $produto['nome'] ?></td>
<td><?php echo $produto['preco'] ?></td>

Segue o código:

produto-lista.php:

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

<table class="table table-striped table-bordered">

    <?php
        $produtos = listaProdutos($conexao);
        foreach($produtos as $produto) :
    ?>
    <tr>
        <td><?php echo $produto['nome'] ?></td>
        <td><?php echo $produto['preco'] ?></td>
    </tr>
    <?php
        endforeach
    ?>
</table>

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

adiciona-produto.php:

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

<?php

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

if(insereProduto($conexao, $nome, $preco)) { ?>
    <p class="text-success">O produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php } else {
    $msg = mysqli_error($conexao);
?>
    <p class="text-danger">O produto <?= $nome; ?> não foi adicionado: <?= $msg ?></p>
<?php
}
?>

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

Olá Davi, tudo bem?

Analisando seu código me parece que essa parte está correta, você teria como compartilhar seu projeto no github para que eu possa fazer uma análise mais detalhada?

Abs

Olá Rafael, obrigado por responder.

Estou usando o PhpStorm como IDE junto com o Xampp, caso o problema seja alguma configuração de ambiente.

Segue o link: https://github.com/dfcapistrano/loja.git

Olá Davi,

Obrigado pelo envio do arquivo. Testei seu código e aqui consegui rodá-lo sem problema, você chegou a criar o banco loja e a tabela produtos no Mysql?

Acredito que o problema esteja no banco, a tabela produtos deverá conter o campo id, nome e preco. Se você estiver usando o terminal poderá inserir no banco loja:

create table produtos (id integer auto_increment primary key, nome varchar (255), preco decimal (10,2))

Espero que funcione!

Abs

Então, o banco foi criado conforme o curso.. tabela, valores..

Eu consigo adicionar no banco sem problema, somente na parte de listar aparece esse erro.

Olá Davi,

Fiz um teste em outro computador, mas infelizmente ainda não consegui reproduzir o erro, consegui adicionar e listar os valores no produto-lista.php.

Quando você adiciona alguns produtos, todos os 3 itens são populados (id, nome e preco)?

solução!

Rafael, obrigado pelo apoio.

Consegui resolver o problema. Era na configuração do Mysql na minha máquina.