Utiliser php pour ne faire varier qu'une partie de mes pages ?

Utiliser php pour ne faire varier qu'une partie de mes pages ? - PHP - Programmation

Marsh Posté le 22-11-2009 à 01:33:28    

bonsoir,  
 
je créé un nouveau site web pour mon école, qui sera compasé d'une quinzaine, voir un peu plus, de page.  
 
Sa structure est pour le moment uniquement en xhtml/css avec un peu de flash et parfois du js, mais pas de php (bien que certaines pages contiendront des formulaires donc il y aura du php sur certaines).  
 
Pour vous décrire grossierement l'aspect de mon site :  
toutes les pages seront créées sur la meme base; c'est a dire :
-des elements invariables (en haut la banniere, a gauche le menu, en bas le peid de page
-puis a droite du menu, le contenu qui dépendra de la page.  
 
Cela est donc tout a fait et tout simplement réalisable en html seul, mais je me suis dit, vu que seul le "centre" de ma page va varier, pourquoi ne pas faire tous le reste en php  ?  
 
Mon but : si je dois apporter des modifications a mon menu ou a ma banniere, cela va m'eviter de devoir modifier chacune de mes pages. En ne modifiant que mon php, hop, ca modifiera la meme chose sur les 15 autres pages.
 
Pensez vous que cela est judicieux ? Si oui, comment est ce réalisable sachant que mon site est réalisé sous forme d'un tableau (c'est mon choix !:D) et donc seul une case de cette tableau sera la partie qui variera, et tous le reste ne variera pas ? De plus, la premiere page etant deja faite, avec toute la mise en forme css est ce compatible si je la transforme en php ?  
 
edit : au final je me demande si ce n'est pas plus simple de faire mon corps de page (la partie invariable sur toutes les pages contenu le menu et banniere) en html, et utiliser du php uniquement pour mon coeur de page (partie variable) en utilisant <?php include ('mapage.html'); ?> ???
 
Merci d'avance

Reply

Marsh Posté le 22-11-2009 à 01:33:28   

Reply

Marsh Posté le 22-11-2009 à 08:43:31    

oui c'est possible, c'est meme le premier usage de php
 
et ton edit est la bonne solution


---------------

Reply

Marsh Posté le 22-11-2009 à 16:12:11    

tu peux faire une navigation en ajax qui remplace le partie variable du site avec des effet fadein / fadeOut(jquery) c est sympa  :hello: .


Message édité par d@kn1ko le 22-11-2009 à 16:12:20
Reply

Marsh Posté le 22-11-2009 à 16:18:14    

et casser la navigation précédent/suivant ?  
à éviter


---------------

Reply

Marsh Posté le 22-11-2009 à 20:43:27    

Oki, merci !
 
Donc la je vois que j'ai quand meme un souci :  
 
J'ai donc ma page php qui contient tout mon corps invariable (menu, bannieres et autres), et ma case qui contient sa partie variable.  
 
Appelons ma partie invariable base.php
Disons que cette base.php possede un tableau et que je souhaite voir ma partie variable (qui peut etre page1.html, page2.html, page3.html, ... suivant sur ce que j'aurais cliqué dans mon menu) apparaitre dans une case de ce tableau (par exemple ici :  <td> ici <td> )
 
Comment est ce que je dois faire ??
 
Supposant que dans mon menu j'ai  

Code :
  1. <a href="base.php?page=page1">Mettre la page1</a>


 
Donc dans ma base.php, entre les balises <td> qu'est ce que je dois ecrire vu que mon include dépendra de ce que j'aurais choisi dans le menu (page1,2,ou 3.html) ?  
 
 
Merci d'avance

Reply

Marsh Posté le 22-11-2009 à 23:28:14    

Je sais pas si c'est comme ça que tu le prévois mais évite de faire des mises en page avec des tableaux :o .


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 23-11-2009 à 08:26:26    

la partie variable dans base.php sera  
<?
include('./repertoireOuSontRangeesTesPages/.'$_GET['page].'.html');
?>
c'est pas très sécurisé mais ça marchera


---------------

Reply

Marsh Posté le 23-11-2009 à 10:13:24    

charlelechauve a écrit :

bonsoir,  
je créé un nouveau site web pour mon école, qui sera compasé d'une quinzaine, voir un peu plus, de page.  
........................
Merci d'avance


 
Bonjour, je trouves que tu prends le probléme a l'envers et cela a plein d' inconvégniants
1) tu as sans cesse des GET (donc risque de sécurité)
2) ton menu n'est pas géré car ta page "principale" étant unique, tout tes menus sont activés
3) le référencement sera moins bon puisque une seule page sera visible pour les moteurs avec un paramétre variable.
4) ta gestion sera moins simple.
 
Je vais tenter de t'expliquer une bonne structure qui ne changerait rien a tes pages actuelles.
 
* Un PHP par page, voila qui ne t'ajoutes rien puisque tu avais un html par page (ton html central ) sauf que nous le renommons PHP au lieu de HTML
* un include en haut de chaque PHP haut_de_page.php  
* un include en bas de chaque PHP bas_de_page.php  
 
Mais astuce tu vas en haut de chaque pages modifiers des parties variables pour tes includes
donc si tu m'a bien compris la page nous ecrire serait ainsi
 

Code :
  1. <?PHP
  2. session_start();
  3. $title="nous joindre"
  4. $numeroMENU=3;
  5. include("xxxxx/haut_de_page.php  " );
  6. ?>
  7. <!-- TON HTML ACTUEL POUR CETTE PAGE -->
  8. <td class="xx" >etc...
  9. </td></tr>
  10. <?PHP
  11. include("xxxxx/bas_de_page.php  " );
  12. ?>


 
de nombreuses remarques
 
Si ta page a toujour la même ossature il est sans importance qu'un morceau de TABLE ou DIV ou autre
soient dans un include, et la suite dans le PHP.
 
Tu peux comme mon exemple fixer des variables qui vont agire sur haut ou bas includes
 
Tu peux pour certains cas particulier avoir un deuxiéme jeux de haut et bas ETC...
 
Tu vois que des avantages


Message édité par FoxLeRenard le 23-11-2009 à 10:15:50
Reply

Marsh Posté le 23-11-2009 à 11:31:19    

Et le jour où il veut changer tout ses haut de page, il modifie toutes ses pages ? J'ai du mal à voir le gain . A moins que ça n'impose que son haut de page s'appelle toujorus haut_de_page.php
 
1/ c'est vrai, mais c'est gérable très simplement
soit en déclarant explicitement les valeurs que tu attends  

Code :
  1. switch($_GET['page']){
  2.  
  3.    case 'page1':
  4.        require_once('pages/page1.html');
  5.        break;
  6.    default :
  7.        require_once('pages/accueil.html');
  8.        break;
  9.  
  10.  
  11. }


soit en faisant appel à une base de données pour gérer le lien entre la valeur attendue, la page physique et éventuellement les autorisation d'accès
2/ qu'est ce que ça change  ?  
dans ton haut de page, tu vas avoir une condition sur numéro de page. Dans la solution que je propose, tu auras une condition sur la variable page ( eventuellement une fois traitée )  
 
3/ c'est faux depuis des années
 
4/ au contraire : une page interne ne contiendra QUE la partie voulue. On évite les mélanges et les répétitions
 
Le coup des variables globales qui vont agir sur des fichiers inclus, c'est une vrai fausse bonne idée : le jour où tu veux faire du débuggage tu es parti pour un grand moment de bonheur pour savoir d'où vient les variables


---------------

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed