Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago_ftp

Ajax + menu + iframe

Recommended Posts

Ca estou eu mais uma vez a pedir ajuda...

Tou com umas dúvidas alias muitas eu tou a aprender a programar.

 

 

A minha dúvida é a seguinte:

 

criei uma pagina administrativa em php onde a pagina principal tem um iframe, criei este iframe(de nome corpo) com o intuito de cada vez que eu clicar no menu ele fosse buscar a pagina correspondente para a pagina principal, isto é sem sair dela, mas eu quero fazer em ajax de manaeira a melhorar o codigo mas nao encontro nada sobre o assunto .

 

 

Tem como fazer isso ou tem outra opção melhor me ajudem, possso postar o codigo aqui se necessario

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pesquise por query string.

 

Uma exemplo bem mais ou menos de como deve ser seu uso:

 

Você cria um arquivo onde você declara que cada página possui um código

No seu menu você coloca o seu link direcionando para esse código.

No seu iframe você faz um include para a página que gerencia esses códigos.

Olha ae um exemplo:

 

index.php

<?
	include ('corpo.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">
	<head>
		<title>.::Teste::.></title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
	<body>
		<div id="menu">
			<ul>
				<li><a href="index.php?pag=1">Principal</a></li>
				<li><a href="index.php?pag=2">Página 2</a></li>
				<li><a href="index.php?pag=3">Página 3</a></li>
		   </ul>
	   </div>
		<div id="painel">
			<? include("$pagina");?>
		</div>
	</body>
</html>

corpo.php

$pag = $_GET['pag'];
	if ( ( $pag == 1 ) || ( $pag == '' )  ) { 
		$pagina = 'index.php';
	}
	
	if ( $pag == 2) {
		$pagina = 'pagina2.php';
	}

	if ( $pag == 3) {
		$pagina = 'pagina3.php';
	}
#E ASSIM VOCÊ SEGUE ESSE MESMO PADRÃO, ATRIBUINDO UM CÓDIGO PARA CADA PÁGINA DA SUA APLICAÇÃO.

 

É só um exemplo tosco... dá uma estudada que você vai ver como é que funciona.

Obs.: Não garanto testes feitos com os codigos acima. aheuaeihuaeu

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado AlterC, o exemplo fucionou, ficou bacana agora é só estudar um pouco para melhorar, alguem sabe onde posso encontrar um exemplos ou apostilas de ajax?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas vai com calma amigo...

uma coisa de cada vez....

tente absorver um tipo de tecnologia de cada vez.

 

é só uma opinião pessoal... às vezes fica difícil assimilar... ;)

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok só fiquei curioso hehe..

 

mas ainda estou com uma duvida eu criei o seguinte codigo:

 

 

Corpo.php

<?php
$pagina = $_GET["pag"]; 

switch($pagina) 
{
 case "1":
   include("index.php");
   break;
 case "2": 
   include("1.php");
   break;
  case "3":
   include("index.php"); 
 case "4": 
   include("1.php");
   break;
   
 default: 
   include ("index.php");
   break;
}
?>

 

e na pagina index coloquei o seguinte:

 

<? include("corpo.php") ?>

 

Mas assim verifiquei que ele só tranposta o texto, imagem e fromularios nao transporta,ou seja, eu queria que ele transporta-se tbm imagens e fromularios, por exemplo uma das paginas é de editar pagina, como eu faço isso?

 

eu tentei com uma iframe mas nao sei como fazer o include nela, como se faz, tem outro jeito????

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai... é só você dar um include pra página correta :)

verifique o caminho que você tá colocando ao relacionar a sua página com um código.

pense sempre que o caminho começa de onde está o seu arquivo corpo.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao compreendi.....

 

 

ele ta a funcionar mas só carrega o texto, e eu querio que ele carregue tbm imagem e formularios, mas eu nao sei como introduzir isso no iframe eu tentei algo do genero:

 

 

 

 

na pagina index.php

 

<? include("corpo.php") ?>

..
..
..

 <iframe name="corpo" width="103%" height="500px" src="$pagina" frameborder="0" scrolling="yes" > </iframe>

eu nao sei como fazer tou a pesquisar mas nao encontro nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

dentro do iframe coloca <? include("$pagina");?>

 

<iframe name="corpo" width="103%" height="500px" src="$pagina" frameborder="0" scrolling="yes" >
	 <? include("$pagina");?>
</iframe>

você seguiu o exemplo que te passei?

quando ele chegar dentro do iframe ele vai lá no seu corpo.php e vai verificar que página você selecionou no menu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

upps nao deu serto olha a pagina teste onde eu tou a testar o codigo

 

 

<?
	include ('corpo.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">
	<head>
		<title>.::Teste::.></title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
<body>
		
		
		<table width="100%" border="1" cellspacing="0" cellpadding="1">
		  <tr>
			<td>
			<div id="menu">
			<ul>
				<li><a href="pagina.php?pag=1">Principal</a></li>
				<li><a href="pagina.php?pag=2">Página 2</a></li>
				<li><a href="pagina.php?pag=3">Página 3</a></li>
		   </ul>
	   </div></td>
		  </tr>
		  <tr>
			<td>
			
			
			<iframe src="$pagina" name="corpo" width="103%" height="500px" scrolling="Yes" frameborder="0" id="corpo" <? include("$pagina");?> > </iframe>
			
</td>
		  </tr>
		</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é claro: você tá colocando a variável página no lugar errado. XD

eu copiei e colei de você e nem percebi o erro hehehe

 

olha ae:

<iframe name="corpo" width="103%" height="500px" scrolling="Yes" frameborder="0" id="corpo"> <? include("$pagina");?> </iframe>

tenta assim.

 

Não seria melhor você trabalhar com divs?

e se não tá encontrando algum arquivo é porque o jeito que você colocou no seu corpo está errado.

você tem que colocar o destino relativo das páginas

 

por exemplo: se você está na pasta 1, mas seu arquivo está na pasta 2 você tem que fazer assim: ../pasta2/pagina.php

 

mas disso você sabia né?

pense sempre a partir da página corpo.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu penso que ja tentei assim mas vou dar uma olhada, quanto as camninhos eles estao corretos isso eu ja sabia, mais uma vez obrigado e desculpa pelo incomodo mas é que aprender sozinho é complicado eu tou a dar uma olhada numas apostilas, mas só com o tempo

 

 

obrigado

 

 

P.s:. caso nao funcione la vou eu chatear o povo de novo hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou tou a dar em doido vou colocar passo a passo

 

 

 

ta tudo numa pasta só

 

onde coloquei a

 

pagina.php

 

<?php require_once('corpo.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">
	<head>
		<title>.::Teste::.></title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
<body>
		
		
		<table width="100%" border="1" cellspacing="0" cellpadding="1">
		  <tr>
			<td>
			<div id="menu">
			<ul>
				<li><a href="pagina.php?pag=1">Principal</a></li>
				<li><a href="pagina.php?pag=2">Página 2</a></li>
				<li><a href="pagina.php?pag=3">Página 3</a></li>
		   </ul>
	   </div></td>
		  </tr>
		  <tr>
			<td>
			<div id="painel">
			
			<iframe src="" name="corpo" width="103%" height="500px" scrolling="Yes" frameborder="0" id="corpo" > <?
	include ('$pagina');
?> </iframe>
			</div></td>
		  </tr>
		</table>
</body>
</html>

 

pagina corpo.php

<?php
$pagina = $_GET["pag"];

switch($pagina)
{
case "1":
   include("1.php");
   break;
case "2":
   include("2.php");
   break;
  case "3":
   include("4.php");
case "4":
   include("3.php");
   break;
  
default:
   include ("pagina.php");
   break;
}
?>

a pagina 1.php

 

ola

 

 

a pagina21.php

 

ola2

 

e com este codigo o que me aparece no localhost

 

na pagina.php onde tem a forme é em cima do menu aparece "ola"(<? include("corpo.php")) depois tenho o menu e em baixo a iframe que nao aparece nada, nao sei o que esta errado, ja procurei outras formas mas ainda estou a estudar apara ver como fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu colocar o primeiro script tanto a pagina index como o corpo no lugar do[

code]<? include('$pagina') ?>[/code] aparece a mensagem ola tudo bem mas se eu colocar formularios tipo o de editar pagina ñao funciona por sua vez se colocar

 

corpo igaul ao srcip inicial e colocar

a index com iframe assim

 

 

<?
	include ('corpo.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">
	<head>
		<title>.::Teste::.></title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
	<body>
		<div id="menu">
			<ul>
				<li><a href="index.php?pag=1">Principal</a></li>
				<li><a href="index.php?pag=2">Página 2</a></li>
				<li><a href="index.php?pag=3">Página 3</a></li>
		   </ul>
	   </div>
		<div id="painel">
			<iframe name="corpo" width="103%" height="500px" scrolling="Yes" frameborder="0" id="corpo"> <? include("$pagina");?> </iframe>
		</div>
	</body>
</html>

nao aparece nada 0 que esta errado??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que loucura, não entendi, explica aqui pra mim o que que tu quer fazer ? outra coisa, índices numéricos são mais rápidos para processamento, além do mais você está usando assim:

 

<?php
$pagina = $_GET["pag"];

switch($pagina)
{
case "1":
   include("1.php");
   break;
case "2":
   include("2.php");
   break;
  case "3":
   include("4.php");
case "4":
   include("3.php");
   break;
  
default:
   include ("pagina.php");
   break;
}
?>

você está tratando os números como STRING e não como números, por tanto para este caso retire as aspas duplas na hora da comparação com os números, o correto seria:

 

<?php
$pagina = $_GET["pag"];

switch($pagina)
{
case 1:
   include("1.php");
   break;
case 2:
   include("2.php");
   break;
  case 3:
   include("4.php");
case 4:
   include("3.php");
   break;
  
default:
   include ("pagina.php");
   break;
}
?>

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.