Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Aender

Atualizar conteúdo de uma DIV com PHP

Recommended Posts

Pessoal tudo bem ? Estou começando meus estudos em PHP e gostaria por gentileza da colaborão de vocês para sanar uma dúvida. Bom estou desenvolvendo um layout simples com includes php, tipo : banner, meio, rodapé.A Div meio irá ter dentro dela outras divs: menu e conteudo. Minha dúvida é a seguinte, gostaria de saber como atualizar dinamicamente o conteúdo da "DIV conteúdo" de acordo com o link acessado no Menu.Tipo assim, iniciamlenete a DIV contéudo teria um default , quando o usuário selecionar os demais links, o conteúdo dentro dessa DIV vai sendo substituido .Cada link vai chamar uma página que vai abrir dentro da "DIV conteúdo" .Em suma, seria mais ou menos aquele esquema do iframe, só que com DIV's .Um detalhe é que as páginas que vão abrir dentro da "DIV conteúdo" terão tamanhos diferentes , então a DIV meio e a Div conteúdo teriam que ter alturas "dinâmicas".Daria para criar isso usando includes, aquele esquema de Switch case ? Valeu pessoal, muito obrigado desde já.

gallery_85617_112_33692.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

pag.class.php

 

<?php

class pag
{
public function pagina ()
{
   if ( isset ( $_REQUEST [ 'utp' ] ) )
      {
		$paginas = $_REQUEST [ 'utp' ] ;
		if ( file_exists ( 'modulos/paginas/'.$paginas.'.php' ) )
           {
			include ( 'modulos/paginas/'.$paginas.'.php' ) ;

           }else
           {
			echo '<div id="erro_pg"><a>Nenhuma Pagina foi encontrada<br />404 Erro Page Not Found</a></div>	';
		}
		exit();
	}
	if($paginas == "")
       {
		$paginas = "home";
		require('modulos/paginas/'.$paginas.'.php');            
	}else
       {
	      echo '<div id="erro_pg"><a>Nenhuma Pagina foi encontrada<br />404 Erro Page Not Found</a></div>	';
	}

}
}
?>

 

index.php (topo)

 

<?
require ( "modulos/class/pag.class.php" );
$paginacao = new pag;
?>

 

index.php (lugar da div)

 

<div id="centro">
<?$paginacao->pagina();?>
</div>

 

chamar as páginas

?utp=home

?utp=cadastro

etc

 

só lembrando que em js fica bem melhor mas como você quis em php ai está

 

att, The_Black - UTP Softwares

Compartilhar este post


Link para o post
Compartilhar em outros sites

pag.class.php

 

<?php

class pag
{
public function pagina ()
{
   if ( isset ( $_REQUEST [ 'utp' ] ) )
      {
		$paginas = $_REQUEST [ 'utp' ] ;
		if ( file_exists ( 'modulos/paginas/'.$paginas.'.php' ) )
           {
			include ( 'modulos/paginas/'.$paginas.'.php' ) ;

           }else
           {
			echo '<div id="erro_pg"><a>Nenhuma Pagina foi encontrada<br />404 Erro Page Not Found</a></div>	';
		}
		exit();
	}
	if($paginas == "")
       {
		$paginas = "home";
		require('modulos/paginas/'.$paginas.'.php');            
	}else
       {
	      echo '<div id="erro_pg"><a>Nenhuma Pagina foi encontrada<br />404 Erro Page Not Found</a></div>	';
	}

}
}
?>

 

index.php (topo)

 

<?
require ( "modulos/class/pag.class.php" );
$paginacao = new pag;
?>

 

index.php (lugar da div)

 

<div id="centro">
<?$paginacao->pagina();?>
</div>

 

chamar as páginas

?utp=home

?utp=cadastro

etc

 

só lembrando que em js fica bem melhor mas como você quis em php ai está

 

att, The_Black - UTP Softwares

The_Black muito obrigado pela dica. você usou POO né , bom como sou iniciante em php vai demorar um pouco digerir o código, ainda mais POO , mas vou estudar o código e daptar ao meu problema.Quanto à solução em Js , seria uma solução usando ajax ? Você teria um exemplo? Desde já muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajax.js [compatibilidade]

 

function GetXMLHttp() {
   if(navigator.appName == "Microsoft Internet Explorer") {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   }
   else {
       xmlHttp = new XMLHttpRequest();
   }
   return xmlHttp;
}

var xmlRequest = GetXMLHttp();

 

instrucao.js [informações do load da div]

 

 

function abrirPag(valor){
var url = valor;

xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.open("GET",url,true);
xmlRequest.send(null);

if (xmlRequest.readyState == 1) {
document.getElementById("box_central").innerHTML = "<div align='center'><img src='images/loader.gif' alt='carregando'/></div>";
}

return url;
}

function mudancaEstado(){
if (xmlRequest.readyState == 4){
document.getElementById("box_central").innerHTML = xmlRequest.responseText;
}
}

 

index.php [topo]

 

<!-- Chamando os js que estão na pasta js/ -->
<script src="js/ajax.js" type="text/javascript"></script>
<script src="js/ajaxscript.js" type="text/javascript"></script>
<script src="js/instrucao.js" type="text/javascript"></script>

 

index.php [menu]

<!-- Menu -->
<a href="javascript:;" onclick="abrirPag('modulos/paginas/cadastro.php')">Cadastrar-se</a>

 

index.php [div]

<!-- Se o nome da div for alterado também terá que ser alterado nas duas linhas do instrucao.js -->
<div id="box_central">
</div>

 

enquanto a div não carregar será izibida uma gif load, aconselho que faça a sua aqui http://www.ajaxload.info/ baixe renomeio para loader.gif e jogue na pasta images

 

prnto é só isso

 

quanto a oop elá é bem simples se não quiser usala é só tirar a class e a public function e jogar o script entre as divis que deve ser carregado

 

att, The_Black - UTP SOftwares

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajax.js [compatibilidade]

 

function GetXMLHttp() {
   if(navigator.appName == "Microsoft Internet Explorer") {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   }
   else {
       xmlHttp = new XMLHttpRequest();
   }
   return xmlHttp;
}

var xmlRequest = GetXMLHttp();

 

instrucao.js [informações do load da div]

 

 

function abrirPag(valor){
var url = valor;

xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.open("GET",url,true);
xmlRequest.send(null);

if (xmlRequest.readyState == 1) {
document.getElementById("box_central").innerHTML = "<div align='center'><img src='images/loader.gif' alt='carregando'/></div>";
}

return url;
}

function mudancaEstado(){
if (xmlRequest.readyState == 4){
document.getElementById("box_central").innerHTML = xmlRequest.responseText;
}
}

 

index.php [topo]

 

<!-- Chamando os js que estão na pasta js/ -->
<script src="js/ajax.js" type="text/javascript"></script>
<script src="js/ajaxscript.js" type="text/javascript"></script>
<script src="js/instrucao.js" type="text/javascript"></script>

 

index.php [menu]

<!-- Menu -->
<a href="javascript:;" onclick="abrirPag('modulos/paginas/cadastro.php')">Cadastrar-se</a>

 

index.php [div]

<!-- Se o nome da div for alterado também terá que ser alterado nas duas linhas do instrucao.js -->
<div id="box_central">
</div>

 

enquanto a div não carregar será izibida uma gif load, aconselho que faça a sua aqui http://www.ajaxload.info/ baixe renomeio para loader.gif e jogue na pasta images

 

prnto é só isso

 

quanto a oop elá é bem simples se não quiser usala é só tirar a class e a public function e jogar o script entre as divis que deve ser carregado

 

att, The_Black - UTP SOftwares

Cara, muito obrigado por compartilhar seu conhecimento.Me ajudou demais , poxa você postou o código completo e bem explicado amanhã mesmo vou implementar ,valeu mesmo.Abraço att.

 

The_Black muito obrigado por compartilhar seu conhecimento.Me ajudou demais , poxa você postou o código completo e bem explicado amanhã mesmo vou implementar ,valeu mesmo.Abraço att.

 

The_Black muito obrigado por compartilhar seu conhecimento.Me ajudou demais , poxa você postou o código completo e bem explicado amanhã mesmo vou implementar ,valeu mesmo.Abraço att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom o tópico.

Consegui implantar o sistema em uma página, mas estou com uma dificuldade:

Tenho um rodapé, e ele não é mostrado, na verdade nada do que vem após a div no index é mostrado.

Tem como mostrar algo que esteja no index.php após a div que é atualizada pelo link?

Sebas

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.