• 0
Sign in to follow this  
Senshi

Frame

Question

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!

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other 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é?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
  • 0

aeeeeeeeeeee

deu certinhu!!

MAGAVILHA!!

VAleu de novu cara!! ^^

Uma pergunta: e se ele não achar a pagina no diretorio??

temcomo fazer ele ir buscar uma pagina de erro neste caso??

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
  • 0

AHHHHHHHHHHHHHHHHHHHHHHH

um entendi o processo!! gostei!

Mas num sei ainda como vou fazer a variavel pegar o valor e verificar c ta vazio....

eu tinha colocado algu como

if (!$_GET['pag']){....

mas num deu

-___-'

Share this post


Link to post
Share on other 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! ^^

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
  • 0

Valeu caras smile.gif estamos aqui pra isso né, aprender e audar biggrin.gif

Muitas vezes eu respondo rapidinho, porque o tempo é curto, mas dessa vez deu pra faz um tutorialzinho bem legal smile.gif

Gostei de ser útil, quando precisar estamos ae.

Share this post


Link to post
Share on other 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 é......

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this