11550 sujets
Bonjour,
On ne peut pas cliquer sur un include. Ça ne fait aucun sens. Les includes sont traités côté serveur et le résultat final est envoyé au navigateur. Voici un article qui pourrait t'intéresser : Le point sur la fonction PHP include
Pour réaliser ce que tu souhaites, c'est-à-dire recharger uniquement une partie de la page, tu dois te tourner vers AJAX. JQuery facilite aussi son utilisation.
Modifié par Tony Monast (29 Nov 2011 - 00:33)
lockandpopping a écrit :
Il se recharge chaque fois que je clique sur un include.
On ne peut pas cliquer sur un include. Ça ne fait aucun sens. Les includes sont traités côté serveur et le résultat final est envoyé au navigateur. Voici un article qui pourrait t'intéresser : Le point sur la fonction PHP include
Pour réaliser ce que tu souhaites, c'est-à-dire recharger uniquement une partie de la page, tu dois te tourner vers AJAX. JQuery facilite aussi son utilisation.
Modifié par Tony Monast (29 Nov 2011 - 00:33)
Bonjour et merci.
Je me suis simplement mal exprimé. Effectivement je ne clique pas sur include mais je clique sur un lien qui charge une page php dans un include. Pour cette partie je pense avoir compris.
Ce que je ne comprend pas c'est pourquoi le javascript de mon menu se recharge à chaque clique et cela seulement sur chrome et safari et pas sur firefox.
Merci.
Je me suis simplement mal exprimé. Effectivement je ne clique pas sur include mais je clique sur un lien qui charge une page php dans un include. Pour cette partie je pense avoir compris.
Ce que je ne comprend pas c'est pourquoi le javascript de mon menu se recharge à chaque clique et cela seulement sur chrome et safari et pas sur firefox.
Merci.
Bonjour,
je ne comprends pas bien ton problème ... Ton menu est constitué de liens, et quand tu cliques sur ces liens, c'est toute la page qui se recharge, menu y-compris, quelque soit le navigateur.
Chaque navigateur affiche ce changement de page à sa manière.
Si tu souhaites que ton menu ne se recharge pas, il te faudrait utiliser Ajax ... C'est à dire, attribuer grâce à javascript un évènement onclick à tes liens, appeler via js le php que tu utilises en include, et insérer la réponse html dans ton div.page par exemple.
Voilà, j'espère ne pas avoir fait un hors sujet et que ça t'aidera.
je ne comprends pas bien ton problème ... Ton menu est constitué de liens, et quand tu cliques sur ces liens, c'est toute la page qui se recharge, menu y-compris, quelque soit le navigateur.
Chaque navigateur affiche ce changement de page à sa manière.
Si tu souhaites que ton menu ne se recharge pas, il te faudrait utiliser Ajax ... C'est à dire, attribuer grâce à javascript un évènement onclick à tes liens, appeler via js le php que tu utilises en include, et insérer la réponse html dans ton div.page par exemple.
Voilà, j'espère ne pas avoir fait un hors sujet et que ça t'aidera.
Ok j'y vois un peu plus claire.
En fait quand j'ai créé mon site je pensai qu'il fonctionnerai comme cela :
Menu du haut (fixe)
Ecran (contient les différents contenus de mon site intégrer en include)
Menu du bas (fixe avec lien vers include ecran)
Mais en fait le php ne permet pas de laisser le menu sans recharger.
Pour moi je pensais que lors d'un clique seul la partie contenu dans le include se rechargeai.
Mais j'ai du mal comprendre.
Je vais regarder ça aujourd'hui.
En tout cas merci pour ces réponses ça m'aide beaucoup.
En fait quand j'ai créé mon site je pensai qu'il fonctionnerai comme cela :
Menu du haut (fixe)
Ecran (contient les différents contenus de mon site intégrer en include)
Menu du bas (fixe avec lien vers include ecran)
Mais en fait le php ne permet pas de laisser le menu sans recharger.
Pour moi je pensais que lors d'un clique seul la partie contenu dans le include se rechargeai.
Mais j'ai du mal comprendre.
Je vais regarder ça aujourd'hui.
En tout cas merci pour ces réponses ça m'aide beaucoup.
Php (language côté serveur) construit la page à l'aide de variables, fonctions et autre, puis renvoie la page Html au navigateur. A partir de là, son boulot est fini, tout ce qui se passera dans le navigateur n'est plus de ressort de Php mais de Javascript. Donc quand tu cliques un lien, c'est un évènement Javascript, Php ne peut rien faire là dedans. Du coup ton lien est cliqué normalement, t'amenant vers une nouvelle page qui sera générée avec Php puis envoyée au navigateur et ainsi de suite.
Il existe des alternatives à ce fonctionnement. La première est Ajax, qui permet à Javascript de faire des requêtes HTTP et de récupérer ce qui est renvoyé. Ca signifie donc que Javascript peut interpréter un évènement (clic sur un lien par exemple) faire une requête asynchrone (donc Ajax) pour appeller une autre page et récupérer le code HTML de ladite page.
Dans la théorie c'est relativement simple, dans la pratique ça se complique un peu quand on souhaite avoir un site qui fonctionne aussi bien avec que sans javascript.
Plus récent, y'a aussi Push qui fait partie si je ne me trompe pas des nouvelles APIs Javascript enpaquettées Html5 qui permet de faire... grosso modo pareil, j'avoue que je n'ai pas encore pris le temps de voir tout ça en détail.
Si tu souhaites vraiment te lancer là dedans (ton niveau me semble un peu léger, si j'étais toi je laisserai poser le temps d'acquérir de solides bases et de bien comprendre php et js et ce qu'ils font) tu peux regarder du côté de pjax qui est un plugin (disponible en plugin jQuery) qui permet d'utiliser Push (avec fallback Ajax) pour faire du remplacement de contenu comme tu le souhaites. Je vais pas détailler ici, mais en gros ça permettrait de ne pas avoir à recoded tout le site pour prendre en compte l'absence ou non de JS, par contre c'est plus complexe à saisir, surtout si tu n'as pas bien assimilé les différentes étapes de la vie d'une page web, les languages etc etc.
Il existe des alternatives à ce fonctionnement. La première est Ajax, qui permet à Javascript de faire des requêtes HTTP et de récupérer ce qui est renvoyé. Ca signifie donc que Javascript peut interpréter un évènement (clic sur un lien par exemple) faire une requête asynchrone (donc Ajax) pour appeller une autre page et récupérer le code HTML de ladite page.
Dans la théorie c'est relativement simple, dans la pratique ça se complique un peu quand on souhaite avoir un site qui fonctionne aussi bien avec que sans javascript.
Plus récent, y'a aussi Push qui fait partie si je ne me trompe pas des nouvelles APIs Javascript enpaquettées Html5 qui permet de faire... grosso modo pareil, j'avoue que je n'ai pas encore pris le temps de voir tout ça en détail.
Si tu souhaites vraiment te lancer là dedans (ton niveau me semble un peu léger, si j'étais toi je laisserai poser le temps d'acquérir de solides bases et de bien comprendre php et js et ce qu'ils font) tu peux regarder du côté de pjax qui est un plugin (disponible en plugin jQuery) qui permet d'utiliser Push (avec fallback Ajax) pour faire du remplacement de contenu comme tu le souhaites. Je vais pas détailler ici, mais en gros ça permettrait de ne pas avoir à recoded tout le site pour prendre en compte l'absence ou non de JS, par contre c'est plus complexe à saisir, surtout si tu n'as pas bien assimilé les différentes étapes de la vie d'une page web, les languages etc etc.
HammHetfield a écrit :
ton niveau me semble un peu léger, si j'étais toi je laisserai poser le temps d'acquérir de solides bases et de bien comprendre php et js et ce qu'ils font
+1
Remarque en passant: ça faisait longtemps que je n'avais pas vu de tentative d'imiter l'interface d'un OS précis (ou plus généralement une interface d'OS) dans une page web. Je dois dire que ça ne m'avait pas manqué. Outre le fait que dans l'absolu c'est une idée vraiment pourave, cette tentative décroche le pompon car en plus c'est très mal fait.
Mais on fait tous des erreurs, moi le premier, et je suis persuadé que le prochain site sera bien mieux.

PS: j'aime bien http://lockandpopping.com/ d'ailleurs. Simple et relativement efficace (peut-être un bug qui traine dans le menu déroulant, c'est que les menus déroulants c'est le mal mais passons). Les travaux montrés sont pas mal, même si on voit qu'il y a une marge de progression; en gros c'est une bonne base pour pouvoir postuler dans une agence web pour un premier poste.
PPS: se lancer en freelance en étant encore étudiant (jusqu'à la fin de l'année si j'ai bien compris), ça peut être intéressant mais aussi casse-gueule par rapport à un client qui attend une qualité pro (formation finie + expérience) et une disponibilité de presta freelance. Faites gaffe là-dessus. Et si c'est pour vous faire un peu d'argent et d'expérience pendant quelques mois ok, mais si vous comptez vous lancer directement en sortie d'études... attention là aussi. En général on recommande de se faire de l'expérience (du graphisme, mais aussi des relations clientèles, des contraintes projet, des estimations de temps de travail, etc.) en agence avant d'envisager de peut-être créer sa boite. Après vous faites comme vous voulez.
Modifié par fvsch (29 Nov 2011 - 14:24)