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

Erro - Notice: Undefined index:

Olá! segunda vez que volto fazer esse curso, da primeira deu tudo certo, e agora estou tendo um problema logo de cara...

Eu acabei de formatar meu pc, instalar XAMPP, Sublime Text e etc... eu não consigo visualizar esse conteúdo inicial, o navegador exibe os erros:

'Notice: Undefined index: nome in C:\XAMPP\htdocs\loja\adiciona-produto.php on line 3

Notice: Undefined index: preco in C:\XAMPP\htdocs\loja\adiciona-produto.php on line 4 Produto adicionado com sucesso!'

- e no meu Sublime Text também eu já estranhei que meu código PHP aparenta não ter uma formatação padrão do Sublime igual do vídeo, mesmo eu na lateral inferior do programa trocando para 'PHP'...

esse é o meu código atual, agradeço desde de já!:

<html>
<?php
$nome = $_GET["nome"];
$preco = $_GET["preco"];
?>
Produto <?php echo $nome; ?> adicionado com sucesso!
</html>
4 respostas
solução!

Observando a mensagem de erro:

'Notice: Undefined index: nome in C:\XAMPP\htdocs\loja\adiciona-produto.php on line 3

Percebemos que existe um índice que não foi definido ou melhor não existe dentro da váriavel $_GET nesse caso o 'nome'.

A variável $_GET como você bem deve saber recebe os dados passados por uma requisição HTTP GET. Provavelmente essas variaveis não foram passadas na requisição e por isso não existem. Não adianta chamar algo que não existe.

Uma solução a esse problema é testar se um determinado valor existe antes de usar dessa forma:

<html>
<?php
$nome = isset($_GET["nome"])? $_GET["nome"]:null;
$preco =isset($_GET["preco"])? $_GET["preco"]:null;
?>
Produto <?php echo $nome; ?> adicionado com sucesso!
</html>

Bom dia Enry, se você não conseguir resolver o problema com a resposta do Alfreto, posta aqui como esta o seu formulário que envia os dados "nome" e "preco"

Olá Enry, nesse exemplo as variáveis $nome e $preço não foram definidas pois inicialmente passamos os parâmetros através da URL. Tente adicionar o seguinte:

http://localhost:8080/seuindex.php?nome=teste&preco=1000

Você verá que a mensagem de erro irá desaparecer, mais a frente no curso, essas variáveis serão utilizadas, não necessitando ser declaradas como parâmetros na URL.

Espero ter ajudado.

Valeu galera! deixaram bem claro para mim!

obrigado!

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