visualsyndrom a écrit :
Bonjour,
Premier post suite à de longues recherches infructueuses... En fait je pense que ce que je compte faire n'est pas possible avec php mais je n'ai pas trouvé de réponse claire à ce sujet et je débute dans le domaine.
Je suis en train de créer un site dont le menu est en flash / AS3. Ce menu contient un player audio et je ne veux donc pas de rechargement de la page pendant la navigation, ce qui a pour effet de couper le son. La méthode du GET en PHP ne fonctionne donc pas ici.
Est il possible en php lors du clic sur le lien du menu de faire apparaitre le contenu désiré (par exemple 'news' ou 'biographie') dans une div de la page sans recharger la page en question?
Suis je obligé de passer par une iframe?
Merci pour vos avis éclairés!
|
Salut,
En gros tu veux que le clic sur le menu recharge la div qui contient le contenu, mais pas toute la page.
Donc on est en train de parler d'AJAX. Le langage côté serveur n'est pas du tout en cause dans ta problématique. Ici tout se passe en Javascript, tu pourrais appeler de l'ASP, un fichier HTML en dur, une servlet Java, du PHP...
Déjà est-il possible dans ton menu Flash de mettre du javascript derrière les liens, au lieu de mettre les URL de tes rubriques ?
Si non, c'est mort (et PHP n'a rien à voir là-dedans)
Si oui, il faut que tu regardes comment fonctionne AJAX. En gros l'idée c'est :
- clic sur une entrée de menu (par exemple News)
- appel d'une fonction javascript loadPage dédiée au chargement d'une page via AJAX
- cette fonction javascript va faire l'appel d'une URL sur ton serveur (donc le script PHP) qui renvoie uniquement le contenu de la div News
- tu récupères ce contenu dans une variable javascript et tu l'injectes directement dans la div principale.
Voilà pour le principe. Pour l'implémentation il faut s'y connaître en AJAX (et donc en Javascript). Si tu ne t'y connais pas je te recommande d'utiliser une librairie existante qui fait les choses pour toi, par exemple jQuery ou encore extJs. Tu trouveras facilement plein d'exemples à droite à gauche.
Encore une chose : cette solution détourne le fonctionnement classique d'un navigateur qui est de charger des URL lorsqu'on clique sur des liens. Ici tes liens appellent du Javascript et ne changent pas réellement de page au vu du navigateur. Par conséquent il sera impossible d'utiliser Précédent/Suivant...
En espérant t'avoir été utile...
Bon courage