Besoin d'aide site en php

Discussion dans 'Web, design' créé par DeScH, 4 Octobre 2006.

Statut de la discussion:
Fermée.
  1. Offline
    DeScH AstaLaVista
    hello, j'ai besoin d'aide pour mon site php.

    En fait, pour le moment une page de mon site a besoin de 5 fichiers
    (banniere.php, menu.php, barremenu.php, bas.php,+ la page de contenu).

    Exemple:
    index.php contiendra

    <?php include("banniere.php"); ?>
    <?php include("barremenu.php"); ?>
    <?php include("menu.php"); ?>
    <?php include("page/index.php"); ?>
    <?php include("bas.php"); ?>

    Le probleme, c'est que pour chaque page, il faut créer la page qui regroupe les fichiers, plus le fichier de contenu a chaque fois.

    Donc:
    contact.php contiendra

    <?php include("banniere.php"); ?>
    <?php include("barremenu.php"); ?>
    <?php include("menu.php"); ?>
    <?php include("page/contact.php"); ?>
    <?php include("bas.php"); ?>

    J'aimerai qu'il n'y ait plus qu'une seule page de base, autrement dit, page_de_base.php amenera par clic sur les liens une autre page, mais qui sera toujours contenu dans page_de_base.php donc du style:
    http://www.planetnfs.be/?page=contact
    et qu'elle soit réaffichée en http://www.planetnfs.be/contact.htm

    Je sais pas si vous comprenez qqch?

    Est-ce le meilleur moyen pour créer un site? Car a chaque fois créer 2 fichiers pour une nouvelle page(mon systeme actuel), c'est super chiant.

    Sauriez-vous me dire les meilleures méthodes et si ma théorie est bonne, me l'expliquer? (+sécurisé) Merci :)
    DeScH, 4 Octobre 2006
    #1
  2. Offline
    ozilrit Touriste
    Code:
    #PHP
    switch (basename ($page))
    {
    case 'index': include ('page/index.php'); break;
    case 'contact': include ('page/contact.php'); break;
    default: include ('page/index.php');
    }
    
    Code:
    #.htaccess
    RewriteEngine on
    RewriteBase /
    RewriteRule ^/([a-zA-Z0-9]+)\.htm$ /?page=$1
    ozilrit, 4 Octobre 2006
    #2
  3. Offline
    SkYlEsS Kawai
    Pour ce qui est de renommer un lien php en htm, tu as besoin d'actionner "l'url rewriting" :

    http://www.webrankinfo.com/analyses/autres/url-rewriting.php

    Pour ce qui est ... du reste :

    Code:
    <?php
        if ($_GET['page'] == "minichat")
        {
            include("minichat.php");
        }
        
        if ($_GET['page'] == "news")
        {
            include("news.php");
        }
        
        if ($_GET['page'] == "forum")
        {
            include("forum.php");
        }
        
        ?>
    Mais ce n'est pas la méthode la plus sécurisée !

    Je te conseille plutôt de faire :

    Code:
    <? include('header.php'); ?>
    
    Ton code de la page
    
    <? include ('footer.php'); ?>
    Plus d'infos ? http://www.siteduzero.com/tuto-3-148-1-les-includes.html#ss_part_1
    SkYlEsS, 4 Octobre 2006
    #3
  4. Offline
    DeScH AstaLaVista
    Merci à vous, mais n'y a-t-il pas moyen de sécuriser qd meme en faisant la 1ere méthode?
    DeScH, 4 Octobre 2006
    #4
  5. Offline
    SkYlEsS Kawai
    Notons également qu'au lieu de faire ceci :

    Code:
    <?php include("banniere.php"); ?>
    <?php include("barremenu.php"); ?>
    <?php include("menu.php"); ?>
    <?php include("page/contact.php"); ?>
    <?php include("bas.php"); ?>
    Tu aurais pu faire cela :

    Code:
    <? include("banniere.php");
    include("barremenu.php");
    include("menu.php");
    include("page/contact.php");
    include("bas.php"); ?>
    SkYlEsS, 4 Octobre 2006
    #5
  6. Offline
    DeScH AstaLaVista
    oui c vrai aussi lol
    DeScH, 4 Octobre 2006
    #6
  7. Offline
    ozilrit Touriste
    ?

    Code:
    #PHP
    switch (basename ($_GET['page']))
    {
    case 'index': include ('page/index.php'); break;
    case 'contact': include ('page/contact.php'); break;
    default: include ('page/index.php');
    }
    Skyless, rassure moi, on voit ce que je tape ?
    ozilrit, 4 Octobre 2006
    #7
  8. Offline
    SkYlEsS Kawai
    C'est une méthode dangereuse mais une méthode ! Ainsi, le problème de sécurité est résolu.

    Pour ma part, j'aime opter pour un code "propre" :

    Code:
    <?
    
    $page = $_GET['page'];
    
    if ($page == "minichat")
    {
         include("minichat.php");
    }
        
    if ($page == "news")
    {
         include("news.php");
    }
        
    if ($page == "forum")
    {
         include("forum.php");
    }
        
    ?>
    Mais tu dois tout de même créer toutes les autres pages contenant ton code ... Donc, tu pourrais utiliser la méthode brutale et toujours utiliser l'url rewriting !

    Pour ta page index.php?page=contact

    Tu fais ceci dans ton url rewriting :

    Code:
    RewriteEngine on
    RewriteRule ^contact.htm$  /index.php?page=contact [L]
    Sache qu'avec l'url rewriting, l'url initial ne s'affiche pas. Elle sera donc toujours en "contact.htm".
    SkYlEsS, 4 Octobre 2006
    #8
  9. Offline
    SkYlEsS Kawai
    Oui !

    Il est vrai que t'as méthode est tout à fait correct également. =]
    SkYlEsS, 4 Octobre 2006
    #9
  10. Offline
    DeScH AstaLaVista
    Oui, ne t'inquiete pas lol, la tienne est meme plus simple en écriture, je l'utiliserait bien :)
    DeScH, 4 Octobre 2006
    #10
  11. Offline
    DeScH AstaLaVista
    Tout compte fait je vais faire la méthode brutale. + sécurisée, + simple pour les liens.
    DeScH, 4 Octobre 2006
    #11
  12. Offline
    SkYlEsS Kawai
    Excellent choix ! ;-D
    SkYlEsS, 4 Octobre 2006
    #12
Statut de la discussion:
Fermée.