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 :

Récupérer un contenu <head> d'une page include


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Par défaut Récupérer un contenu <head> d'une page include
    hello

    J'ai un site php où le contenu des pages php est chargé par la fonction include.
    Pourriez-vous me dire comment modifier le <head> de la page mère en fonction de la page chargée. P. exemple modifier la balise titre ou ajouter un script etc.

    merci

  2. #2
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Comment change tu la valeur de l'include ?

    Pour changer le head je dirais à priori de la même manière que tu change la valeur de l'include...

    Il faut stocker les valeurs que tu veut donner aux balises contenues dans le head quelque part (base de données, xml...) et leur attribuer une page. Puis en affichant la page il te faut la possibilité de transmettre l'information de la page (variable en début de fichier, par $_GET...). Ensuite tu vérifie cette valeur et tu récupère les données correspondantes...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 135
    Par défaut
    Mets directement un script php dans la page mère, non ?
    Un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <title><? 
    if(isset($_GET['nom'])) 
    echo $_GET['nom']; else echo 'accueil';?></title>
    Sinon, si tu peux pas mettre de code dans ta page mère, tu peux te tourner vers le javascript, ça me parait plus simple...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script langage="text/javascript">
    window.onload=function()
    {
    document.title='<? 
    if(isset($_GET['nom'])) 
    echo $_GET['nom']; else echo 'accueil';?>';
    }
    </script>

    [edit] Si tu veux ajouter un javascript dans le 'head' de ta page, cf http://www.burnette.us/blog/index.cfm/2006/2/9/Using-AJAX-to-Load-JS-into-Document-Head

    ... mais l'emplacement d'un script importe peu

  4. #4
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Par défaut
    salut

    Je débute en php, ce n'est donc pas très évident pour moi.
    En fait je ne suis toujours pas parvenu à obtenir un résultat correct.
    Le menu envoie des adresses page comme ceci:
    index.php?page=test.php

    l'espace où le contenu s'affiche récupère les adresses du menu comme suit:
    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
    <div id="main">
    <?php
     
    $pageOK = array(
    'main.php' => 'main.php', 
    'Concerts.php' => 'Concerts.php',
    'test.php' => 'test.php');
     
     
    if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    include($pageOK[$_GET['page']]); 
    } else {
    include('main.php'); 
    }
     
    ?>
    </div>
    J'aimerais donc récupérer le contenu des balises 'meta' et 'titre' des pages correspondantes à la variable 'page' et les inclure dans la page index.
    J'ai essayé différentes formules dont celle-ci (un peu bizarre p-être), mais ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <meta name="description" content="<?php echo $description;?>">
    <?php
    $tags = get_meta_tags ($page);
    ?>
    <meta name="keywords" content="
    <?php
    echo $tags['keywords'];
    ?>
    "> 
    <title><?php
    echo $tags['title'];
    ?></title>
    avec dans la page chargée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- 
    <head>
    <meta name="keywords" content="liste des keywords">
    <meta name="title" content="la page concerts">
    </head>
    -->
    <p>
    Ceci est ma page concerts
    </p>
    Un peu d'aide serait la bienvenue ...

    ps: j'évite les javascripts car si l'utilisateur le met off, ça ne fonctionnera plus

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour, je vois dans les exemples que tu donnes que tu as déjas assimilé bien des théories, ça devrait faciliter ton travail

    Pour moi ce que tu racontes me rappelles une page HTML vide que nous refabriquons a chaque page, pour l'envoyer au client (visiteur)

    Dans ce type de structure il faut "couper en morceaux" tes pages
    Et non pas vouloir a tout pris modifier une page existante, surtout le HEADER qui est fragil et dur a remanier (surtout les meta)

    N' en sachant pas assez sur ton affaire je vais te donner un exemple, trés trés sommaire de la bonne façon a mon avis

    Chaqque page tu l'a coupée en

    Lapage_Param.php
    LeDoctype.php
    LeMenu.php
    Lapage.php
    LeBas.php

    a partir de la TOUTES TES PAGES peuvent s'appeler ainsi

    ossature.php?page=Lapage

    Alors c'est enfantin, pour chaque page tu a deux PHP,
    celui qui contient les Paramétres utilisés dans les includes Lapage_Param.php
    et celui qui contient la page elle même Lapage.php


    Donc ossature.php aurait a peut prés cette tronche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?PHP
    if (isset($_GET["page"])) $page=trim($_GET["page"]);
       else $page="";
     
    include("".$page."_Param.php");
    include("LeDoctype.php");
    include("LeMenu.php");
    include("".$page.".php");
    include("LeBas.php");
     
    ?>
    Alors un détail parmis les mille que tu sauras utiliser
    par exemple pour la page toto
    je veux dans les META un TITLE bonjour toto

    Alors
    1) dans toto_param.php une des ligne sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?PHP
    $montit="bonjour toto";
    ?>
    2) dans le LeDoctype.php j'aurais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <title><?PHP echo ("".$montit.""); ?></title>
    <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
    Bref a toi de jouer

  6. #6
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Par défaut
    salut

    assimilé assimilé ... c'est beaucoup dire, je lis les tuto du zero mais je vois où tu veux en venir.
    C'est une manière différente de structurer les pages avec un squelette. J'étais encore à l'époque du tout html que veux-tu La solution de recopier mes includes de menu etc dans chacune de mes pages me plaisait moyennement j'avoue.
    C'est vrai que vu comme ça ça parait plus clean que de le faire au forcing
    Bon, je vais essayer de faire ce que tu me conseille durant ce beau we
    ciao

Discussions similaires

  1. Comment récupérer le contenu d'un item dans une JList ?
    Par julie_lab dans le forum Composants
    Réponses: 3
    Dernier message: 01/11/2010, 12h25
  2. récupérer le contenu de listbox associe a une groupbox
    Par MrRebel dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 20/07/2009, 16h14
  3. Récupérer le contenu de la requête dans une variable
    Par cgonzalez dans le forum Langage
    Réponses: 1
    Dernier message: 06/10/2007, 11h44
  4. Récupérer le contenue d'un div d'une page HTML
    Par avogadro dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/09/2007, 09h25
  5. Récupérer le contenu d'un input d'une Popup
    Par Lung dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/06/2006, 17h09

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