IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Choix de structure de page en PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Choix de structure de page en PHP
    Bonjour,

    J'avais une petite question concernant les structures des sites effectués en php que l'on voit sur le web.

    On voit donc les sites de "base",

    avec par exemple :
    www.toto.com/index.php
    www.toto.com/moncompte.php

    et on voit parfois aussi
    www.toto.com/index.php
    www.toto.com/index.php?page=moncompte

    Quelle est la différence ? Dans la 2ème méthode, on inclut un code php selon le nom de la page demandée j'imagine... Pourquoi faire cela ?

    Et surtout quels sont les avantages et inconvénients entre les 2 méthodes ?

    Merci pour vos réponses !

  2. #2
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    En ce qui concerne cette méthode il faut redoubler de vigilance pour ne pas se retrouver avec des problèmes de sécurité lors des includes.

    ça permet d'une certaine manière de structurer son site, de réaliser un goulet d'etranglement pour les requetes de fichier inconnus. Coupler avec de l'url rewriting c'est pas mal.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Bonjour Gats,

    "Réaliser un goulet d'etranglement pour les requetes de fichier inconnus. Coupler avec de l'url rewriting c'est pas mal."

    Peux-tu m'expliquer plus en précision s'il te plait ce que tu entends par là ?

    Quel est donc par exemple l'avantage qu'a cette méthode sur la méthode de "base" ?

    merci

  4. #4
    Membre actif Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 205
    Points
    205
    Par défaut
    Dans ce cas, il est très probable que chaque vue du site (ou chaque page) soient une page .php différente. C'est simple a développer, bien qu'il doit y avoir beaucoup de redondance de code (merci le copier/coller, donc ...). Ca n'est pas très optimisé

    Ici, il s'agit d'un script .php référent, qui est toujours appellé, les arguments passés en paramètres (page=moncompte) permettent de faire varier l'affichage (par exemple, ici on veut afficher la page 'moncompte', en appellant 'index.php'). On peut imaginer alors que dans index.php, on a un script du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if(isset($_GET['page'])){
    	switch($_GET['page']){
    		case 'moncompte':
    			include('./pages/moncompte.php');
    			break;
    		default:
    			include('./pages/default.php');
    			break;
    	}
    }
    La page 'moncompte.php' ne contiendra donc que le traitement des informations de compte (et les header/footer, inclusions de fonctions, de paramètres, de sessions, etc ... sont laissés à la charge de index.php. Plus besoin de réécrire les informations sur chacun des scripts).

    Pour l'URL rewriting, je n'y connais pas grand chose donc je ne peux pas t'expliquer. Par contre, quand Gats parle de "goulet d'étranglement blabla", il veut dire qu'il ne faut pas faire ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(isset($_GET['page'])){
    	include('./pages/'.$_GET['page'].'.php');
    	}
    else{
            include('./pages/default.php');
    }
    }
    Pourquoi ? Et bien comme on peut le retrouver dans un des articles de developpez.com, un visiteur malintentionné pourrait modifier simplement la variable 'page' dans l'url, pour la faire pointer vers un script php différent, qui pourrait meme etre sur un autre site (donc un script personnalisé du méchant visiteur, dans le but de récuperer des infos sensibles, et bien plus).

    Donc il ne faut pas faire un include avec un paramètre en GET, mais traiter le paramètre en GET, qui si valide, permet l'inclusion d'un script (comme le premier exemple avec le SWITCH).

    Voila j'espère avoir été clair

    ++

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    Merci bien pour l'explication !

    C'est très clair maintenant.

    Ah si une petite question en plus peu-être....

    En ce qui concerne le référencement ! La méthode www.machin.php?page=truc

    Ce n'est pas pénalisant ?

Discussions similaires

  1. [Choix] Quelle solution de CMS en PHP choisir pour la simplicité ?
    Par Tofalu dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 49
    Dernier message: 29/08/2011, 22h58
  2. [XHTML] Choix de structure de page html
    Par speedev dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/08/2006, 15h14
  3. [PHP-JS] structure de page appellee par include
    Par Pyrhus dans le forum Langage
    Réponses: 5
    Dernier message: 26/05/2006, 13h27
  4. Réponses: 2
    Dernier message: 12/02/2006, 19h43
  5. [Mail] Comment créer son premier page en PHP
    Par gymac dans le forum Langage
    Réponses: 3
    Dernier message: 07/09/2005, 23h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo