menu com include arcaico? [RESOLVIDO]

1. menu com include arcaico? [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 29/11/2012 - 14:45h

Boa tarde galera,

Seguinte, gostei de mexer em PHP e estava fazendo um site para aprofundar o conhecimento. Comecei a fazer o menu e fui procurar no google como construir um menu com include, achei algumas coisas legais, mas lendo os comentários, vi que todos dizem que fazer menu assim é coisa ultrapassada, que não vale a pena.

Só que não consegui encontrar outra forma de se fazer um menu.

o código que li é parecido com esse

-----------------------
Esse uso no meu main:
[php]
<?php
if ($_GET['pg']) {
if (file_exists('./'.$_GET['pg'].'.php')) {
include($_GET['pg'].'.php');
} else {
//pagina de erro
include('./index.html');
}
} else {
include ("./principal.php");
}
?>
[/php]

e o link uso assim:

<a href="Main.php?pg=cadastroAluno">Cadastro de alunos</a>

------------------------
peguei a dica no comentário do: Raphael França Marques no site http://imasters.com.br/artigo/11099/php/macetes-para-includes-e-menu

Mas e ae qual é a melhor forma de se fazer menus?? Meu site o de uma <div> dá include no menu.php e dentro de outra <div> dá include no principal.php, e vai ser nessa div principal que vai ficar trocando o conteúdo.


grato :D,


  


2. MELHOR RESPOSTA

Leonardo
leonardo0112

(usa Linux Mint)

Enviado em 05/12/2012 - 01:27h

estou fazendo um site como exercicio e uso a tecnica dos includes. meu index.php (bem resumido) e assim:

INDEX.PHP
<html>
<head>
<title>Index</title>
</head>
<body>
<div id="geral">
<?php
include 'topo.php';
include 'corpo.php';
include 'rodape.php';
?>
</div>
</body>
</html>

Dentro dos arquivos topo.php, corpo.php, rodape.php tenho o restante do codigo do site. Dá na mesma que eu criar um baita index.php, porem ai eu dividi ele em varios arquivos, onde são "continuação" do index.

Ai no lugar do codigo.php, usa-se um include "$_GET['page']".".php" por exemplo, ou senao um switch para redirecionar qual pagina abrira no lugar do corpo.php e assim por diante.

Aprendi tal tecnica com estes 3 videos do link, mas claro, me aperfeiçoei bastante, mas a ideia geral ainda é a mesma. http://www.ficheiro.com.br/category/destaques/css-php/

Agora tem tambem um metodo de programar chamado de AJAX, que usa javascript e XML, HTTP, sei lá. Ali é legal, pois as paginas abrem dentro de divs, campos sao atualizados etc sem dar refresh na pagina, porem é um pouco complexo, mas é o jeito mais correto, creio eu.

E pra lembrar, voce estara acessando apenas uma pagina (index.php), entao o cabeçalho HTML, tag body, title, algum start_session(); link para arquivo JS, etc sera necessario uma vez apenas no index.php, nos demais, como topo.php, a pagina ja comeca na tag <div> e termina na </div> por exemplo.

3. Re: menu com include arcaico? [RESOLVIDO]

Carlos Fagiani Junior
terabytes

(usa Slackware)

Enviado em 08/12/2012 - 13:36h

Legal leonardo, tirou minha dúvida, vou continuar com os includes que são bem legais.
e outra coisa, em uns testes que eu fiz, caso eu mecha com MySQL o session_start(); e vários códigos PHP eu só preciso chamar no index.php se trabalhar com include.

vou assistir esses vídeos e ver o que aprendo.


>> Ai no lugar do codigo.php, usa-se um include "$_GET['page']".".php" por exemplo, ou senao um switch para
>> redirecionar qual pagina abrira no lugar do corpo.php e assim por diante.

fiquei interessado nesse parte, to tentando fazer algo assim tbm...


Vlw


4. Re: menu com include arcaico? [RESOLVIDO]

Leonardo
leonardo0112

(usa Linux Mint)

Enviado em 10/12/2012 - 10:50h

Entao, por exemplo, meu index:

<html>
.....
include 'topo.php';
if (isset($_GET['pagina'])){
include $_GET['pagina']."php"; // onde 'pagina' é a variavel passada pela URL (GET)
}else{
include 'home.php'; //primeiro acesso, padrao 'home.php'
}
include 'rodape.php';
...
</html>

Vamos supor que no TOPO.PHP (carregada junto com index.php) eu tenha um MENU, entao seu link para a pagina contato.php por exemplo seria:
<div>
<ul>
<li>
<a href="?pagina=contato">CONTATO<a> //"?pagina=contato" é igual a "index.php?pagina=contato"
</li>
<li>
"outro link"
</li>
</ul
</div>

Sobre o que eu falei do AJAX, li que ele é usado em casos mais especificos e nao deve-se usa-lo como padrao de navegação, ou seja, o include, require, include_once e require_once são o modo correto de carregar as divs, segundo minha interpretação no assunto.

Qualquer duvida estamos ai...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts