8791 sujets

Développement web côté serveur, CMS

Bonjour à vous Smiley smile

J'aimerais simplement actualiser une div dans ma page .php

Par exemple si je clique sur un lien dans ma div gauche, qu'il actualise la div droite en y insérant la page .php que j'ai mis dans mon href.

Le problème c'est qu'avec include je n'y arrive pas.

J'ai ceci :


<?php
    if (!empty($_GET['url']))
    {
        switch ($_GET['url'])
    {
case "principal" :
    include ('news.php');
    break;

}
}


Merci à vous
Ce code est totalement fonctionnel, sinon c'est que le problème est ailleurs (ton fichier news.php existe-t-il ? se trouve-t-il dans le bon répertoire ? ton url est-elle de ce type index.php?url=principal ? ...)

<?php
if (isset($_GET['url'])) {
	switch ($_GET['url']) {
		case 'principal' :
			include 'news.php';
			break;
		default:
			include 'index.php';
			break;
	 }
} else {
	include 'index.php';
}
?>
Salut,

Euh, pour le principe de fonctionnement (ne charger qu'une seule partie de la page), a part l'iFrame ou avec de l'ajax, ce n'est pas possible.

Après, je n'ai pas compris ton deuxième message.
a écrit :
Après, je n'ai pas compris ton deuxième message.

Nous n'avons posté qu'un seul message chacun... Qu'est-ce que tu n'as pas compris ?
L'ajax j'y ai pensé mais le problème avec de l'ajax c'est que je ne garde plus le fonctionnement des boutons de navigation du browser.

Enfin je suis loin de connaître l'ajax .. peut être que c'est possible. En mettant du php avec $_GET afin qu'il change l'adresse de la page. Comme ça l'utilisateur peut faire "précédent" et retourner à la page d'avant.

Merci à vous
Laissez tomber.

La page se recharge entièrement, et c'est très bien. C'est comme cela que ça fonctionne à la base.

Laissez AJAX aux applications en ligne, par pitié Smiley ravi
<?php
if (isset($_GET['url'])) {
	switch ($_GET['url']) {
		case 'principal' :
			include 'news.php';
			break;
		default:
			include 'index.php';
			break;
	 }
} else {
	include 'index.php';
}
?>


Je ne comprends pas trop.
Dans ce code comment est ce que je dois lui indiquer le lien sur lequel on doit cliquer afin d'exécuter l'action qui fera en sorte que ma page se mette dans la div désirée ?

merci
Salut,

a écrit :
Dans ce code comment est ce que je dois lui indiquer le lien sur lequel on doit cliquer afin d'exécuter l'action qui fera en sorte que ma page se mette dans la div désirée ?
C'est le lien qui indique quelle page on doit afficher en donnant la valeur de $_GET['url'] :
<a href="index.php?url=principal">News</a>
Ok merci

Ca fonctionne mais j'ai un petit problème qui persiste.

Il recharge la page mais il place mon contenu n'importe ou et pas dans la div que je veux.

A mon avis j'ai du oublier un détail ...

Merci Smiley smile
Modifié par donfino (04 Feb 2008 - 14:27)
a écrit :
A mon avis j'ai du oublier un détail...


Attention, ta page news.php ne doit contenir que les news ! Il ne doit plus contenir les balises <html>, <body>, etc. Ton fichier news.php doit "uniquement" contenir des données et plus aucune mise en page !
Ma page news ne contient que le code pour afficher les news.. Pas de body etc...

Mais étant donné que j ouvre cette page à partir de ma page index qui contient elle toutes mes div (header, colonne de gauche, footer , etc ....)

Quand la page se réacutlise et prend le contenu de ma page news pour le mettre dans ma div de contenu, toutes les autres div qui sont dans ma div contenu restent bien la. Et la ca me pose probleme.

Car sur ma page d accueil j'ai plusieurs div dans ma div contenu que je ne dois pas avoir sur les autres pages.

Et donc la je suis un peu bloqué.

Merci à vous
On ne sait rien faire pour toi, c'est ton code ! Tu as un problème de mise en page... Affiche le code source de ta page générée pour essayer de mieux comprendre le problème.
en fait c'est pas possible de faire ça en php seulement.

Il faut que je mette du javascript.....

Merci à vous
>en fait c'est pas possible de faire ça en php seulement, il faut que je mette du javascript...

Moi je te dis que c'est faisable en php sans utiliser de javascript ! mais je rajouterais également que tu ne maîtrises pas du tout les bases du PHP, visiblement pas beaucoup les bases de l'HTML (et certainement encore moins celles du CSS) et je me demande même comment tu oses aborder le javascript !

Enfin bon, peut-être que je me trompe mais vu ta dernière réponse, ça en dit beaucoup !
bein écoute apparement tu ne sais pas supprimer des div en php et mettre d autres div à la place sans actualiser toute la page. Il faut employer du javascript voir de l'ajax.

Si tu as des div tu peux modifier leur contenu en php mais tu ne peux pas intégrer une div dans une div générale et supprimer d autres div de cette meme div générale.
Modifié par donfino (05 Feb 2008 - 13:45)
Moi je voyais les choses comme ceci concernant ton problème. Tu as le squelette de ton site (mise en page de ton site) qui contient différents include.

Par exemple : un premier include pour ton header, un second pour ton menu, un troisième pour ton contenu et un quatrième pour ton footer.

En cliquant sur un lien de ton menu, tu recharges tout le squelette de ta page (ainsi que les différents include) sauf que le troisième include (celui du contenu) est rechargé en fonction du lien sur lequel t'as cliqué. Ainsi, si tu as cliqué sur news, ton troisième include appelle la page news.php. Si tu as cliqué sur forum, ton troisième include appelle la page forum.php.

La page news.php et forum.php contient du code (x)html avec tous les div que tu veux et tous ceux que tu ne veux pas ! Avec cette méthode, tu ne recharges pas uniquement un div mais tu recharges tout le contenu.