Ir para conteúdo

POWERED BY:

Arquivado

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

Spoock

[Resolvido] Include Dinâmico

Recommended Posts

Galera, mecho muito com HTML e adoro programação, mas não tive a oportunidade ainda de aprender PHP. Eu consigo fazer paginas se abrirem em HTML com Iframes, no caso assim:

 

<iframe src="pagina.php" id="navegacao"></iframe>
<a href="pagina2.php" target="navegacao">Proxima Pagina >></a>

 

Teria como fazer igual em PHP, achei um código na internet e ele realmente abriu um Include, mas não consegui fazer ele mudar de página:

 

<?php
$get = (isset($_GET['pagina']) ? $_GET['pagina'] : "pagina1");

//Includes -- Por seção
$arr_include = Array(
"pagina1" => "pagina1.php",   
"pagina2" => "pagina2.php",    
"pagina3" => "pagina3.php"    
);

//Checa se a seção atual possui includes
If (isset($arr_include[$get])) {

       	$nr = explode(",",$arr_include[$get]);

       	Foreach ($nr as $data) { 

               	require($data);

       	}

}
?>

 

Agradeço todas as ajudas desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa amigo voce poderia usar java script para isso tambem pelo que eu entendi esse codigo pode te ajudar

<script type="text/javascript">
startList = function() {
       if (document.all&&document.getElementById) {
               navRoot = document.getElementById("nav");
               for (i=0; i<navRoot.childNodes.length; i++) {
                       node = navRoot.childNodes[i];
                       if (node.nodeName=="LI") {
                               node.onmouseover=function() {
                                       this.className+=" over";
                               }
                               node.onmouseout=function() {
                                       this.className=this.className.replace(" over", "");
                               }
                       }
               }
       }
}
window.onload=startList;

var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
} 

function troca(pagina, dives) {
http.open("GET", pagina, true);
http.onreadystatechange=function() {
   if(http.readyState == 4) {
     document.getElementById(dives).innerHTML = http.responseText;
   }
 }
http.send(null);
}
</script>
//aqui voce vai  enviar para a function troca o nome da sua pagian que qeur abir e o id da div que voce quer que abra
<a style="text-decoration:none;" href="#" onclick="javascript:troca('Sua_Pagina.html', 'div_q_vai_abrir')"></a>

<div id="div_q_vai_abrir"></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa amigo voce poderia usar java script para isso tambem pelo que eu entendi esse codigo pode te ajudar

<script type="text/javascript">
startList = function() {
       if (document.all&&document.getElementById) {
               navRoot = document.getElementById("nav");
               for (i=0; i<navRoot.childNodes.length; i++) {
                       node = navRoot.childNodes[i];
                       if (node.nodeName=="LI") {
                               node.onmouseover=function() {
                                       this.className+=" over";
                               }
                               node.onmouseout=function() {
                                       this.className=this.className.replace(" over", "");
                               }
                       }
               }
       }
}
window.onload=startList;

var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
} 

function troca(pagina, dives) {
http.open("GET", pagina, true);
http.onreadystatechange=function() {
   if(http.readyState == 4) {
     document.getElementById(dives).innerHTML = http.responseText;
   }
 }
http.send(null);
}
</script>
//aqui voce vai  enviar para a function troca o nome da sua pagian que qeur abir e o id da div que voce quer que abra
<a style="text-decoration:none;" href="#" onclick="javascript:troca('Sua_Pagina.html', 'div_q_vai_abrir')"></a>

<div id="div_q_vai_abrir"></div>

 

Obrigado Dropes! Vou testar e já lhe trago a resposta, mas se alguem tiver minha resposta em PHP também agradeço, sei que em PHP deve ser mais simples e é melhor para eu aprender.

 

Funcionou perfeitamente e era isso que eu queria! Dropes tem como você por o nome do autor pra mim creditar no código? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Spoock.

O que você está querendo é querystring, e embora sua dúvida já tenha sido resolvida, venho cá trazer uma alternativa somente em PHP:

 

<?php

   /**
    * A variável $página armazena uma String
    * Se - por um parâmetro na URL "pagina" for setado, então ele retorna
    * este valor (pagina), se não, retorna NULL.
    */
   $pagina = isset ($_REQUEST['pagina'] ) ? stripslashes( $_REQUEST['pagina'] ) : NULL;

   # Se o valor recebido de $pagina for DIFERENTE de NULL (vazio), então...
   if( $pagina <> NULL ){

       /* 
        * "Transforma" o arquivo com o formato .php em uma String
        * e o adiciona em uma variável (já existente) $pagina
        */
       $pagina = './'.$pagina.'.php';

       # Se o retorno da variável $pagina não tiver caracteres especiais, então...
       if( preg_match('/[a-zA-Z0-9_.-]/', $pagina ) ) {
           if( file_exists( $pagina ) && is_readable( $pagina )){ # Verifica se $pagina existe e se pode ser lida
               require_once $pagina; # Então retorna a página que você deseja
           } else { # Se página não existir e/ou não for legível, redireciona
               header( 'Location: default.php', true ); # Adicionei default como exemplo, mas você pode mudar para erro 404 por exemplo
           }
       } else {
           header( 'Location: default.php', true ); # Retorna para defualt.php novamente, mas dessa vez se possuir Caracteres Especiais
       }
   } else {
       require_once( 'main.php' ); # Retorna a sua página principal, porque você está nela [uma vez que as condições acima não foram "ativadas"]
   }

?>

 

Já está devidamente documentado.

 

Abraços!

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.