Undefined variable ou Undefined index

Setembro 23, 2008 at 8:07 am (php)

O que significa a mensagem do PHP “Notice: Undefined variable ou Undefined index” e como evitar esse tipo de erro.

Para entender esse tipo de mensagem, observe o exemplo abaixo:

$x = $y + 10;

Executando esse script, que valor deve conter a variável $x?

Você deve responder, impossível dizer, não sei qual é o valor da variável $y. Para o PHP a resposta é a mesma, para ele está sendo feito a seguinte operação internamente:

$x = valor indefinido + 10;

A maneira correta e fazer a seguinte operação:

$y = 5;

$x = $y + 10;

ou

$y = 0;

Toda vez que é feita uma operação com uma variável “valor indefinido” o PHP exibe a mensagem Notice: Undefined variable.

Muitas vezes os nossos problemas de programação são mais complexos, pois estamos trabalhando com variáveis passadas por SESSION, GET, POST e outros métodos, para trabalhar dessa forma e necessário avaliar a condição da variável, por exemplo:

if(!isset($y))

$y = 0;

Esse script verifica se a variável existe, se a variável não existir é atribuído zero.

Pode ocorrer o mesmo erro quanto estamos trabalhando com arrays e tentamos acessar uma posição que não existe, por exemplo:

$info_funcionario = array(“nome” => “Patrick Espake”, “profissao” => “Programador”);

No script acima estou tentando acessar o índice “email” no array, esse índice não existe e o PHP exibe a mensagem Notice: Undefined index email.

Você pode fazer a seguinte afirmação: “Já programei assim em PHP e nunca apareceu esse erro!”.

O que acontece é que essas notificações de erros podem ser configuradas no PHP.INI, muitos programadores em ambiente de desenvolvimento deixam configurado para exibir todos os erros e em ambiente de produção deixam
configurado para não exibir os erros de notificação.

Para configurar o PHP.INI para mostrar todos os erros, você deve deixar a cláusula error_reporting da seguinte forma:

error_reporting = E_ALL

Para configurar o PHP.INI para não exibir as mensagens de notificação você deve deixar da seguinte forma:

error_reporting = E_ALL & ~E_NOTICE

Em outras linguagens de programação uma variável não inicializada pode conter qualquer coisa, no PHP é considerado como nulo ou como 0 em uma operação aritmética.

Além disso, é mais rápido escrever:

echo $_GET['id'];

do que

if isset($_GET['id'])) echo $_GET['id'];

Em casos extremos você pode usar o @ para ocultar as mensagens de notificação.

echo @$_GET['id'];

Eu considero esse método muito rigoroso, então é melhor fazer o que você acha melhor. Essas notificações podem ajudar durante o desenvolvimento, para detectar determinados erros.

Fonte: http://www.criarweb.com/artigos/undefined-variable-ou-undefined-index.html

Link Permanente Deixe um comentário

Podcast Canção Nova

Julho 8, 2008 at 9:12 am (ajax, canção nova, javascript, mysql, php, trabalhos) (, , , )

Este é o novo portal da Canção Nova que brevemente estará no ar: o Canção Nova Podcast.

O Projeto trata-se de um portal que reunirá todos os conteúdos em áudio (podcast) criados por autores da comunidade Canção Nova, e serão divididos por categorias. A especificação do projeto e a criação do Banco de dados deram início em abril deste ano, e contou com a supervisão do Padre Xavier, André Bittencourt e Luciana Silva M.

O portal e o sistema de administração, começaram a serem desenvolvidos em meados de abril e começo de maio, por mim e por minha querida colega de trabalho Patricia Fernandes!! Usamos PHP, Ajax, JavaScript, MySQL.

O design do site foi feito pela equipe de SP, e o design do admin foi feito pelo nosso grande designer Marco Moura!

Bom é isso aí, espero que seja aprovado, e logo logo esteja no ar para vocês conferirem!

Administrador Podcast Canção Nov

Administrador Podcast Canção Nova

canção nova podcast

Canção Nova Podcast

Link Permanente 1 Comentário