Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lordlex

[Resolvido] Notice do php

Recommended Posts

ola amigos do forum tudo beleza estou com um problema com o wamp server qnd vou testar o site fica aparecendo um notice na pagina

 

Notice: Undefined index: pg in C:\wamp\www\classifinal4\ctindex.php on line 3

 

como faço pra desativar isso ja tentei tudo e nao ta dano certo qnda da esse notice ele buga as divs da pagina =(

 

no php.ini ta assim

 

 

; error_reporting

; Default Value: E_ALL & ~E_NOTICE

; Development Value: E_ALL | E_STRICT

; Production Value: E_ALL & ~E_DEPRECATED

 

vlw ajuda pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola amigos do forum tudo beleza estou com um problema com o wamp server qnd vou testar o site fica aparecendo um notice na pagina

 

Notice: Undefined index: pg in C:\wamp\www\classifinal4\ctindex.php on line 3

 

como faço pra desativar isso ja tentei tudo e nao ta dano certo qnda da esse notice ele buga as divs da pagina =(

 

no php.ini ta assim

 

 

; error_reporting

; Default Value: E_ALL & ~E_NOTICE

; Development Value: E_ALL | E_STRICT

; Production Value: E_ALL & ~E_DEPRECATED

 

vlw ajuda pessoal

 

Amigo, tente postar pelo menos as 5 primeiras linhas .... ou indique qual é a terceira linha desta página ctindex.php....

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o correto não é parar de exibir este erro, o correto é corrigí-lo.

 

Faça testes de consistência antes de usar variáveis, utilizando isset(). Um exemplo.

 

$pg = isset($_GET['pg']) ? $_GET['pg'] : '' ;

Isto é um operador ternário. É o mesmo que dizer;

 

if(isset($_GET['pg']))
{
     $pg = $_GET['pg'];
}
else
{
     $pg = '';
}

Aí você passa a utilizar a $pg, que vai existir, as vezes com valor, as vezes vazio, mas sempre vai existir.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

a beleza vlw ajuda amigos isso esta dano no uso do switch e assim q devo fazer pq ainda esta dano o notice ?

 

vlw ajuda

 

<?php
if(isset($_GET['pg']))
{
     $pg = $_GET['pg'];
}
else
{
     $pg = '';
}

switch ($_GET['pg']){

case 'sobre':
include "sobre.php";
break;

case 'faleconosco':
include "faleconosco.php";
break;

case 'servicos':
include "servicos.php";
break;

case 'termosdeuso':
include "termosdeuso.php";
break;

case 'politica':
include "politica.php";
break;

case 'detalheimoveis':
include "anuncios/detalheimoveis.php";
break;

case 'casa 4 quartos':
include "anuncios/casa 4 quartos.php";
break;

case 'enviado':
include "enviado.php";
break;

case 'quemsomos':
include "quemsomos.php";
break;

case 'filhotelabrador':
include "anuncios/filhotelabrador.php";
break;


case 'linea':
include "anuncios/linea.php";
break;

case 'strada':
include "anuncios/strada.php";
break;


case 'detalhe':
include "detalhe.php";
break;


case 'detalhes':
include "detalhes.php";
break;

case 'detalhesimo':
include "detalhesimo.php";
break;

case 'busca':
include "anuncios/busca.php";
break;



case 'tdcategorias':
include "tdcategorias.php";
break;

case 'imoveis':
include "imoveis.php";
break;

case 'animais':
include "animais.php";
break;

case 'animais2':
include "animais2.php";
break;

case 'veiculos':
include "veiculos.php";
break;

case 'criancas':
include "criancas.php";
break;

case 'arte':
include "arte.php";
break;

case 'uno2000':
include "uno2000.php";
break;

case 'exemploveiculos':
include "anuncios/exemploveiculos.php";
break;

case 'exemploimovel':
include "anuncios/exemploimovel.php";
break;

case 'exemplogeral':
include "anuncios/exemplogeral.php";
break;

case 'anuncie':
include "anuncie.php";
break;

default:
include ("home.php");
break;

}
?>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Você verificou se a variável $_GET['pg'] existe e criou uma variável $pg, mas, no switch, ontinuou usando $_GET['pg'], quando deveria passar a usar $pg, que já está verificada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você verificou se a variável $_GET['pg'] existe e criou uma variável $pg, mas, no switch, ontinuou usando $_GET['pg'], quando deveria passar a usar $pg, que já está verificada.

 

 

O Imaggens tem razão.

 

Eu não sei se isso vai interferir nesse erro, mas o certo seria você fazer isso:

 

<?php
if (isset($_GET['pg'])) {
$pg = $_GET['pg'];

// switchcase $pg
switch ($pg){
 case 'sobre':    include "sobre.php"; break;
 case 'faleconosco':  include "faleconosco.php"; break;
 case 'servicos':   include "servicos.php"; break;
 case 'termosdeuso':  include "termosdeuso.php"; break;
 case 'politica':   include "politica.php"; break;
 case 'detalheimoveis':  include "anuncios/detalheimoveis.php"; break;
 case 'casa 4 quartos':  include "anuncios/casa 4 quartos.php"; break;
 case 'enviado':   include "enviado.php"; break;
 case 'quemsomos':   include "quemsomos.php"; break;
 case 'filhotelabrador': include "anuncios/filhotelabrador.php"; break;
 case 'linea':    include "anuncios/linea.php"; break;
 case 'strada':    include "anuncios/strada.php"; break;
 case 'detalhe':   include "detalhe.php"; break;
 case 'detalhes':   include "detalhes.php"; break;
 case 'detalhesimo':  include "detalhesimo.php"; break;
 case 'busca':    include "anuncios/busca.php"; break;
 case 'tdcategorias':  include "tdcategorias.php"; break;
 case 'imoveis':   include "imoveis.php"; break;
 case 'animais':   include "animais.php"; break;
 case 'animais2':   include "animais2.php"; break;
 case 'veiculos':   include "veiculos.php"; break;
 case 'criancas':   include "criancas.php"; break;
 case 'arte':    include "arte.php"; break;
 case 'uno2000':   include "uno2000.php"; break;
 case 'exemploveiculos': include "anuncios/exemploveiculos.php"; break;
 case 'exemploimovel':  include "anuncios/exemploimovel.php"; break;
 case 'exemplogeral':  include "anuncios/exemplogeral.php"; break;
 case 'anuncie':   include "anuncie.php"; break;
 default:     include ("home.php"); break;
} 
// eo switchcase $pg
} else {
include ("home.php");
}
?>

 

ou então você pode simplificar assim, já que a string que vem na $pg é o mesmo do nome do arquivo:

 

<?php
if (isset($_GET['pg'])) {

$pg = $_GET['pg'];

if (is_file('./'.$pg)) {
 include('./'.$pg);
} elseif (is_file('./anuncios/'.$pg)) {
 include('./anuncios/'.$pg);
} else {
 include('home.php');
}

} else {
include ("home.php");
}
?>

 

O segundo exemplo é bem mais otimizado.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw ajda amigo Lucas o codigo q você me passou deu certo muito show o segundo q você otimizou como estou aprendeno php ficou dificil para eu entender o primeiro foi mais facil

 

vlw ajuda

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw ajda amigo Lucas o codigo q você me passou deu certo muito show o segundo q você otimizou como estou aprendeno php ficou dificil para eu entender o primeiro foi mais facil

 

vlw ajuda

 

Abraços

 

 

Legal, mas já que eu postei o código e você não entendeu, vou lhe explicar:

 

<?php
if (isset($_GET['pg'])) { // Se (existe $_GET['pg']) faz ...

$pg = $_GET['pg']; // Coloca $_GET['pg'] numa nova variavel $pg, que conterá o nome do arquivo

if (is_file('./'.$pg)) { // Se ($pg é um arquivo existente na pasta atual) faz ...
 include('./'.$pg); // incluia o arquivo com o nome $pg que está na pasta atual
} elseif (is_file('./anuncios/'.$pg)) { // ... Se não, se for arquivo existente mas dentro da pasta anuncios...
 include('./anuncios/'.$pg); // inclui o arquivo, cujo o nome está em $pg, que se localiza dentro de /anuncios/
} else { // Se nenhuma das condições for verdadeiras ...
 include('home.php'); // inclui um arquivo default home.php
}

} else { // se não existe $_GET['pg'] ... 
include ("home.php"); // inclui um arquivo default home.php
}
?>

 

entendeu?? ... heuhue eu sei que parece complicado, mas não é tanto assim =P

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.