01net    Web


Actuellement en ligne : 129 Utilisateurs dont 4 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> une page qui "en contiendrai d'autres"
Auteur
Message
 
<     1       >
eric251
  
   
      ?   @     Posté le 31/05/2008 15:19:56  
Voter pour ce message
Bonjour =) !

Je souhaiterai savoir s'il est possible de réunir "plusieurs pages en une seule". En effet, celle-ci contiendrai tout le code ainsi qu'un menu présent uniquement sur la page de départ renvoyant à certaines parties du code donnant ainsi l'illusion qu'il s'agit de pages différentes.

Je ne sais pas si ma question est claire, mais merci d'avance !

-->Message édité par eric251 le 31/05/2008 15:31:14<--
Pc_expert_3
  
   
      ?   @     Posté le 31/05/2008 17:03:05  
Voter pour ce message
Ben c'est le principe des includes, inclure une page dans une autre.

Ça se fait en PHP avec la fonction include : selon les paramètres passés dans la barre d'adresse, il inclura telle ou telle page...
-------
Fils d'Albanel, va !
Beno@
  
  :-)
      ?   @     Posté le 31/05/2008 18:08:10  
Voter pour ce message
Pc_expert_3 a écrit :
Ben c'est le principe des includes, inclure une page dans une autre.

Ça se fait en PHP avec la fonction include : selon les paramètres passés dans la barre d'adresse, il inclura telle ou telle page...

+1

je complète, pour une page peu utile (comme un menu, ou un code php non essentiel), on utilisera include(), ou include_once(). ce dernier a pour but d'éviter d'inclure 2 fois la même page.

si la page est nécessaire au bon fonctionnement du site (comme pour gérer la connexion à une bdd, ou encore l'identification d'un membre) on va utiliser require() qui, en cas de fichier introuvable, stoppera l'exécution du site.
cela implique plus de sécurité, et aussi une utilisation des ressources serveurs moindres en cas de problèmes (car même si tout la page etait générée, elle ne fonctionnerait pas car le fichier n'existe pas). là aussi require_once existe
-->Message édité par Beno@ le 31/05/2008 18:10:04<--
eric251
  
   
      ?   @     Posté le 31/05/2008 18:47:58  
Voter pour ce message
Tout d'abord, merci pour vos réponses =).

Cependant, je crois que je ne me suis pas bien fait comprendre... J'utilise actuellement un système d'include (avec header.php et footer.php). J'aimerai en fait imiter les ancres en html mais sans laisser apparaître le reste de la page (le contenu de plusieurs pages se retrouve sur une seule page).

Désolé, je n'arrive pas à trouver exactement mes mots :/
Beno@
  
  :-)
      ?   @     Posté le 31/05/2008 18:51:09  
Voter pour ce message
ha je comprend, lors d'un clic sur le menu, il cacherait toutes les parties d'une page sauf celle qui nous interesse ;)

dans ce cas, c'est du javascript qu'il va falloir ;)
Pc_expert_3
  
   
      ?   @     Posté le 31/05/2008 19:46:15  
Voter pour ce message
Beno@ a écrit :


+1

je complète, pour une page peu utile (comme un menu, ou un code php non essentiel), on utilisera include(), ou include_once(). ce dernier a pour but d'éviter d'inclure 2 fois la même page.

Tu es sûr pour include_once() ? Il me semblait que c'était un truc qui faisait un auto exit; si la page n'existe pas, alors que l'include() normal générait quand même la page mais avec une erreur...
eric251 a écrit :
Tout d'abord, merci pour vos réponses =).

Cependant, je crois que je ne me suis pas bien fait comprendre... J'utilise actuellement un système d'include (avec header.php et footer.php). J'aimerai en fait imiter les ancres en html mais sans laisser apparaître le reste de la page (le contenu de plusieurs pages se retrouve sur une seule page).

Désolé, je n'arrive pas à trouver exactement mes mots :/

<script type='text/javascript'>function showhide(id)
{
if(id=="partie1")
{
document.getElementById('partie1').style.display="";
document.getElementById('partie2').style.display="none";
document.getElementById('partie3').style.display="none";
}
if(id=="partie2")
{
document.getElementById('partie2').style.display="";
document.getElementById('partie1').style.display="none";
document.getElementById('partie3').style.display="none";
}
if(id=="partie3")
{
document.getElementById('partie3').style.display="";
document.getElementById('partie1').style.display="none";
document.getElementById('partie2').style.display="none";
}
}</script>
<div id='partie1' style='display:none;'>^Contenu partie 1</div><div id='partie2' style='display:none;'>Contenu partie 2</div><div id='partie3' style='display:none;'>Joker ! xD</div>
<a href='javascript:showhide("partie1");'>Afficher partie 1</a>
<a href='javascript:showhide("partie2");'>Afficher partie 2</a>
<a href='javascript:showhide("partie3");'>Afficher partie 3</a>

Ce truc est horriblement répétitif mais reste léger à interpréter pour le navigateur et fonctionne correctement ^^

Bref ensuite tu adaptes, tant que tu n'as pas 1000000 parties à gérer ça passera, sinon il faudra voir si le javascript gère les boucles ou non...

-->Message édité par Pc_expert_3 le 31/05/2008 19:47:43<--
-------
Fils d'Albanel, va !
Beno@
  
  :-)
      ?   @     Posté le 31/05/2008 20:03:20  
Voter pour ce message
sinon il y a moyen de faire un script qui récupère tous les éléments d'une classe définie et lors du clic sur l'un, cache les autres mais je ne m'y aventurerais pas...

pour pce: include et include_once génèrent un erreur, require et require_once stoppent l'interprétation en cas d'erreur.
-->Message édité par Beno@ le 31/05/2008 20:05:57<--
eric251
  
   
      ?   @     Posté le 31/05/2008 22:36:55  
Voter pour ce message
Oké !
Merci à vous : le code fonctionne à merveille ^^ !
chobedo
  
   
      ?   @     Posté le 01/06/2008 08:33:37  
Voter pour ce message
Bonjour,

Le mieux serait d'utiliser de l'AJAX. C'est complexe et pas facile mais pour ce que tu veux c'est la solution : L'Ajax permet d'appeler une page en PHP depuis le javascript.

Cordialement,
Chobédo.
Beno@
  
  :-)
      ?   @     Posté le 01/06/2008 08:56:18  
Voter pour ce message
chobedo a écrit :
Bonjour,

Le mieux serait d'utiliser de l'AJAX. C'est complexe et pas facile mais pour ce que tu veux c'est la solution : L'Ajax permet d'appeler une page en PHP depuis le javascript.

Cordialement,
Chobédo.


ca dépend de ce que l'on veut faire avec ;)
dans ce cas ci l'ajax ne se justifie pas, il serait mieux de faire un lien vers l'autre page.
Pc_expert_3
  
   
      ?   @     Posté le 01/06/2008 16:54:53  
Voter pour ce message
chobedo a écrit :
Bonjour,

Le mieux serait d'utiliser de l'AJAX. C'est complexe et pas facile mais pour ce que tu veux c'est la solution : L'Ajax permet d'appeler une page en PHP depuis le javascript.

Cordialement,
Chobédo.

Ce serait utile si les parties qu'il charge étaient lourdes à charger.
Sinon on peut les charger de suite et les cacher en CSS puis les afficher en JS, ça va très bien (pourquoi surcharger le serveur avec des requêtes ajax inutilement ?)

PS : ajax est facile O_o
-------
Fils d'Albanel, va !
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> une page qui "en contiendrai d'autres"

Aller à :

Page générée en : 0.046s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Jeu-concours
Automobile : jouez et gagnez un stage de pilotage en Ferrari F430 avec 01men.
Cinéma
Cette semaine, La Loi et l'ordre et Vicky Cristina Barcelona. Réactions à chaud des spectateurs.