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

Dúvidas Sobre Php


douglasbr

Pergunta

Daew galera, esse é meu primeiro post e gostaria de tirar algumas duvidas com vocês. Já tenho um conhecimento em programação, conheço um pouco de HTML e PHP, mas gostaria de saber se utilizando o php posso construir aquelas páginas com um menu no lado esquerdo da tela, que quando clicado apareça seu respectivo conteudo no centro da tela? Pergunto isso porque com o HTML eu usava frames, mas agora com o php não sei se isso ainda é feito assim. quando leio algum tutorial, eles falam de funções, mas nada que ensine a criar uma página com menus e outros. Gostaria tmb de exemplos de páginas com menus se fosse possivel.

Não sei se ficou bem explicado, mas no geral gostaria de uma explicação de como criar páginas com menus utilizando php, se preciso usar frames ou com php é diferente.

Valeu.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Bom, você pode usar frames ou iframes como no HTML, isso fará com que o menu não seja recarregado a cada vez que clique em algum link.

Mas isso hoje em dia fica feio...

Você pode utilizar AJAX se não quiser que os menus sejam recarregados, mas se você não se importar em dar um refresh todo na página, poderá utilizar Query Strings.

Você monta o site, menus, topo, rodapé e tal, este será seu index.

E na parte de conteúdo, você pode colocar o seguinte código:

(Pego aqui mesmo no fórum, na parte de scripts!

Acho que foi o Beraldo que postou, somente modifiquei para exibir a página principal quando for solicitada alguma página inexistente, então, créditos a ele!)

<?php

if (@$_GET['Mostra']){

$Mostra = $_GET['Mostra'];

if (file_exists("$Mostra.php")){

include("$Mostra.php");

}

elseif(!file_exists("$Mostra.php")){

include("principal.php");

}

}

else{

include("principal.php");

}

?>

Isso dirá ao site para pegar a variável $Mostra, e se ela não existir, para incluir o arquivo principal.php no lugar do conteúdo.

Assim, para cada conteúdo diferente, você monta um arquivo que será chamado pelo site e carregará ali na parte de conteúdo.

Para chamar o conteúdo, os links deverão estar da seguinte forma:

<a href="index.php?Mostra=principal">Principal</a>

<a href="index.php?Mostra=cadastro">Cadastro</a>

<a href="index.php?Mostra=contato">Contato</a>

Em AJAX, ao invés de colocar o código na parte de conteúdo, você pode criar uma div, assim:

<div id="dinamico"></div>

Mas para isso tudo funcionar, vamos lá...

Entre as tags <head> e </head> de seu site, coloque a seguinte linha:

<script src="conf/ajax.js" language="javascript" type="text/javascript"></script>

Esta chamará um arquivo de JavaScript, que é o nosso AJAX!

Agora crie um arquivo com este nome (ajax.js) e coloque o seguinte conteúdo nele:

function ajaxInit() {

var req;

try {

req = new ActiveXObject("Microsoft.XMLHTTP");

}

catch(e) {

try {

req = new ActiveXObject("Msxml2.XMLHTTP");

}

catch(ex) {

try {

req = new XMLHttpRequest();

}

catch(exc) {

alert("Esse browser não tem recursos para uso do Ajax");

req = null;

}

}

}

return req;

}

function Mostra(PAGINA) {

ajax = ajaxInit();

if(ajax) {

ajax.open("GET", "ajax.php?Mostra=" + PAGINA, true);

ajax.onreadystatechange = function() {

var dinamico = document.getElementById("dinamico");

dinamico.innerHTML="<center>&nbsp;<p>Carregando...</center>";

if(ajax.readyState == 4) {

if(ajax.status == 200) {

var texto=ajax.responseText;

// var dinamico = document.getElementById("dinamico");

dinamico.innerHTML=texto;

}

else {

alert(ajax.statusText);

}

}

}

ajax.send(null);

}

}

Perceba que ele chama um outro arquivo, o ajax.php, o que este arquivo fará é pegar a resposta do AJAX e transformar no que você precisa, no nosso caso, o include da página.

Então, crie um arquivo com este nome (ajax.php) e adicione o seguinte conteúdo nele:

<?php

$Mostra = $_GET["Mostra];

return include("../$Mostra.php");

?>

E pronto, está criado um script que utilizará o AJAX para carregar o conteúdo do seu site sem precisar dar um refresh nele!

Para fazer funcionar, os links devem estar da seguinte forma:

<a href=# onclick=Mostra('principal')>Principal</a>

<a href=# onclick=Mostra('cadastro')>Cadastro</a>

<a href=# onclick=Mostra('contato')>Contato</a>

(Editado para corrigir erros de digitação)

Editado por Lvcifer!
Link para o comentário
Compartilhar em outros sites

  • 0

quando eu usava frames, e clicava em um link do menu a única parte que carregava era a parte do conteúdo, no centro da tela, a parte do menu continuava ali parada, então no conteúdo o código fonte era só para aquele conteudo e não precisava repetir o código fonte do menu. Pelo que pude perceber agora quando clico em um link a tela é carregada por completo, sem frames (exemplo: http://www.convidas.org.br ), então cada link é uma página completa, onde todos os menu são repetidos no código fonte?

Coloquei aquela página para dar um exemplo, pois quero entender como são feitas estas páginas, porque com frames a página fica "repartida", em menu, cabeçalho e conteúdo, e isso fica feio, pois ao rolar a página somente rola a parte do conteúdo o resto fica parado.

Valeu.

Link para o comentário
Compartilhar em outros sites

  • 0

Essa página dai é feita da seguinte forma, existe um template "mestre" esse template tem o menu e a parte que vai ter as informações, essa parte das informações é carregada de acordo com as querystrings passadas pelos links do menu... o que você vai ter que saber é utilizar querystring...

Ai » http://scriptbrasil.com.br/forum/index.php?showtopic=89161 tem um tutorial sobre o assunto...

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade, uma index será padrão, para o caso de Query String.. No navegador, sim. Todo aquele código é repetido. Mas a nivel de programação, você só terá que fazer uma vez os menus. E no lugar de colocar o frame, você dará um include na página que ficará no conteúdo.

Mas como saber que página será incluída ali? Bom, para isso é que se passa a Query String no endereço (www.pagina.com.br/?pagina=principal)..

Deu pra entender? Você não precisa copiar o menu em todas as paginas.. Ele ficara apenas em uma..

Edit: Post simultâneo.. AHEueah

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

  • 0

Mais uma dúvida, meio besta eu acho mas eu fiquei curioso. Em varios codigos php ou html que eu vejo no inicio aparece essas linhas a seguir:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

gostaria de saber porque?

é algum programa que gera codigos html e php e adiciona essas duas linhas?

falou.

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