Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de PHP
SEÇÕES
Manuais relacionados
+Workshop de PHP
Categorias
+Scripts em PHP

Índice do Manual Workshop de PHP
+ Gestão de ficheiros através de PHP
+ Upload de ficheiros com PHP
+ Verificar a existência de uma URL
+ Leitura sequencial de ficheiros com PHP
+ Escritura em ficheiros com PHP
+ Gestão de directórios com PHP
+ Função que escreve um campo select com valores de uma base de dados
+ Receber o último ID de uma inserção com PHP e MySQL
+ Recolher dados de um Select Multiple com PHP
+ Enviar e-mails pelo PHP
+ Validar um endereço email em PHP
+ Loop para receber todas as variáveis por POST em PHP
+ Enviar um formulário por mail com PHP
+ Paginação de resultados com PHP e MySQL
+ Usuários ativos com PHP
+ Listas de elementos com cores alternas em PHP
+ Programas de livre distribuição em PHP
+ phpMyAdmin
+ Formatação de uma cadeia
+ Cálculo dos dias de um mês em PHP
+ Contador simples para páginas PHP
+ Avaliações dos usuários em PHP
+ Rastrear os robôs de buscadores
+ Recomendar um site usando PHP
+ Criação de um log de erros
+ Comprimir página PHP
+ Contador PHP com imagens
+ Editor PHP Maguma Studio
+ SiteMaps de Google em PHP
+ Teste de velocidade de conexão à Internet
+ Mostrar Conteúdo de acordo com o país em PHP
+ Conteúdos em banco de dados com PHP
+ Problemas com as datas em timestamp Unix de PHP
+ Contar o número de linhas e caracteres em arquivo PHP
+ Transformação Doc, Odt ou Rtf para PDF
+ Preencher um arquivo RTF e gerar o PDF
+ Converter arquivos ods ou xls para pdf
+ PHP isam, ferramenta Web para Arquivos Planos
+ Undefined variable ou Undefined index
+ Agregar carinhas ao sistema
+ Paginator, script para paginação com PHP e MySQL
+ Executar scripts PHP automaticamente através do cron com CURL
+ Uso do FTP com PHP
+ Instalação de One or Zero PHP Helpdesk
+ Portal PHP Nuke
+ Gerando feed RSS de notícias em PHP
+ Blasten blt-SEARCH 1.0.5
+ Classes e Objetos em PHP
+ Recuperando a qualidade de uma imagem JPEG
+ Comprovar se existe o domínio do correio
+ Tutorial de BBCode
+ Função em PHP para o cálculo de minutos transcorridos em duas horas dadas
+ Criação de gráficos em PHP com JpGraph
+ Gerar documentos de Word RTF com PHP
+ Introdução ao Symfony
+ Arredondar decimais em PHP
+ Envio de boletins a e-mails de um banco de dados MySQL
+ Htaccess e páginas dinâmicas
+ Criando imagens com PHP
+ Programar um buscador com PHP e MySQL
+ Loop para receber todos os dados de uma fila de um recordset com PHP

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Undefined variable ou Undefined index

O 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

Manuais relacionados com este artigo
Dentro de Workshop de PHP

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 PHP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites