Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel Filho

[Resolvido] query_string erro no script

Recommended Posts

Bom, tentei fazer uma página com duas includes, sendo que elas

chamam os arquivos menu.php e query.php. Pois eu

queria utilizar aquele sistema de query_string, ou seja,

queria que a query.php procesasse os links indicados pelo

menu.php, para que eu pudesse navegar pelo programa sem

que o menu parasse de ser exibido.

 

Li algumas coisas e tentei fazer o script, porém não está dando

certo quando tento entrar na URL, e também não sei se estou

digitando certo o conjunto de variáveis que devem ser digitado

na URL.

 

Pois bem, ai vai o script:

 

<?php
  $pagina = $_GET['pagina'];
  if ($pagina == "home")
  {
    $exibir = "home.php";
  }
  elseif ($pagina == "sobre")
  {
    $exibir = "sobre.php";
  }
  elseif ($pagina == "contato")
  {
    $exibir = "contato.php";
  }
  if ((isset($exibir)) and (file_exists($exibir)))
  {
    include($exibir);
  }
  else
  {
    include("erro.php");
  }
?>

Eu indiquei no itens a serem acessados pelo menu.php da seguinte maneira:

 

<a href="exibir.php?pagina=home">HOME</a> //E assim por diante...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa frame

 

uma pagina com dois frames. do lado esquerdo por exemplo, que seria o menu e no meio o principal

dae você coloca o link para abrir no frame principal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sabe usar Frames ??

 

você cria uma página que só tenha o MENU. Mais nada.

Dae você cria uma página, que chama o Frame do Menu.

 

Teste este código e veja no que dá;

<html>
<head>
</head>
<frameset rows='60,*' border ='0'>
   <frame src='topo.php'></frame>
   <frameset cols='215,*' border=0>
   <frame src='menu.php' noresize scrolling='no' name='menu'>
   <frame src='principal.php' noresize name='principal'>
   <frameset rows='60,*' border ='0'>
   <frame src='topo.php'></frame>
   </frameset>
   </frameset>
   </frameset><br><br>
</html>

Dae no MENU, todos os links você coloca um target='principal', pq eh o Frame principal onde tudo deve aparecer, desta forma o MENU permanece.

Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo. Entao tah.

você tem o menu.php neh

 

Primeiro, nos links você tem que ter um parametro para chamar a pagina certa.

Por exemplo:

 

LINKS DO MENU

<a href='index.php?pg=futebol'> Futebol </a>
<a href='index.php?pg=musica'> Música </a>
<a href='index.php?pg=games'> Games </a>
<a href='index.php?pg=informatica'> Informática </a>

Na página principal, sempre você vai chamar esse menu certo ??

Entao usa o include

 

index.php // Por exemplo

<?php
 
include 'menu.php';
$pg = $_GET['pg']; // Parametro
if($pg == "futebol")
{
   include 'futebol.php';
}
elseif($pg == "musicas")
{
   include 'musica.php';
}
elseif($pg == "games")
{
   include 'games.php';
}
elseif($pg == "informatica")
{
   include 'informatica.php';
}
else
{
   include 'pagina.php'; // uma pagina inicial 
}

Edit: tinha errado os links do menu, eh index.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo eu tenho uma index.php, e dentro dela, eu chamo por meio da include o menu.php e a query.php.

É na query.php que tem os codigos que disse.

Acho que nao é dessa maneira que você disse ai nao...

 

O meu problema é que a query nao carrega a pagina certa que eu quero!

Compartilhar este post


Link para o post
Compartilhar em outros sites

index.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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>teste</title>
</head>

<body>
<div align="center"><?php include "menu.php"; ?></div>
<div align="center"><?php include "query.php"; ?></div>
</body>
</html>

menu.php

<ul>
  <li><a href="exibir.php?pagina=home">home</a></li>
  <li><a href="exibir.php?pagina=sobre">sobre</a></li>
  <li><a href="exibir.php?pagina=contato">contato</a></li>
</ul>

query.php

<?php
  $pagina = $_GET['pagina'];
  if ($pagina == "home")
  {
    $exibir = "home.php";
  }
  elseif ($pagina == "sobre")
  {
    $exibir = "sobre.php";
  }
  elseif ($pagina == "contato")
  {
    $exibir = "contato.php";
  }
  if ((isset($exibir)) and (file_exists($exibir)))
  {
    include($exibir);
  }
  else
  {
    include("home.php");
  }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, carrego o inicio, que é localhost/teste e aparece o seguinte erro: Notice: Undefined index: pagina in C:\Program Files\EasyPHP5.3.0\www\teste\query.php on line 2

 

Mesmo assim, a home.php é carregada, mas se eu clico nos outros itens do menu, vou para a página de obejto não encontrado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No lugar disso:

 

<ul>
  <li><a href="exibir.php?pagina=home">home</a></li>
  <li><a href="exibir.php?pagina=sobre">sobre</a></li>
  <li><a href="exibir.php?pagina=contato">contato</a></li>
</ul>

coloque isso:

<ul>
  <li><a href="index.php?pagina=home">home</a></li>
  <li><a href="index.php?pagina=sobre">sobre</a></li>
  <li><a href="index.php?pagina=contato">contato</a></li>
</ul>

E no Index.php isso:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>teste</title>
</head>

<body>
<?php
  $pagina = $_GET['pagina'];
  if ($pagina == "home")
  {
    $exibir = "home.php";
  }
  elseif ($pagina == "sobre")
  {
    $exibir = "sobre.php";
  }
  elseif ($pagina == "contato")
  {
    $exibir = "contato.php";
  }
  else
  {
    $exibir = "home.php";
  }
?>
<div align="center"><?php include 'menu.php'; ?></div>
<div align="center"><?php include '$exibir'; ?></div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

erros:

Notice: Undefined index: pagina in C:\Program Files\EasyPHP5.3.0\www\teste\index.php on line 10

Warning: include($exibir.php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP5.3.0\www\teste\index.php on line 29

Warning: include() [function.include]: Failed opening '$exibir.php' for inclusion (include_path='.;C:\php5\pear') in C:\Program Files\EasyPHP5.3.0\www\teste\index.php on line 29

 

e agra, nenhuma página é carregada, nem a home

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.