8791 sujets

Développement web côté serveur, CMS

Bonjour

Sur un site qui contient 3 div.

Une div pour le menu et une div pour le contenu. Et une div qui reprend les deux div précédentes.

J'aimerais faire en sorte que toute la page ne se charge pas à chaque fois que l'on clique sur un bouton qui renvoi vers une autre page. Mais que seul la div du contenu change.

Je sais qu'en php cela est possible mais j'ai besoin d'être aiguillé sur ce problème.

Si vous avez des idées ou suggestions....

Voici le code d'une de mes pages pour le moment en html


<div class="al">

	<div class="menu">
	
		<a href="news.html">NEWS</a> - 
		<a href="band.html">BAND</a> - 
	
	</div>
	
	<div class="main">
	
        <p>contenu du site</p>		
	
	</div>
	
</div>



J'ai vu des moyens en javascript et ajax .... Mais ça m'a l'air bien complexe.

Je me demande si il n'y a pas un moyen avec include un peu plus simple.

Merci à vous
Modifié par donfino (09 Nov 2007 - 19:03)
Salut donfino Smiley cligne ,

donfino a écrit :
Je sais qu'en php cela est possible

Euh... non : ça n'est pas possible en PHP Smiley confus ...

Par contre on peut utiliser les include pour se simplifier la tâche...

A+ Smiley smile
merci à toi ....

Voila en gros.

J'ai une page news.php dans laquelle j'ai la structure de mon site ainsi que
mon lien vers ma page css.

J'ai deux boutons (news et band) qui renvoie vers les pages (news.html et band.html)

Avec include dés que j'ouvre ma page news.php, news.html est chargée dans ma div "main"

Mais quand je clique sur band, il ne charge pas ma page band.html dans ma div "main" mais il l'a charge comme page indépendante comme si je l'ouvrais directement en double cliquant sur band.html

Voici la partie du code de la page news.php ou j'ai mon menu


<div class="menu">
	
		<strong><a href="news.html?section=news">NEWS</a></strong> - 
		<a href="band.html?section=band">BAND</a> - 
	
</div>



Voici la partie du code de la page news.php ou j'ai mon include



	
<div class="main">
	
	<?php 
	if (!isset($_GET ["section"]) || strlen($_GET["section"]) > 20) $_GET["section"] = "news"; 
	include($_GET["section"].".html"); 
	?>
	
</div>
	


Merci à vous
Modifié par donfino (09 Nov 2007 - 21:02)
Bonsoir,

la page php doit renvoyer vers elle-même.
Dans le code suivant:
<a href="[b]news.html[/b]?section=news">NEWS</a>


La partie en gras doit être remplacée par news.php. Idem dans l'autre lien.


PS: attention à ton include qui ne teste pas l'existence de "../" autorisant de se balader où on veut. Ni l'existence du fichier inclus (risque d'erreurs pas jolies).
Modifié par Necromantik (09 Nov 2007 - 23:21)
Bonsoir

mon contenu se trouve dans des pages HTML news.html et band.html

Si je renvoie la page vers elle meme il n'y aura pas de contenu dans ma div ?

Je ne comprend pas bien ta réponse à mon avis mais si je remplace ce qui est en gras par news.php je n'ai pas de contenu vu que dans ma page news.php j'ai mon php qui permet d'afficher mes pages dans ma div

Merci
Administrateur
c'est possible en ajax avec innerHTML notamment.

avec <div id="main">

document.getElementById("main").innerHTML = "blabla";
Si il y aura un contenu. Car php va inclure ta page html dans le div.
Si tu envoies sur news.html le code php ne peux pas marcher car il se trouve dans news.php.
En effet Necromantik

Ca fonctionne

Il y a juste une chose qui m'interpelle.

Quand je suis sur ma page news et que je clic sur band ou media etc ... Simplement la div main se réactualise. Donc c'est parfait.

Mais quand je clic sur news (ma page principale qui contient le code php include) la il recharge toute la page.

Pourtant quand la souris est sur le bouton news j'ai bien
news.php?section=news
dans la barre d'état.[code]

et dans ma page news.html j'ai juste l'insertion d'une anim flash.

Merciii à tous
Modifié par donfino (10 Nov 2007 - 11:29)