Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Giullyanny

[Resolvido] codigo não aparece erro esperando...

Recommended Posts

Bom dia amigos...

 

estou com este codigo, pesquisando na internet e encontrei o q eu precisava...

 

Mas ele n funciona totalmente como eu precisava... veja o codigo.:

<?php include('_paginas/cabecalho.php'); ?>

<?php 
foreach ($_REQUEST as $___opt => $___val) {
 $$___opt = $___val;
}
if(empty($nav)) {
include("_paginas/navegar/home.php");
}
elseif(substr($nav, 0, 4)=='http' or substr($nav, 
0, 1)=="/" or substr($nav, 0, 1)==".") 
{
echo '<br><font face=arial size=11px><br><b>A página não existe.</b><br>Por favor selecione uma página a partir do Menu Principal.</font>'; 
}
else {
include("_paginas/navegar/$nav.php");
}

?>

<?php include('_paginas/rodape.php'); ?>

 

Bom ele funcionaria da seguinte forma ele busca a pagina atraves do q se passa na url...

mas ele deveria aparecer um aviso se a pagina não existir, mas ele fica somente em branco onde a pagina deveria existir!

 

Alguem poderia ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado amigos...

 

mas msm assim continuo com o erro.:

 

C. Medeiros isso é so para abilitar q os erros aparecem caso o php.ini esteja configurado para ocultar o erro...

 

o erro q aparece é.:

Warning: include(_paginas/navegar/nutricao1.php): failed to open stream: No such file or directory in C:\Program Files (x86)\Apache2.2\htdocs\jatoba\index.php on line 18 Warning: include(): Failed opening '_paginas/navegar/nutricao1.php' for inclusion (include_path='.;C:\php5\pear') in C:\Program Files (x86)\Apache2.2\htdocs\jatoba\index.php on line 18 

 

sei q este erro é pq ele n conseguiu incluir o arquivo q ele procurava, mas o q eu espero q o erro que aparessa é este a tem no codigo.:

echo '<br><font face=arial size=11px><br><b>A página não existe.</b><br>Por favor selecione uma página a partir do Menu Principal.</font>';

 

E beraldo sobre?

de onde vem $nav e como você cria essa variável?

do foreach, ao menos o cara q passou disse q era de lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, o cara me passou isso! para mim isso é meio avançado, saca!

 

o cara me passou e eu num vi nada disso tb, ele me disse assim, alto e claro.:

 

onde está o foreach, faz com q tudo funcione, esse meu codigo funciona, só n funciona o tratamento de erro dele...

 

e preciso muito de vcs, como me ajudou agora.

 

Obrigado beraldo... mas poderia me dizer pq n acontece o q eu quero? o tratamento do erro deste codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá para supor que $nav seja criado no foreach, desde que exista um "nav" na URL ou passado via POST.

O $$__opt faz essa "mágica". Veja o link abaixo para entender melhor

http://www.php.net/manual/en/language.variables.variable.php

 

Mas você tem que saber de onde esse valor vem.

Dê um echo e veja o que tem nele.

 

qual é a intenção do código?

apenas fazer query string?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso msm, tem na url, o q me passou já é basico... mas aquele erro q ponho para aparecer ele num aparece qdo clico em uma pagina q num existe, saca?

 

de proposito coloquei um link apenas para teste... e ele fica somente em branco num aparece nada, onde deveria aparecer o erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nu m compriendi eles la tb n, mas lhe digo q se tirar eles, o codigo so fica aparecendo aquela pagina lá, onde eu tratei o erro

 

estou vendo o q eu consigo aqui, e se conseguir algo eu posto.

 

funcionaou aqui.:

 

 

obrigado amigos

 

<?php
ini_set("display_errors", 1);  
error_reporting(E_ALL);
foreach ($_REQUEST as $___opt => $___val) {
 $$___opt = $___val;
}
if(empty($nav)) {
include("_paginas/navegar/home.php");
}
elseif(substr($nav, 0, 4)=='http' or substr($nav, 
0, 1)=="/" or substr($nav, 0, 1)==".") 
{
echo '<br><font face=arial size=4px><br><b>A página não existe.</b><br>Por favor selecione uma página a partir do Menu Principal.</font>'; 
}
else {
if (!file_exists("_paginas/navegar/$nav.php"))
	echo '<br><font face=arial size=4px><br><b>A página não existe.</b><br>Por favor selecione uma página a partir do Menu Principal.</font>'; 
else 
	include("_paginas/navegar/$nav.php");
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma dúvida que eu fiquei pelo menos.. onde diabos a variavel $nav é criada ?

no meio desse for ai ?

 

?nav=home

 

é isso ?

se for cara, péssima prática de programação, e você está voltando no tempo, fazendo na mão um 'register globals', que o core do php decidiu 'desativar'.

 

e assim, todo esse substr é desnecessário, pois você não vai conseguir fazer include de uma página externa (com o http ali)

include não é uma função, portanto não precisa dos ()

 

na minha opinião, ficou horrível esse código ai.

se for verificar arquivos, prefira is_file()

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma dúvida que eu fiquei pelo menos.. onde diabos a variavel $nav é criada ?

no meio desse for ai ?

 

?nav=home

 

é isso ?

se for cara, péssima prática de programação, e você está voltando no tempo, fazendo na mão um 'register globals', que o core do php decidiu 'desativar'.

Se entendi bem, ela é criada com $$_opt, que cria a variável com o conteúdo de $__opt, que em algum ponto do loop será "nav"

Não depende de register_globals, mas é feio do mesmo jeito :P

Muitos reclamam quando falamos que o código está feio e/ou errado, então nem comento mais muito sobre isso...

 

Fato é que existem maneiras muito mais simples e claras de se fazer uma query string.

 

 

 

e assim, todo esse substr é desnecessário, pois você não vai conseguir fazer include de uma página externa (com o http ali)

A não ser que allow_url_include esteja em on. Até onde sei, sempre vem em off para qualquer distribuição do PHP, mas sei lá.. vai que resolvem ativar

Compartilhar este post


Link para o post
Compartilhar em outros sites

aham.. é mesmo Beraldo.

 

mas às vezes não dá cara.. não consigo 'me segurar', olha isso aqui:

http://forum.imasters.com.br/index.php?/topic/420829-como-tratar-erro-warning-include-para-pagina-nao-encontrada/page__view__findpost__p__1658472

 

exatamente o mesmo código!

 

provavel que tenha algum tutorial(mal escrito) bem indexado rolando por ai...

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.