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

Frame


Senshi

Pergunta

oi pessoas!

To cum uma duvida.. eu estou querendu fazer o seguinte:

tenho uma pagina contruidas por duas colunas!

A primeira: MENU e a segunda : CONTEUDO

No menu tenho 3 links: News, FOTOS, CONTATO

E o conteudo iria ser um frame... onde iria aparecer os conteudos da NEWS, FOTOS ou CONTATO!

Eu sei fazer isso por HTML e tal mas queria fazer diferente.. queria q quandu clica-se em algum link no menu, ele envia-se uma variavel pra mesma pagina e a pagina ia ser atualizada com essa nova variavel! E no conteudo ia ter um script tipo EX: caso receba NEWS ele joga a pagina news.PHP, se ele reveber FOTO ele puca a pagina FOTOS.PHP... seria algo como IF e include e tal... ^^

Eu num sei fazer a pagina atualizar com a nova variavel sem usar o <FORM>! tem alguma forma disso??

Se alguém tiver uma melhor ideia do que essa (sem utilizar FRAMESET ou IFRAME do HTML) eu agradeçu muuuuuuuuuuitu!

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Claro meu velho, tem q usar querystring smile.gif

Seguinte, nós vamos usar o mesmo princípio do iframe ok?!

Bora lá:

index.php

<table width="100%" border="0">
  <tr>
     <td>Meu menu<br>
            <a href="index.php?pag=news">News</a><br>
            <a href="index.php?pag=fotos">Fotos</a>
     </td>
     <td><?php
                 switch($_GET['pag']){
                     case 'news': include "news.php"; break;
                     case 'fotos': include "fotos.php"; break;
                     default: include "principal.php"; break;
                 }
?></td>
  </tr>
</table>

Vamos interpretar o código ok?

Beleza, o html tá barbada né?!

Uma tabela com duas colunas a da esquerda é o menu e a da direita o conteúdo (php).

Ok, quando acessamos a primeira vez o site, nenhum valor é passado par a variavel $pag que é transmitida via querystring (navegador), então meu switch não entra em nenhum dos casos aplicados, dae sobra pro meu padrão, que é a pagina inicial.

Agora, quando eu clico em algum link eu estou atualizando a minha página index (index.php?pag=news) e enviando um valor na minha variável $pag, então o switch verifica se é um dos casos, se ele achar o valor em um dos casos, ele entra e executa o comando, no nosso caso o include da página referente ao link wink.gif

E é só isso.

Tem muitas formas de fazer, essa acredito q seja a mais barbada... dae tu implementa.

Pra entender melhor:

index.php?pag=news é equivalente ao target em html

O que está entre <?php e ?> é equivalente ao iframe no html

Encara assim q dá pra sacar direitinho dae smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

puts cara.. vou chorar...

to doidu pra chegar em casa pra testar isso!! eheheh

valeu mesmu! vou retornar !

Muitu obrigadu.. mo paciencia pra me explicar os codigos...

Assimq tiver mais duvidas eu voltu!! ahuauhah

valeu cara!

SO uma duvida agora:

a pagina principal.php seria a index.php né?

Link para o comentário
Compartilhar em outros sites

  • 0

A é me esqueci desse detalhe, a principal é o equivalente ao conteúdo do SRC no iframe, no caso, a primeira página q o usuário vai ver quando abrir o site. Tá explicado ali nesse trecho "quando acessamos a primeira vez o site, nenhum valor é passado par a variavel $pag que é transmitida via querystring (navegador), então meu switch não entra em nenhum dos casos aplicados, dae sobra pro meu padrão, que é a pagina inicial."

Pode voltar cara, estamos ae pra isso wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Usa a função file_exists();

http://br.php.net/manual/pt_BR/function.file-exists.php

OU enton tu podes testar antes se a variável está sómente vazia colocando um if com a função empty na variavel pag, se estiver vazia vai para a principal caso contrário executa aquele switch q te passei, dae no default tu pões a pagina de erro...

qualquer coisa grita ae wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

resolvi!!!

coloquei assim

switch($_GET['pag']){
                    case '': include "index.php"; break;
                    case 'news': include "news.php"; break;
                    case 'fotos': include "fotos.php"; break;
                    default: include "erro.php"; break;
                

deu certinhu!!

valeu ai! ^^

Link para o comentário
Compartilhar em outros sites

  • 0

Aí lemissel, parabéns pela explicação!!! Seu primeiro post foi muito bem feito e os outros complementaram legal.

Muito boas essas explicações.wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

olha eu de novu! ^^

e o seguinte.. minha pagina ta assim:

~/index.php?pag=news

eu queria que a news.. recebe-se algo.. dai acho que ficaria assim ne?

~/index.php?pag=news=pg1

como eu faço isso?? usando esse esquema q foi ensinadopelo amigo lemissel.... ^^

----------------------Editado--------------------------

Bom galera descobri como e...

num é igual q usa é $....

dai ficou assim: ~/index.php?pag=news&pg=1

switch($_GET['pg']){
  case 2:
  	echo "pagina 2";break;
  default: 
  	echo "pagina 1";break;

^^ finalmente fiz algu sozinhu! hauahhau

so qeira intender essa linguagem do navegador... alguém sabe onde eu possu abrender isso?? tipo.. eu pensei q era so colocar uma variavel pra pag.. mas descobrir q não é......

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...