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 :

Comprend plus avec les metas


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut Comprend plus avec les metas
    Bonjour à tous,

    Là, il y a un hic que je ne peux résoudre.

    1) Sur mammoutland, on me dit que la page index.php peut contenir les metas pour le site.

    2) Sur webranking, il est dit (par popup) que le meta "titre" doit figurer sur toutes les pages

    Actuellement, pratiquement tout mon site est valide W3C. Seul "index.php" contient les metas nécessaires au site. Donc, je ne peux pas titrer toutes les pages.
    J'ai essayé de mettre <HTML><HEAD>... sur la page d'accueil "accueil.html" avec les metas pour cette seule page, et bien, ce n'est plus validé.
    W3C me signale une erreur :
    Line 324, Column 5: document type does not allow element "HTML" here.

    <html>



    The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

    One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
    Je ne sais plus vraiment ce qu'il faut faire ???

    Voulez-vous m'aider ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    On doit deviner ton code ?

  3. #3
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Je ne pensais pas que cela serait utile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <head>
    <META NAME="verify-v1" CONTENT="3UzXHHchVTRBhlP0/dtyqZ9dR2swhF8n3AQjmQs0iHw=">
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <title>QI98 - Analyse de la mémoire</title>
    <META NAME="keywords" CONTENT="
    intelligence,test memoire,test mémoire,memoire,mémoire,evaluation QI,evaluation qi,évaluation qi,test de qi,qi,Test de QI,QI,analyse memoire,quotient intellectuel,evaluation quotient intellectuel,performance memoire,performance logique,securite pc,securite ordinateur,firewall,firewalls,antivirus,spybot,spybots,antispam,antispams,maintenance pc,maintenance ordinateur,protection pc,protection ordinateur,generateurs,generateur,graphisme,dessin,dessins,croquis,banniere,bannière,bannieres,bannières,logo,logos,outil graphique,outils graphique,outils graphiques,outils graphiques,outil de graphisme,outils de graphisme,outil graphisme,outils graphisme,flash,flashs,dessin flash,dessins flashs,graphisme flash,graphismes flash,graphismes flashs,graphisme flashs,graphisme en flash,graphismes en flash">
    <META NAME="description" CONTENT="QI98 analyse efficacement les facultés intellectuelles d'un individu (QI).">
    <META NAME="robots" CONTENT="index,follow">
    <META NAME="Revisit-After" CONTENT="7 day">
    <META NAME="author" LANG="fr" CONTENT="JL BOUCHEZ">
    <META NAME="publisher" CONTENT="JL BOUCHEZ">
    <META NAME="Copyright" CONTENT="© 1998-2009 JL BOUCHEZ">
    <META NAME="page-topic" CONTENT="Evaluation">
    <META NAME="page-type" CONTENT="Evaluation">
    <META NAME="audience" CONTENT="Tous">
    <META NAME="expires" CONTENT="neverR">
    <META NAME="Rating" CONTENT="general">
    <META NAME="Distribution" CONTENT="global">
    <META NAME="Geography" CONTENT="Dunkerque,France,59430">
    <META NAME="Category" CONTENT="education">
    <META NAME="Identifier-Url" CONTENT="http://qi98.free.fr/">
    <META HTTP-EQUIV="Content-Language" CONTENT="fr">
    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
    <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
    <link rel="shortcut icon" href="http://qi98.free.fr/favicon.ico">
    <link href="styles/styles.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <link href="styles/sitemap.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <link href="styles/menu_g.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <link href="styles/menutab.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <link href="styles/faq.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <link href="styles/cv.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <link href="styles/styles_img.css" rel="stylesheet" media="screen" type="text/css" title="design">
    <script src="scripts/menutab.js" language="JavaScript" type="text/javascript"></script>
    <script src="scripts/favoris.js" language="JavaScript" type="text/javascript"></script>
     
    <link href="calc/calc.css" rel="stylesheet" type="text/css">
    <link href="menufr/ssmItems.css" rel="stylesheet" type="text/css">
    <script src="scripts/maj.js" type="text/javascript"></script>
    <SCRIPT SRC="menufr/ssm.js" language="JavaScript" type="text/javascript"></SCRIPT>
    <SCRIPT SRC="menufr/ssmItems.js" language="JavaScript" type="text/javascript" ></SCRIPT>
    <SCRIPT SRC="iqListe.js" language="JavaScript" type="text/javascript"></SCRIPT>
    </head>

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Ce que je vois surtout c'est que tu inclus tes pages en PHP dans ton index, et que ces pages contiennent aussi les balises html, body, head, etc. Donc lors de la génération du code, ces balises se retrouvent au milieu. Donc ces balises ne doivent se trouver que dans l'index et pas dans tes pages.

  5. #5
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Que nenni mon bon monsieur !
    Ce que j'ai mis ici, c'est le contenu du fichier "index.php".

    Au fait comment as-tu déterminé que j'avais des pages incules en PHP rien qu'en voyant les metas ?

    Pour l'instant, il n'y a qu'une erreur W3C à cause de "accueil.html" où j'ai essayé de mettre l'en-tête.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!-- AFFICHAGE DES PAGES -->
    <div id="corps">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title></title>
    <meta name="description" content="Page d'accueil">
    <meta name="keywords" content="qi">
    <meta name="author" content="JL BOUCHEZ">
    <meta name="generator" content="WebExpert 5">
    </head>
    <body>
    <!-- début fenetre -->
    C'est ce que montre le code source de la page de ta signature !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par jlb59 Voir le message
    Ce que j'ai mis ici, c'est le contenu du fichier "index.php".
    Je sais bien, mais tu as aussi des balises html head body dans tes pages, comme accueil.html par exemple, or il ne faudrait pas.

    Citation Envoyé par jlb59 Voir le message
    Au fait comment as-tu déterminé que j'avais des pages incules en PHP rien qu'en voyant les metas ?
    Cf la réponse de Bovino.

  8. #8
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Je sais bien, mais tu as aussi des balises html head body dans tes pages, comme accueil.html par exemple, or il ne faudrait pas
    Comme je te l'ai dit, il n'y a que le fichier accueil.html où j'ai mis ces balises.
    Ceci dans le but de voir si ça pouvait être validé ou pas.

    D'origine, il n'y a aucune balise HTML dans ce fichier, et c'est pour ça que W3C validait sans erreur.

    J'espère bien me faire comprendre !

    Je remets accueil.html comme c'était et tu pourras voir que ça valide sans problème !

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Et donc, tu veux pouvoir mettre un titre différent sur chacune des pages, c'est ça ?

    Comme tu utilises "page=XX" pour savoir quelle page tu dois appeler, tu dois donc avoir une sorte de dispatcher. Donc ce que tu peux faire, c'est que dans ce dispatcher tu mets une autre variable PHP ($title par exemple) que tu renseignes avec le titre que tu veux, et tu l'affiches dans la balise <title> du fichier index.php.

  10. #10
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Pour le titre de chaque page, c'est exactement ça !
    Je referais le texte en + clair et essayerai d'y placer quelques mots-clés.

    Citation Envoyé par Bisûnûrs Voir le message
    Comme tu utilises "page=XX" pour savoir quelle page tu dois appeler, tu dois donc avoir une sorte de dispatcher. Donc ce que tu peux faire, c'est que dans ce dispatcher tu mets une autre variable PHP ($title par exemple) que tu renseignes avec le titre que tu veux, et tu l'affiches dans la balise <title> du fichier index.php.
    Oui, je vois bien ce que tu veux dire, mais seulement, le "dispatcher" en question, bien-sûr en PHP, il serait facile de mettre cette variable ! Seulement, le problème est que je m'emmêle les pinceaux en voulant le faire !

    Ca ne te dérangerait pas trop de m'expliquer davantage, parce que là, je patauge sérieusement ? Merci d'avance.
    Au cas où, je te mets une partie du code de ce "dispatcher" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $page = (!empty($_GET['page'])) ? htmlentities($_GET['page']) : 'accueil';
    $array_pages = array(
    //    N° Pages             Liens    
    //////////// ACCUEIL /////////////
    	 'accueil' =>  'pages/accueil.html',
    	 '1' =>  'pages/accueil.html',
    //////////// FORMULAIRE DE CONTACT /////////////
             '2' =>  'pages/contact/contact.php',
    //////////// AFFILIATION /////////////
    ...

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    A mon avis ton dispatcher devrait plus ressembler à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $page = ( isset( $_GET['page'] ) ) ? $_GET['page'] : 'accueil';
     
    switch ( $page )
    {
       case 'accueil' :
       case '1'       :
          $include_page = 'pages/accueil.html';
          $title        = 'Accueil';
       break;
     
       case '2'       :
          $include_page = 'pages/contact/contact.php';
          $title        = 'Contactez-moi !';
       break;
     
       /* ... */
    }
    Et plus bas dans ton code HTML :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <head>
       <title><?php echo $title; ?></title>
     
    ...
     
    <?php include( $include_page );

  12. #12
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    C'est vrai que ton code est plus élaboré que le mien, mais comme je ne suis pas un pro du PHP, j'ai fait avec les moyens du bord.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $page = (!empty($_GET['page'])) ? htmlentities($_GET['page']) : 'accueil';
    $array_pages = array(
    //    N° Pages             Liens    
    //////////// ACCUEIL /////////////
    	 'accueil' =>  'pages/accueil.html',	
    	 '1' =>  'pages/accueil.html',//Accueil
    //////////// FORMULAIRE DE CONTACT /////////////
         '2' =>  'pages/contact/contact.php',
    //////////// AFFILIATION /////////////
     
    (...)
     
    );
    if(!array_key_exists($page, $array_pages)) include('pages/erreur404.html');
    elseif(!is_file($array_pages[$page])) include('pages/erreur404.html'); 
    else  include($array_pages[$page]);
    ?>
    A mon avis ton dispatcher devrait plus ressembler à ça :
    Tu vois que mon code est bien différent du tien.

    En fait, c'est ce fichier qui est appelé par index.php au moyen d'un include, et quand tu dis qu'il faut mettre le restant de ton code plus loin dans le HTML. Seulement, dans ce fichier, il n'y a pas de HTML !
    Il n'y a que index.php qui en a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    (...)
    <SCRIPT SRC="menufr/ssmItems.js" language="JavaScript" type="text/javascript" ></SCRIPT>
    <SCRIPT SRC="iqListe.js" language="JavaScript" type="text/javascript"></SCRIPT>
    </head>
    
    <body>
    
    <div class="header">
    <?php include("main_inc/header.html"); ?>
    </div>
    
    <div id="menutab">
    <?php include("main_inc/menutab.html"); ?>
    </div>
    
    <div class="menu2">
    <?php include("main_inc/menu_g.html"); ?>
    </div>
    
    <!-- AFFICHAGE DES PAGES -->
    <div id="corps">
    <?php include ('main_inc.php'); ?>
    </div>
    (...)
    En bleu, c'est le "dispatcher".

    En fait, si la page appelée n'existe pas ou plus, c'est signalé par un autre fichier "erreur404.html".
    Apparamment, le code que tu m'a mis ne fait pas ce genre de procédure !
    A moins que je ne doive l'adapter pour ce faire ???

    Tu comprends ?

  13. #13
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Il est assez facile d'adapter mon code pour rajouter une page d'erreur comme la tienne. Il suffit de rajouter une condition après le switch par exemple.

    Ensuite, effectivement à l'endroit où ton dispatcher est inclut, il est déjà trop tard pour afficher le title. Ce qu'il faut que tu fasses, c'est que toute la partie des tests du switch et de l'existence du fichier se trouve tout en haut, avant le premier morceau de HTML, comme ça tes variables seront disponibles dans la balise title. Ensuite, plus bas dans ta partie bleue actuelle, tu mets juste l'include vers la page en question et non vers le dispatcher.

  14. #14
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Il est assez facile d'adapter mon code pour rajouter une page d'erreur comme la tienne. Il suffit de rajouter une condition après le switch par exemple.
    Je pense avoir compris ton idée, mais avec ce que me dis après, ouhhh!


    Citation Envoyé par Bisûnûrs Voir le message
    Ensuite, effectivement à l'endroit où ton dispatcher est inclut, il est déjà trop tard pour afficher le title. Ce qu'il faut que tu fasses, c'est que toute la partie des tests du switch et de l'existence du fichier se trouve tout en haut, avant le premier morceau de HTML,
    Malheureusement, dans le dispatcher il n'y a aucune balise HTML !
    Et le test d'existance se fait APRES d'avoir lister le tableau, sinon, ça va pas. J'ai déjà essayé !

    Citation Envoyé par Bisûnûrs Voir le message
    comme ça tes variables seront disponibles dans la balise title. Ensuite, plus bas dans ta partie bleue actuelle, tu mets juste l'include vers la page en question et non vers le dispatcher.
    Comme je te l'ai dit, je ne suis pas un pro, et ce que tu me dis consisterait à faire une refonte complète de l'appel des pages !
    Ouhhh! J'ai déjà mis plusieurs jours (semaines) pour en arriver là avec bien du mal, t'imagine si je dois recommencer ???

    Je sais que pour toi, c'est peut-être un jeu d'enfant, mais pour moi, c'est plus compliqué.

    Moralité: je laisse tel quel puisque j'ai fait une bêtise mais qui marche bien... et sans trop d'erreur W3C.

    Merci quand même.

  15. #15
    Membre éprouvé
    Avatar de jlb59
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2004
    Messages
    1 024
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2004
    Messages : 1 024
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Il est assez facile d'adapter mon code pour rajouter une page d'erreur comme la tienne. Il suffit de rajouter une condition après le switch par exemple.

    Ensuite, effectivement à l'endroit où ton dispatcher est inclut, il est déjà trop tard pour afficher le title. Ce qu'il faut que tu fasses, c'est que toute la partie des tests du switch et de l'existence du fichier se trouve tout en haut, avant le premier morceau de HTML, comme ça tes variables seront disponibles dans la balise title. Ensuite, plus bas dans ta partie bleue actuelle, tu mets juste l'include vers la page en question et non vers le dispatcher.
    Bonsoir Bisûnûrs,

    Dans un ancien site, j'ai essayé le code que tu m'avais donné et j'ai mis le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php 
    // rubrique.php
    $page = isset($_GET['p']) ? $_GET['p'] . '.php' : 'accueil.html'; 
     
    if (!@ file_exists($page)) 
    { 
        $page = 'erreur404.html'; 
        $title='Page d\erreur';
    } 
    else
    {
    switch ( $page )
    {
       case 'Intro' :
       case '1':
          $include_page = 'accueil.html';
          $title        = 'accueil';
       break;
     
       case '2'       :
          $include_page = 'contact.php';
          $title        = 'contact';
       break;
    (...)
    }
    }
    ?>
    .
    Je ne sais pas exactement où doit se placer $title, parce que tu m'as dit qu'il fallait le mettre plus bas dans le HTML, mais c'est là que je ne comprends plus.
    En effet, le code est en fait le "dispatcher", donc totalement en PHP... et il n'y a pas de HTML !!!!

    Tu veux éclairer ma lanterne STP ?

    Merci de ta réponse.

  16. #16
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    On va prendre un exemple complet.

    Voici le contenu du fichier index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    include( 'dispatcher.php' );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
       <title><?php echo $title; ?></title>
    <head>
    <body>
     
    <div>
    <?php include( $page ); ?>
    </div>
     
    </body>
    </html>
    Et le contenu du dispatcher.php peut ressembler à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php 
    $p = isset( $_GET['p'] ) ? $_GET['p'] : 'accueil'; 
     
    switch ( $p )
    {
       case 'accueil' :
       case '1' :
          $title = 'accueil';
          $page  = 'accueil.html';
       break;
     
       case '2' :
          $title = 'contact';
          $page  = 'contact.php';
       break;
     
       default :
          $title = 'erreur';
          $page  = 'erreur404.html';
       break;
    }
    ?>
    Après c'est toujours améliorable ...

Discussions similaires

  1. Une chose que je ne comprend pas avec les editors/renderer
    Par Djobird dans le forum Composants
    Réponses: 6
    Dernier message: 30/03/2009, 11h24
  2. je comprends plus avec ma session
    Par rane dans le forum Langage
    Réponses: 5
    Dernier message: 23/10/2008, 15h26
  3. Réponses: 4
    Dernier message: 15/06/2007, 17h27
  4. Réponses: 9
    Dernier message: 29/01/2007, 10h40
  5. Les meta balises avec des pages .asp
    Par zorba49 dans le forum ASP
    Réponses: 4
    Dernier message: 12/12/2005, 10h54

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