Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modo de carregar arquivos via include

26-06-2010 13:03

Muita gente tem dúvidas de como e onde chamar os arquivos quando usamos include.

Aqui vou dar a dica do modo que uso.

Meu layout do site está montado como na figura abaixo

Imagem

Na figura acima você encontra um documento molde, ou seja, um documento que vai ser copiado para gerar outras páginas.
Note que é um documento que chama vários outros via include, topo, laterais e rodapé.

Note que no documento, o topo ( chamado via include no molde ) conterá todo o head, a partir da tag <html> incluíndo os CSS, JS, até o fechamento do </head>

A abertura do body, já ficará no arquivo molde.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1254
Sexo: Masculino

Modo de carregar arquivos via include

01-07-2010 18:00

Como trabalho com sessão utilizando esse layout? Onde coloco o session_start()? No topo? No arquivo molde? Nas páginas de conteúdo que serão chamadas no arquivo molde? Quero fazer uma sessão com login e senha.
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modo de carregar arquivos via include

01-07-2010 18:37

Você vai usar include, mas, você tem que interpretar tudo como sendo um só. Sendo assim, o primeiro documento carregado, ou seja, o que carrega o topo deve levar o session_start.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1254
Sexo: Masculino

Modo de carregar arquivos via include

01-07-2010 20:49

Veja se está certo o código da representação que você fez no princípio do post:

Arquivo topo.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Título do site</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <? require_once("conexao.php"); require_once("javascript.php"); require_once("css.php"); ?> </head>

Arquivo molde.php:
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- início tabela principal (envolve as demais) --> <table width="780" align="center" border="0" cellpadding="0" cellspacing="0"> <tr><td> <!-- início tabela topo --> <table width="780" align="center" border="0" cellpadding="0" cellspacing="0"><tr><td> <? include('topo.php'); ?> </td></tr></table> <!-- fim tabela topo --> <!-- início tabela centro --> <table width="780" align="center" border="0" cellpadding="0" cellspacing="2"> <tr> <!-- coluna esquerda --> <td width="152" align="center" valign="top"> <? include('coluna-esquerda.php'); ?> </td> <!-- fim coluna esquerda --> <!-- coluna central --> <td width="468" align="center" valign="top"> <!-- páginas centrais --> <?=$Index?> <!-- fim páginas centrais --> </td> <!-- fim coluna central --> <!-- coluna direita --> <td width="152" align="center" valign="top"> <? include('coluna-direita.php'); ?> </td> <!-- fim coluna direita --> </tr></table> <!-- fim tabela centro --> <!-- tabela rodapé--> <table width="780" align="center" border="0" cellpadding="0" cellspacing="0"><tr><td> <? include('rodape.php'); ?> </td></tr></table> <!-- fim tabela rodapé--> </td></tr> </table> <!-- fim tabela principal (envolve as demais) --> </body> </html>

Arquivo verifica_sessao.php:
<? session_start(); echo session_id(); echo "<br>"; if(empty($_SESSION[AnuncianteID])) { header("location:index.php"); exit(); } ?>

Arquivo index.php:
<? require "verifica_sessao.php"; $AnuncianteID = $_SESSION[AnuncianteID]; $codigo_clienteID = $_SESSION[codigo_clienteID]; $TipoAnuncioID = $_SESSION[TipoAnuncioID]; $TipoAnuncioNome = $_SESSION[TipoAnuncioNome]; $TipoSessaoID = $_SESSION[TipoSessaoID]; $TipoSessaoNome = $_SESSION[TipoSessaoNome]; $NomeAnunciante = $_SESSION[NomeAnunciante]; echo $AnuncianteID; echo "<br>"; echo $codigo_clienteID; echo "<br>"; echo $TipoAnuncioID; echo "<br>"; echo $TipoAnuncioNome; echo "<br>"; echo $TipoSessaoID; echo "<br>"; echo $TipoSessaoNome; echo "<br>"; echo $NomeAnunciante; echo "<br>"; $Index .= "<table><tr><td align=center>INDEX CONTA ANUNCIANTE</td></tr></table> <table><tr><td align=center>$AnuncianteID</td></tr></table> <table><tr><td align=center>$codigo_clienteID</td></tr></table> <table><tr><td align=center>$TipoAnuncioID</td></tr></table> <table><tr><td align=center>$TipoAnuncioNome</td></tr></table> <table><tr><td align=center>$TipoSessaoID</td></tr></table> <table><tr><td align=center>$TipoSessaoNome</td></tr></table> <table><tr><td align=center>$NomeAnunciante</td></tr></table>"; include('molde.php'); //require('molde.php'); ?>

O arquivo entrar.php (que ainda não postei) chama o arquivo index.php. O arquivo index é que chama o arquivo molde.php (uso include ou require?). E no arquivo molde.php o conteúdo do arquivo index.php é exibido com isto: <?=$Index?>. Está correto?
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modo de carregar arquivos via include

01-07-2010 21:45

include e require tem o mesmo objetivo, carregar um documento, sendo que se você usar por exemplo o require_once, pode evitar que o arquivo seja carregado várias vezes.

A forma correta de chamar qualquer arquivo deve ser sem atalhos

<?php
include("arquivo.php");
?>

O session_start() deve estar no topo do documento que a session será usada ou validada, você deve seguir a lógica

se você tem o arquivo a.php e nele é carregado dentro b.php e c.php, não importa quem é quem, o que importa é que o primeiro arquivo que será lido ao acessar o documento tenha o session_start.

Por exemplo, no modelo que postei no primeiro post, vamos supor que o arquivo chama-se teste.php, e nele são carregado os includes, laterais, etc...

Se por acaso o topo que é carregado via include, for a primeira coisa do documento:

teste.php
<?php include("topo.php"); ?> continua...

Então a session_start vai estar nele. Sempre o primeiro carregado.

Faça testes ai, se retornar algum erro informa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1254
Sexo: Masculino

Modo de carregar arquivos via include

01-07-2010 23:36

Vou fazer os testes, mas há uma dúvida quanto ao layout. Vamos supor que o arquivo que você referiu como teste.php corresponda ao código que eu referi como molde.php. Você disse em seu exemplo que o arquivo topo.php conteria até o fechamento de head. E o arquivo molde se iniciaria no body, indo até o final. Do jeito que se vê no código que fiz, se corresponder ao que você quis dizer com o exemplo, você chamará o head dentro do body. No seu exemplo é assim que é chamado o arquivo topo.php? O que são os atalhos que você referiu? Ainda estou com aquele problema de se sair da área restrita ao se clicar no botão atualizar do navegador, por isso quero saber a forma correta de se estabelecer o layout e a sessão.
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modo de carregar arquivos via include

02-07-2010 08:18

Veja o seguinte:

molde.php tem o layout

<?php include("topo.php"); // do <html> até </head> onde fica também o session_start include("esquerda.php"); echo "meio.php"; include("direita.php"); include("rodape.php"); ?>

A partir do layout acima, todo documento que vai ser usado a session, deve ter o topo.php, já que tem o session_start.

Tem um vídeo abaixo sobre envio de formulário com session, pode te ajudar a entender melhor
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Mensagens: 1254
Sexo: Masculino

Modo de carregar arquivos via include

02-07-2010 09:25

Consegui organizar o layout colocando o arquivo molde.php como HTML (conforme fiz acima). Entretanto, lá, coloquei o topo dentro da tag <body>. Se eu fizer como abaixo está certo?

<? include("topo.php"); ?> <body> <? include("esquerda.php"); ?> <? echo "meio.php"; ?> <? include("direita.php"); ?> <? include("rodape.php"); ?> </body> </html>

0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Modo de carregar arquivos via include

02-07-2010 11:12

sim
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado