rubenbrito Posted April 19, 2012 at 10:53 PM Report #450077 Posted April 19, 2012 at 10:53 PM Boas. É assim: Imaginando que tenho um site php, estou na página index.php, e na área a vermelho (link da imagem em baixo) apenas o código include("novidades.php"); E quando clico em "Produtos" queria que o script "novidades.php" fosse substituído pelo "produtos.php" sem ter que mudar de página. Como devo fazer ? Alguém que me dê uma orientaçãozinha 🙂 Obrigado, Cumprimentos! 😄 http://imageshack.us/photo/my-images/811/97800002.jpg/ apenas tenho o código -- (brunoais) Para a próxima, edita o post, não cries um outro .
KTachyon Posted April 19, 2012 at 11:14 PM Report #450084 Posted April 19, 2012 at 11:14 PM PHP é server side. Executa no servidor. Para fazeres isso tens que utilizar uma linguagem client side (ou browser side) tipo Javascript, que te faça o pedido ao servidor e substitua o div pelo que vier como resposta. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
kya Posted April 19, 2012 at 11:40 PM Report #450085 Posted April 19, 2012 at 11:40 PM Versáo simplificada tirada da cabeça sem testar. 1 - inclui o jquery na página 2 - no tab do site (produtos por exemplo) um evento onclick <div onclick="mostraProdutos();">Produtos</div> Imaginemos que o div onde queres que apareçam os produtos tem o id="resultado" var mostrarProdutos = function(){ $.get( "produtos.php", function(data) { $('#resultado').html(data); }, ) } Se quiseres mais funcionalidades investiga: http://api.jquery.com/jQuery.ajax/
ruiFernandes Posted April 20, 2012 at 01:27 PM Report #450169 Posted April 20, 2012 at 01:27 PM Boas, podes usar algo assim, como o que fiz agora <html> <head><title>Menu</title> <script type="text/javascript"> function aoCarregar(){ document.getElementById('produtos').style.display = "none"; } function escondeTudo(){ document.getElementById('inicio').style.display = "none"; document.getElementById('produtos').style.display = "none"; } function abrirPag(nome){ escondeTudo(); document.getElementById(nome).style.display = "block"; } </script> <style type="text/css"> #menu{list-style:none;} #menu li{display:inline;margin-left:20px;} </style> </head> <body onload="javascript:aoCarregar();"> <ul id="menu"> <li><a href="javascript:void();" onclick="javascript:abrirPag('inicio');">INICIO</a></li> <li><a href="javascript:void();" onclick="javascript:abrirPag('produtos');">PRODUTOS</a></li> </ul> <hr/> <div id="inicio">INICIO!</div> <div id="produtos">PRODUTOS!</div> </body> </html> e no conteúdo da página fazes o include da página php. Cumps, Rui Fernandes - Rui Fernandes
rubenbrito Posted April 25, 2012 at 03:48 PM Author Report #451390 Posted April 25, 2012 at 03:48 PM Muito obrigado pela ajuda Rui Fernandes 😉
ruiFernandes Posted April 26, 2012 at 11:23 AM Report #451555 Posted April 26, 2012 at 11:23 AM de nada 🙂 , na função aoCarregar podes pôr antes a escondeTudo e a abrirPag a abrir a que queres abrir de inicio ficando assim function aoCarregar(pagInicio){ escondeTudo(); abrirPag(pagInicio); } e ao chamar a aoCarregar no onLoad escreves como parametro o nome da div que queres que abra em primeiro Cumps, Rui Fernandes - Rui Fernandes
KTachyon Posted April 26, 2012 at 05:40 PM Report #451624 Posted April 26, 2012 at 05:40 PM Eu só acho que entretanto este tópico deixou de fazer sentido estar na secção de PHP. Penso que a continuação da dúvida deveria ter sido colocada e respondida na secção de Javascript. Anyway, alterar o título do tópico também seria altamente recomendado. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
Th3Alchemist Posted April 26, 2012 at 09:29 PM Report #451646 Posted April 26, 2012 at 09:29 PM Eu só acho que entretanto este tópico deixou de fazer sentido estar na secção de PHP. Penso que a continuação da dúvida deveria ter sido colocada e respondida na secção de Javascript. Anyway, alterar o título do tópico também seria altamente recomendado. Também é possível em PHP, e até achava mais simples, do género: links no formato index.php?page=produtos e mais a frente: $page = $_GET['page']; include '$page'.'.php';
ruiFernandes Posted April 26, 2012 at 10:02 PM Report #451658 Posted April 26, 2012 at 10:02 PM não leste direito o primeiro post, ele queria que o conteúdo muda-se, sem mudar de página. - Rui Fernandes
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now