Ir para conteúdo

POWERED BY:

Arquivado

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

Valek

variáveis + include

Recommended Posts

Seguinte..Eu tenho um index.php com um menu lateral e uma área central pro conteúdo. Nessa área eu coloquei um include pra direcionar pras páginas de conteúdo do site. Aí eu queria colocar uma variável nesse include pra que os links do menu mudassem ela e carregassem o index, mas com um include diferente. Tipo <?php include($link); ?>.Como eu faço pra que um link de texto mude uma variável pra que o index.php se atualize com a nova variável?E como eu faço com que o index.php abra-se pela 1a. vez com a variável já com um valor(por exemplo - $link="conteudoinicial.htm")vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?phpif($_GET[$pg] == "contato"){ $pagina="contato.htm";}if($_GET[$pg] == "quemsomos"){ $pagina="quemsomos.htm";}if(!$_GET[$_GET[pg]){ $pagina="principal.htm";}?>include("$_GET[pg]");

Compartilhar este post


Link para o post
Compartilhar em outros sites

num deu certo nao... lembra que eu so leigao e as coisas tem que ser explicadas direitinho ;) ;):D:D

Não deu certo? Qual o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um teste que eu fiz baseado no codigo que você me deu:

http://members.lycos.co.uk/superavatares/t...teste/index.php

 

tipo aki no meu servidor apache apareceram as mensagens

Notice: Undefined variable: pg

Notice: Undefined index:

isso em todas as linhas com o "if"

 

Jah no servidor da lycos nao aparece isso mas quando clico nos links o include nao muda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahhh cara.. isso é facil... só vai depender do nivel de segurança e uso dele... mas.. ó o que eu uso com variaveis dentro do codigo (nada que variaveis de formulario)

$incluame = 'caminho/nomedoarquivo.php';@include($incluame);

espero ter ajudado...

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo acho quando escrevi o codigo coloquei um negocio errado la no finalinclude("$_GET[pg]"); o certo.include("$pagina");é pra funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo acho quando escrevi o codigo coloquei um negocio errado la no finalinclude("$_GET[pg]"); o certo.include("$pagina");é pra funcionar.

Eh .. eu vi isso, entao eu corrigi, mas msm assim ele nao muda o include quando clica nos links... se vcs verem a pagina carrega o conteúdo principal... o problema está nos links pra mudar pros outros conteúdos...O codigo ficou:
<?phpif($_GET[$pg] == "contato"){$pagina="contato.htm";}if($_GET[$pg] == "quemsomos"){$pagina="quemsomos.htm";}if(!$_GET[$_GET[$pg]]){$pagina="principal.htm";}?>//<?php include($pagina);?>
E os links:
<a href="index.php?pg=principal">Principal</a><a href="index.php?pg=contato">Contato</a><a href="index.php?pg=quemsomos">Quem Somos</a>
-=-=-=-=-=-=-=-=-=-=-=-=-E, Rato de Laboratório, esse "@" na frente do include.... é assim mesmo ou foi sem querer?vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae mo fi.. esse @ é para nao mostrar erro... por exemplo.. você dá um include num arquivo com as senhas do seu banco de dados... se der erro, o cliente vai ver onde tá seu arquivo e pode tentar acessá-lo.... aí se der erro.. ele só nao vai dar o include, mas tb nao dá nenhuma mensagem de erro :ph34r: abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?phpif($_GET[$pg] == "contato"){$pagina="contato.htm";}if($_GET[$pg] == "quemsomos"){$pagina="quemsomos.htm";}if(!$_GET[$_GET[$pg]]){$pagina="principal.htm";}?>//<?php include($pagina);?>
#@?$%~ que p... mas eu sou uma besta memo .

o certo é $_GET[NOME_VARIAVEL];

 

ou seja onde ta $_GET[$pg];

é $_GET[pg];

 

eu acho que por enquanto não é necessario colocar o @ na frente pelo contrario até bom que apareça o erro,depois se coloca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

resumindo...<?phpif($_GET[pg] == "contato"){$pagina="contato.htm";}if($_GET[pg] == "quemsomos"){$pagina="quemsomos.htm";}if(!$_GET[pg]){$pagina="principal.htm";}?>//<?php include($pagina); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu!!!

funcionou :blink: :blink: :lol: ;) :D

 

E eu ainda fiz de um jeito mais curto, ótimo pra menus longos...

se a variável pg for igual ao nome do arquivo htm, o código pode ser escrito assim:

<?phpif(!$_GET[pg]){$pagina="principal.htm";}else{$pagina = "$_GET[pg].htm";}?>
Assim, se o sujeito quiser aumentar o menu, não precisa editar o código

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se te que toma cuidado com essa entrada heim não me parece segura.sei la. tipo se cara consegui passar um parametro via browser html injection ele pode comprometer a segurança do seu server,alias, eu "acho".$_GET['/etc/passwd;'].htm;

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se te que toma cuidado com essa entrada heim não me parece segura.sei la. tipo se cara consegui passar um parametro via browser html injection ele pode comprometer a segurança do seu server,alias, eu "acho".$_GET['/etc/passwd;'].htm;

Você tem razão! Toda a entrada fornecida pelo usuário deve ser checada. Não sei se chega ao nível que você citou.. de poder ver o /etc/passwd (não há grandes problemas nisso.. já que hoje em dia todo mundo usa shadow), mas essa é uma vulnerabilidade séria em vários sistemas web-based!Um problema sério seria se por exemplo o usuario acessasse "index.php?pagina=conexao.inc".. daria pra ele ver qual era seu login e senha do banco! Logico que praticamente todo mundo usa conexa.inc.php, isso evita a exibicao do codigo-fonte.. mas sempre tem aqueles que insistem em colocar .inc!Em resumo é isso... sempre faça a checagem de todos os dados enviados pelo usuario! Principalmente se for usar funcoes de arquivos (include, fopen, fwrite, fread) ou se for usar em banco de dados.. dando brecha para SQL Injection (google é seu amigo..)!É isso aí.. sinto um pouco de falta de tópicos sobre segurança nas aplicações aqui no forum!

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.