Ir para conteúdo

POWERED BY:

Arquivado

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

Durbano

[Resolvido] PHP e HTML - include

Recommended Posts

Segue o seguinte código abaixo:

 

<?php
$var = "";
$var = $_GET['var'];
echo $var; 
if($var=="")
{
$var = "home.php";
}
else
{$var = "setores.php";
}
?>
<link href="css\estilo.css" rel="stylesheet" type="text/css">
<frameset rows="242,*" framespacing="0" frameborder="no">
<frame src="topo.php" name="top" frameborder="no" scrolling="no" noresize marginwidth="0" marginheight="0" id="top">
<frameset rows="*,35" framespacing="0" frameborder="no">
<?php echo"<frame src=$var name=meio frameborder=no scrolling=yes marginwidth=0 marginheight=0 id=meio>"; ?>
<frame src="rodape.htm" name="rodape" frameborder="no" scrolling="no" marginwidth="0" marginheight="0" id="rodape">
</frameset>
</frameset>
<noframes><body>
</body></noframes>
</html>

O PROBLEMA é...na parte que é FEITO o if ele sempre entende a $var como vazio. Não sei se é problema no method GET, mas nao consigo fazer, estou quebrando a cabeça ae...ALGUEM ME AJUDA.

 

OBJETIVO é fazer com que a váriavel que foi passada por link de uma outra pagina, deste modo, index.php?var=homo.php (que ao clicar no link aciona a pagina index e leva a variavel)

index.php é esse codigo todo ai em cima a tal da pagina, entao oq acontece. Ela recebe a váriavel certinho mas quando faço o IF ela entende sempre como VAZIO " ", estranho pq eu já testei se a variavel nao estava chegando com o conteudo "HOME.PHP"(index.php?var=HOME.PHP), e ela esta chegando com o conteudo mas no IF ele entende como vazio e só abre a HOME. bom nao sei mas oq fazer só falta isso para terminar o site inteiro :/

tem uma STRING lá no meio codigo HTML na tag FRAMA que esta assim

<?php echo"<frame src=$var name=meio frameborder=no scrolling=yes marginwidth=0 marginheight=0 id=meio>"; ?>

 

VIUUUUU a variavel está ai no meio $VAR ela que decide qual pagina vai abrir. ME AJUDEEEE

 

AJUDA AE qualquer coisa é valida....abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, pelo que entendi, talvez o problema seja na hora de voce transferir um .php para a variavel GET. Nao tenho certeza absoluta se o PHP aceita e entende isso. Se esse de fato for o problema voce pode passar apenas o nome da pagina em como variaval, estilo index.php?var=home, e depois voce concatena do seguinte modo: $var_final = $_GET['var'] . 'php';

Outro problema que voce pode estar tendo é que os atributos da sua tag frame (pra qual voce passa a variavel) nao estao em XML strcit, e se no cabecalho voce declarou dessa forma, certamente nao vai funcionar, pois em XML tudo tem que estar em letra miniscula, tudo que for aberto tem que ser fechado e todo atributo de todo elemento tem que estar entre aspas. A solução seria apenas fazer o seguinte:

 

<?php echo'<frame src="$var" name="meio" frameborder="no" scrolling="yes" marginwidth="0" marginheight="0" id="meio">'; ?>]

Espero ter ajudado, se nao foi isso, dá o feedback ! Valeu !

Compartilhar este post


Link para o post
Compartilhar em outros sites

<html>
<?php
if(isset($_GET['var']) == "home") 
{ 
 $var = 'home.php';
} 
else
{
$var = 'setores.php';
}
?>
<link href="css\estilo.css" rel="stylesheet" type="text/css">
<body>
<?php 
 // Inclui o arquivo TOPO
  include ('topo.php'); 
 // Inclui o arquivo do meio $var
  if ($var) { include ("{$var}");}
 // Inclui o arquivo de rodape
  include ('rodape.php');
?>
</body>
</html>

 

Tente usar a função include, ao invés do iframe :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

o.o

po. faz com switch .. não seria melhor ??

 

a maioria dos sites que faço , eu faço com switch() .. ajuda bastante dai eu so incluo o conteudo ..

o codigo e o seguinte

 

$content = $_GET['pagina'];
switch($content){
 case 'tal';
 include ("tal");
 break;
}

mais ai , vi mta gente perguntando ... o problema de fazer isso e os formularios de GET na pagina , la voce vai usar

http://seusite.com/index.php?pagina=pagina_que_vai_passar_no_case

dai vai alterar a URL se mandar GET ... que nada

eu resolvi meu problema assim

 

<input type="hidden" name="pagina" value="nome_do_case">

 

botava o hidden dentro do formulario .. dai ele manda a pagina local .. sem sair os dados da URL ..

 

qual a vantagem ?

 

 

voce so faz

 

--TOPO

--conteudo pelo switch

--RODAPE

 

ou seja , o TOPO & conteudo .. vao na mesma pagina que o switch .. dai você so inclui o conteudo pras paginas que serão criadas passando pelo switch ..

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fewdox, valeu pelo esclarecimento. Entao se eu passar qualquer coisa pro get (blabla.php) ele só vai reconhecer mesmo tudo como uma string certo ? Pensando bem é o que deveria acontecer mesmo, falei aquilo antes só porque me pareceu razoavel. Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera obrigada por responderem, mas nenhuma das alternativaas funciona:

 

vasconcelloslf - Este metodo que você colocou( $var_final = $_GET['var'] . 'php';) não funciona eu já tinha testado isso mas nao funciona. A variavel GET percebi que ela nao consegue se relacionar com nada. Nao consigo junta-la EX: $_GET['var'].'php'. Nao consigo utilizar em uma função ela sempre e considerado como VAZIO, a coisa mais estranha é que quando eu mando ECHO $_GET['var'] aparece o conteudo(HOME.PHP). muito estranhooo. Continue tentando me ajudar e obrigada por enquanto.

 

André da Silva - a função INCLUDE ela nao consegue criar a tela do meio como FRAME (nao fica um barra de rolagem). Obirgado por enquanto e continue me ajudando até conseguirmo. abraço

 

 

Fewdox - a função INCLUDE ela nao consegue criar a tela do meio como FRAME (nao fica um barra de rolagem) e a tag INPUT eu nao serve pq nao estou usando formulário. Obirgado por enquanto e continue me ajudando até conseguirmo. abraço

 

 

ME AJUDEM ABRAÇO a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites
André da Silva - a função INCLUDE ela nao consegue criar a tela do meio como FRAME (nao fica um barra de rolagem). Obirgado por enquanto e continue me ajudando até conseguirmo. abraço

 

Então você insere uma div e limita o seu tamanho e conteudo(como o frame), e define um overflow:auto; ou scroll, para simular a barra :thumbsup:

<div style="overflow:auto; width:600px; height:400px;">
  <?php include('conteudo.php'); ?>
</div>

 

Ou se você prefir use essa função.

function getGet($campo){
return isset($_GET[$campo]) ? $_GET[$campo] : '';
} 

...

<div id="topo"> TOPO </div>

<div id="conteudo">
<?php 
           $pg = getGet('pg');
               $file = is_file($pg.'.php') ? $pg.'.php' : 'principal.php'; // principal = pagina default caso nao encontre a solicitada
               include_once $file;
       ?> 
</div> <!-- / DIV CONTEUDO -->

<div id="rodape"> RODAPE </div>

e os link's você declara assim

<a href="?pg=home">Página principal</a>
<a href="?pg=setores">Setores</a>
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai galera consegui resolver o problemaa... vou postar o código aqui para alguém que estiver com o mesmo problema que eu.

Obrigada a todos pela ajuda novamente.

 

<?php

$v = $_GET['v'];

switch($v){
  case "":
 $v = "home.php";
 break;
 case 1:
 $v = "home.php";
 break;
 case 2:
 $v = "setores.php";
 break;
 case 3:
 $v = "servicos.php";
 break;
 }

?>
<html>
<body style="overflow-y: hidden;overflow-x: hidden;">
<?php include 'topo.htm'?>
<?php echo "<iframe src=$v name=meio frameborder=no scrolling=yes marginwidth=0 marginheight=0 id=meio width=100% height=58%></iframe>"; ?>
<?php include 'rodape.htm'; ?>
</body>
</html>

 

PROBLEMA RESOLVIDO: com a o include odo TOPO.php eu consigo pegar as variáveis, depois utilizando a tag IFRAME eu consigo transportar as várias para ela tudo isso apenas em uma página só

 

abraçoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Graças a Ideia Acima :joia:

Que Bom Que Resolveu ..

Mais .. Tem Um Detalhe que da pra Adicionar pra ficar melhor ..

 

segue o codigo abaixo

<?php

$v = $_REQUEST['v'] // ou $_GET ..

switch($v){
  case "":
  $topic = " // titulo a pagina";
  $v = "home.php";
  break;

 case 1:
  $topic = " // titulo a pagina";
 $v = "home.php";
 break;
 case 2:
    $topic = " // titulo a pagina";
 $v = "setores.php";
 break;
 case 3:
    $topic = " // titulo a pagina";
 $v = "servicos.php";
 break;
 }

if(empty($topic)) {
print'<center><b><font color="red">Pagina Não Encontrada</font></b><Br>'; // se quiser da um 404 aqui ..
}
?>

OBS: no $topic , não e o titulo la de cima não , e apenas uma var pra confirmar que a pagina existe ..

Enfim , se a $topic for vazia , ou seja (nao tiver passado) por nenhum dos 'case' .. ele manda o erro . (não para a execuçao do resto do script)

apenas vai mostrar que ta errado a pagina que o cara foi , ou seja .. as vezes o cara erra na URL lá , dai a pagina ou conteudo fica em branco

ele vai pensar que sua pagina ta com erro .. ai a mensagem serve de utilidade pra informar a ao 'cara' que ele ta.

em pagina não existente ou invalida ..

 

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.