Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida com include, GET, etc ...


Anderson Ferreira

Pergunta

Salve, salve galera do Scrip Brasil ♥

Bom, lá vai eu com mais uma das minhas dúvidas (uma das milhares q já postei aq no fórum :$)

Então galera, o problema é o seguinte:

Estou criando um site, então nos links estou usando o GET. Então o link da página fica da seguinte maneira (por exemplo):

http://xxx.com/index.php?local=sobre_nos

Ou seja, existe uma variável "local". No exemplo acima, a variável "local" tem o valor "sobre_nos".

Estou fazendo assim pra abrir as página do meu site: Criei uma página padrão. E nesta página tem uma include da seguinte maneira:

include "paginas/"."$local".".php";

Ou seja, com o exemplo do link acima, já q o "local" vale "sobre_nos", então a include ficaria da seguinte maneira:

include "paginas/"."sobre_nos".".php"; ou include "paginas/sobre_nos.php";

Acho q deu pra entender :D

O problema é. vamos supor q um super-extremo cara experto, deseja alterar na URL o valor de "local". Por exemplo, vamos supor q esse cara super-extremo experto, troque:

http://xxx.com/index.php?local=sobre_nos por: http://xxx.com/index.php?local=astrogildo

Então a include do PHP vai ficar da seguinte maneira:

include "paginas/astrogildo.php";

Sendo q não existe a página "paginas/astrogildo.php". Então fica assim o erro: -> Vejam nesta página: http://xxx.com/index.php?local=astrogildo

Esse q é o problema. Como fazer pra q, quando o include der erro (diretório não existe), ele reedirecioanr para a página de 404?

Bom .. não sei se expliquei muito bem :$ / então se extiver muito confuso, comentem q tento dar uma clariada.

Obrigado,

Anderson Ferreira

Editado por Anderson Ferreira
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Você pode utilizar try...catch para isso, embora existam maneiras mais seguras: http://pt.php.net/manual/pt_BR/language.exceptions.php

Bom Jhonatan... Eu entendo o 'básico dos básico de PHP' :S

Então, com este manual do PHP q você me passou, 90% dos comandos q ele está usando eu não conheço... Ou seja, não entendi nada q esta nessa pagina :$

O básico q entendi, foi no 1° script, q tem algo de 'inversão', ou seja, não entendi mesmo

Mas pra mim, pode ser a maneira mais simples mesmo (não precisa ser a mais segura), pois este site q estou fazendo, é mais como se fosse um site 'pessoal'... Mais pra amigos e familiares, ou seja, não é pra uma empresa, q requer uma segurança enorme, e coisas do tipo.

Obrigado (e desculpa o incomodo),

Anderson Ferreira

Editado por Anderson Ferreira
Link para o comentário
Compartilhar em outros sites

  • 0

Eu queria fazer igual o esqma daqui do Script Brasil.

Por exemplo, se pegarmos o link: http://scriptbrasil.com.br/forum/index.php?showforum=4 , que é do fórum de PHP, e trocarmos o 4 no final por um 500 (por exemplo), acusará o seguinte erro:

Desculpe, um erro ocorreu. Se você está inseguro sobre como utilizar algum recurso, ou não sabe como chegou a esta mensagem, tente olhar nos arquivos de ajuda para maiores informações.

O erro retornado foi:

Desculpe, o link parece estar quebrado ou expirado.

Então, queria fazer esse esqma, de retornar um erro.

Pelo q imagino (pelo menos na teoria), é q deveria colocar estilo um 'or die' no include. Ai quando fosse retornado um erro do include (de página não encontrada), seria redirecionado pra outra página.

O problema é, como resolver isso? Se não existe 'or die' do include?

Obrigado,

Anderson Ferreira

Link para o comentário
Compartilhar em outros sites

  • 0

Verifica se o arquivo existe ou não ... com "file_exists" : http://php.net/manual/en/function.file-exists.php

É simples ele verifca se o arquivo existe ou não no servidor ...

<?php
$filename = "paginas/" . $_GET["local"] . ".php";

if (file_exists($filename)) {
 include $filename;
} else {
 echo "Erro Seção não Encontrada!!!!";

 // Aqui você também pode colocar um include fixo
 // Tipo: include "paginas/erro_geral.php";
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...