|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Undefined variable ou Undefined indexO que significa a mensagem do PHP "Notice: Undefined variable ou Undefined index" e como evitar esse tipo de erro. Nesse artigo irei explicar 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: <?php $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: <?php $x = valor indefinido + 10; ?> A maneira correta e fazer a seguinte operação: <?php $y = 5; $x = $y + 10; ?> ou <?php $y = 0; $x = $y + 10; ?> 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: <?php 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: <?php $info_funcionario = array("nome" => "Patrick Espake", "profissao" => "Programador"); echo $info_funcionario["email"]; ?> 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: <?php echo $_GET['id']; ?> do que <?php if isset($_GET['id'])) echo $_GET['id']; ?> Em casos extremos você pode usar o @ para ocultar as mensagens de notificação. <?php 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.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Dentro de Workshop de PHP Seguinte: Agregar carinhas ao sistema Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em Scripts em PHPComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |