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 :

[PHP-JS] Récupérer une variable dans une page chargée en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Par défaut [PHP-JS] Récupérer une variable dans une page chargée en php
    Bonjour à tous, ma question va peut-être paraitre stupide, mais je bloque sur un petit truc en php, j'ai un fichier index.php dans lequel je charge des pages de la façon suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id="titre_page"></div>
    <div id="contenu">
    <?php
    if(isset($_GET['page']) AND file_exists($_GET['page'].'.php')){
     include $_GET['page'].'.php';
    }else{
    include 'accueil.php';
    }
    ?>	
    </div>
    Comme on le voit dans le code j'ai une div appelée titre_page dans laquelle je voudrais charger une variable qui se trouve dans les page chargées en php, mais je ne sais pas comment faire, j'ai essayer avec les sessions mais j'ai toujours un temps de retard (une fois la page rechargé ca marche)

    Qqun aurait'il une solution

    Merci

  2. #2
    Membre éclairé Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Par défaut
    Essaye de mettre ton bout de code en php avant le div

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Par défaut
    OUi mais le problème est que je veux inclure ma page dans une div bien précise donc comment placer le code avant ?

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    attention il y a un problème de sécurité avec ton code, si quelqu'un appelle la page comme ça :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    http://tonsite.com/tapage.php?page=http://site-pirate.com/script-pirate
    il peux lire tes fichiers sources

    Citation Envoyé par alas70 Voir le message
    Comme on le voit dans le code j'ai une div appelée titre_page dans laquelle je voudrais charger une variable qui se trouve dans les page chargées en php, mais je ne sais pas comment faire, j'ai essayer avec les sessions mais j'ai toujours un temps de retard (une fois la page rechargé ca marche)
    tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // inclusion du fichier
    ...
    // affichage
    <div id="titre_page"><?php echo titre();?></div>
    <div id="contenu"><?php contenu();?></div>
    et dans les fichiers inclus tu as ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function titre()
    {
        return 'Le Titre';
    }
     
    function contenu()
    {
        ?>
            <strong>le contenu</strong>
            code html
        <?php
    }

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Par défaut
    Ce qui veu dire que je serais obligé d'avoir ces deux fonctions dans toutes les pages que je veux faire pour mon site.

    Je comprend le principe mais je trouve cela un peu "lourd", peut être en utilisant du javascript je pourrais récupérer une variable et l'afficher en php ce qui serait une méthode plus simple .


    Par exemple avoir dans mes pages a inclure un truc du genre "<div id="titreAafficher">Mon titre</div>

    ce qui me donnerai sur ma page index.php un truc dans le genre getElementByid(titreAafficher) comme ca je pourrais l'afficher.

    Qu'en pensez vous ?

  6. #6
    Membre éclairé Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Par défaut
    Cela dépend de ton objectif, mais si c'est seulement pour insérer un titre ou un header dans toutes tes pages, tu peux définir uen page comem modèle et ne modifier seulement le contenu??

  7. #7
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    La technique que tu utilises est très bien, il faut juste la sécuriser un peu comme le préconise un des intervenant précédent :

    A savoir :

    • Définir le dossier dans lequel se trouvent les pages à inclure
    • Empecher de sortir de ce dossier depuis une url (../)
    • Vérifier que le fichier existe sinon => 404


    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="titre_page"></div>
    <div id="contenu">
        <?php
        $p = isset($_GET['page']) ? $_GET['page'] : '404' ;
        $folder = 'pages/';
     
        $queried_file_path = $folder.end(explode('/', $p)).'php';
     
        if(file_exists($queried_file_path)){
            include $queried_file_path;
        }
        else{
            // file not found, error, should trigger header location
        }
    ?>	
    </div>

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Par défaut
    hé hé merci bcp car justement apres ce message concernant mon code hérésique (j'sais pas si ca ce dit comme cela ) j'etais en train d'en chercher un !

    Merci

    (Sinon je vais opter pour un modèle dans lequel je vais charger mon menu en php, car modifier un menu sur 15 pages c'est parfois chiant lol)

    En tout cas merci a tous pour vos réponses et votre réactivité

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. [MySQL] Récupérer le résultat d'une requête dans une variable
    Par kryogen dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/10/2007, 14h29
  4. Réponses: 5
    Dernier message: 28/09/2007, 14h58
  5. Comment récupérer le contenu d'une URL dans une variable ?
    Par Fildz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2006, 09h26

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