Tuk 0 Denunciar post Postado Março 9, 2010 Bem pessoal,tava tentando aqui montar um potfólio em php, montei o paginas.php mais ele está dando erro. <? switch ($_GET['pg']){ case 'sobre': include "sobre.php"; break; case 'busca': include "busca.php"; break; case 'contato': include "contato.php"; break; case 'servicos': include "servicos.php"; break; case 'portfolio': include "portfolio.php"; break; case 'videos': include "videos.php"; break; case 'contato': include "contato.php"; break; default: include ("home.php"); break; } ?> o erro : Notice: Undefined index: pg in C:\wamp\www\RM - portfolio\paginas.php on line 2 Ele até puxa a home.php quando eu entro no site, mais emcima fica esse erro, eu sei que pode parecer um erro muito basico, mais é que estou começando. Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Março 9, 2010 dá um echo em $_GET['pg'], pra v o q q aparece. echo "Valor recebido: ".$_GET['pg']; Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 9, 2010 Troca: <? switch ($_GET['pg']){ por: <?php $pg = isset( $_GET['pg'] ) ? $_GET['pg'] : null; switch ( $pg ){ Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Março 9, 2010 Isso porque você não verifica se $_GET['pg'] existe antes de usar. Você pode fazer verificações para evitar esses erros Notice. Ex: <?php $pg = ( isset( $_GET['pg'] ) ? $_GET['pg'] : null; // agora sim você pode fazer o switch sem problemas. switch( $pg ) { /* */ } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Tuk 0 Denunciar post Postado Março 9, 2010 Então tenho que nular o $_GET pra fazer o switch, lembro que uma vez fiz direto e funcionou. Mais tudo bem. Obrigado Resolvido Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 9, 2010 Não é 'anular', mas sim atribuir um valor default caso não exista o indice do array super global $_GET veja que isso é apenas um Notice: não um Fatal error: 'na outra vez que você fez direto e funcionou', provavelmente o servidor não estava com todas as mensagens de erro habilitadas. Estude php, ou 'programação básica', e verá que não faz sentido (falando em lógica), usar uma variável que não existe. Por isso o php te manda o Notice. isset() http://www.php.net/isset Compartilhar este post Link para o post Compartilhar em outros sites
zaiats 0 Denunciar post Postado Novembro 21, 2011 tava com o mesmo problema... e isso resolveu mesmo. VALEU! Compartilhar este post Link para o post Compartilhar em outros sites
playopen 0 Denunciar post Postado Dezembro 2, 2015 Ola amigo, se eu desabilitar o display erro no php vai desabilitar tambem um fatal erro?? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 2, 2015 Não vai aparecer, mas vai quebrar a app do mesmo jeito. Compartilhar este post Link para o post Compartilhar em outros sites