Ir para conteúdo

POWERED BY:

Arquivado

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

samukinha

Carregar link na mesma página com função PHP

Recommended Posts

Esse é literalmente meu primeiro script que tento desenvolver em PHP, como não estou conseguindo chegar a uma solução vou postar aqui pra que alguém mais experiente me ajude:

 

Tenho uma página com um menu, quatro link e no corpo da página um include do script php que irá trocar de página:

 

<div id="menu-cardapio">
   <ul id="menu-nav-cardapio">
     <li id="link1"><a href="">PIZZAS TRADICIONAIS</a></li>
     <li id="link2"><a href="">PIZZAS DOCES</a></li>
     <li id="link3"><a href="">ACRÉSCIMOS</a></li>
     <li id="link4"><a href="">BEBIDAS</a></li>
   </ul>
</div>

<?php
   require("scripts/funcao-altera-pagina.php");
?>

 

 

E aqui o script php:

 

<?php

$id            = $_POST["id"];
$a             = $id;
$link1         = "Pizzas Tradicionais";
$link2         = "Pizzas Doces";
$link3         = "Acréscimos";
$link4         = "Bebidas";

echo "
<style>h2{
margin-left:15px;
margin-top:60px;
margin-bottom:15px;
color:#F00;
}
</style>";

echo "<h2>$link1</h2>";

function alterarPaginas(){
switch($a){

case $link1:	
include("p-tradicionais.php");

case $link2:
include("p-doces.php");

case $link3:
include("acrescimos.php");

case $link4:
include("bebidas.php");
}
}

?>

 

Acabei de escrever esse código mas não estou conseguindo seguir a linha lógica. Acho que está faltando algo nos link do menu, só que perdi o compasso aqui e não estou conseguindo seguir. Alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca as páginas diretos nas tags <a></a>. Se não está abrindo na mesma página, use o target="_SELF"

 

assim:

 

<div id="menu-cardapio">
<ul id="menu-nav-cardapio">
<li id="link1"><a href="pagina1.php" target="_SELF">PIZZAS TRADICIONAIS</a></li>
<li id="link2"><a href="pagina2.php" target="_SELF">PIZZAS DOCES</a></li>
<li id="link3"><a href="pagina3.php" target="_SELF">ACRÉSCIMOS</a></li>
<li id="link4"><a href="pagina4.php" target="_SELF">BEBIDAS</a></li>
</ul>
</div>

 

 

Boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Engraçado, tinha tentado isso antes e não deu certo, mas agora funcionou. Vlw pela dica amigo @Rafael Rosario.

Já que entrei no assunto do PHP, vou puxar um gancho aqui.

Supondo que eu tenha dentro desta mesma página além da div menu uma outra div chamada coluna direita. Essa coluna é saparada por uma linha e mostra uma outra div com um conteúdo qualquer (isso enquanto eu estiver na página principal). Agora, supondo que eu mude de página, essa div continuaria a mostrar o conteúdo na coluna da direita, só que agora irá acrescentar mais um outro conteúdo qualque logo abaixo. E este conteúdo deverá ser exclusivo desta página. Dá pra criar em cima do código que eu postei anteriormente algo que identificasse que estou na página 'x' e que dissesse ao php que agora é a hora de mostrar o conteúdo 'extra' e quando eu mudar de página ele simplesmente retira esse conteúdo de dentro da minha div coluna direita, voltando ao seu estado normal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da pra fazer isso passando parametros na URL e capturar com $_GET depois:

 

 

 


<div id="menu-cardapio">
<ul id="menu-nav-cardapio">
<li id="link1"><a href="pagina1.php?texto=TEXTOQUALQUER" target="_SELF">PIZZAS TRADICIONAIS</a></li>
<li id="link2"><a href="pagina2.php?texto=TEXTOQUALQUER" target="_SELF">PIZZAS DOCES</a></li>
<li id="link3"><a href="pagina3.php?texto=TEXTOQUALQUER" target="_SELF">ACRÉSCIMOS</a></li>
<li id="link4"><a href="pagina4.php?texto=TEXTOQUALQUER" target="_SELF">BEBIDAS</a></li>
</ul>
</div>


<div id="colunaDireita">

 <?php 

if(!empty($_GET('texto')){ 


$textoQualquer = $_GET('texto');

 echo $textoQualquer;
}
else{

echo "Um texto Padrão para Home";

}

?>

</div>


 

 

 

 

Como sempre, existem várias outras alternativas, esa é apenas uma delas.

 

Ve se atende ao que você quer.

 

 

Abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fla Rafael,

então cara, não é bem isso que eu quero. Essse código vai imprimir um texto qualquer somente na página atual. Eu quero algo mais dinâmico.

Vo tentar explicar, se não ficar claro postem ai:

 

Eu tenho na minha index.php uma div coluna-direita. Essa div me mostra o horário de funcionamento do local e os cartões aceitos. Até ai, beleza ;)

Agora eu clico no link cardápio, onde a div de antes continua visível, só que agora ela "estica" e passa a me mostrar algumas observações do cardápio.

Isso acontece para todos os links da página cardápio.

Se for mapear a página ficaria: cardápio(pizzas-tradicionais) -> pizzas doces -> acrescimos -> bebidas

 

Da pra fazer isso passando parametros na URL e capturar com $_GET depois:

 

É bem isso ai mesmo que eu quero, verifico a URL atual e se 'bater' com um dos valores dos links acima ele 'estica' a div (acrescenta o conteúdo adicional) caso o valor da URL seja diferente, tipo, se eu mudar pra index de novo, a div comprime e só me mostra os valores iniciais.

 

Já tentei mil vezes, só que eu não sei como se faz pra checar a URL e retornar um valor em cima desse resultado. :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, você tem cada página propriamente formatada para cada link, ou seja:

  • Link 1 :seta: Pizzas.php
  • Link 2 :seta: Pizzas Doces.php

Etc, não precisa de complicar o simples, você vai apenas fazer uma requisição GET, no qual vai verificar o valor requisitado, e com esse mesmo valor, você vai fazer o include, seria isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, você tem cada página propriamente formatada para cada link, ou seja:

 

Link 1 :seta: Pizzas.php

Link 2 :seta: Pizzas Doces.php

 

É isso. Mas como faço pra checar a url atual e dizer a ela para exibir a variável 'x' naquela página somente?

Acho que ilustando ficaria mais fácil de explicar. Como faço pra enviar uma imagem do meu computador?

 

Estava lendo o módulo 2 do curso de PHP e vi que o elemento GET resgata ou recupera algo pela URL e se encontra um script ele executa.

No caso:

 

$permissao = array("pg1","pg2","pg3");

$pagina    = $_GET['pagina'];
   if($pagina == 'URL_da_página' && in_array($permissao)){
       echo "Estou na página 'X'";
}else{
       echo "Estou na págin 'Y'";
}

 

onde: a URL da página seria index.php?pagina=pg1, por exemplo

Estou trabalhando com query string e passo os parâmetros via GET. Já tentei colocar o endereço completo dentro do if mas me parece que o PHP não distinguiu a de b. Ele sempre da um echo na página onde foi inserido o escript.

 

Alguma sugestão?

 

Alguém ai se dispõe a opinar, caso contrário vou pedir para fechar o tópico. :joia:

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.