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 :

Include et $_GET ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 42
    Par défaut Include et $_GET ?
    Bonjour,

    J'ai un petit souci:

    J'ai fichier 1 qui appelle un header avec le passage d'une variable $mot, donc sur fichier 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $mot='sport'; include("header.php"); ?>
    dans le fichier header, j'ai un autre include, celuilà appelle un script d'affichage de bannières selon un mot clé donné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include("pub.php?mot=".$mot); ?>
    Mo,n pb est que le passage du mot clé de fichier 1 vers header ne se fait pas ... même en essayant include(header.php?mot=sport) ... dans ce cas le header ne s'affiche même pas.

    Que faire ?

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Un include n'est pas une requête HTTP ! C'est une copie de texte. Tu ne peux donc pas prétendre à utiliser des requêtes GET.
    Il est probable que la variable doive être passée comme dans le premier cas. Comment est-elle traitée dans pub.php ?

    EDIT : C'est possible en fait, mais seulement si allow_url_fopen est activé dans php.ini

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Et si tu fais dans header.php et pub.php global $mot;?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 42
    Par défaut
    Citation Envoyé par Anduriel
    Et si tu fais dans header.php et pub.php global $mot;?

    ça marche pas ... la valeur n'est pas transférée :-(

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    techniquement pour résumé, tu as cette structure donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mot="mot";
    include ("header.php");
    include ("pub.php?mot=".$mot);
    Comme l'a souligné eusebius, tu ne peux passer de variables de cette manière à un include.
    Par contre si tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $mot="mot";
    include ("header.php");
    include ("pub.php");
    Dans pub.php normalement, tu ne devrais pas avoir perdu ta variable $mot.
    Un include n'est qu'une inclusion de fichier (comme une concaténation à la limite) et n'efface pas la mémoire des variables.
    si dans pub.php, des le début, tu fais vardump($mot), tu obtiens une variable vide ?

    Parce que j'ai fait un petit test pour etre sur:
    Un fichier
    test_1.php avec comme contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mot="allo";
    include ("test_2.php");
    Puis un fichier test_2.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ("test_3.php)";
    et enfin un fichier test_3.php:
    et le résultat obtenu en appelant test_1.php est "allo".
    Donc ca marche.
    Fais attention de pas avoir écrasé ta variable mot au passage, le problème vient peut etre de la.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 42
    Par défaut
    C'est réglé ... j'avais un problème d'appel ... dans l'include j'avais mis l'url au lieu du chemin ... include("http://...."); c'était ça qui m'a mis le bazar !


    Merci à vous tous pour votre aide

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

Discussions similaires

  1. Include avec variables et $_GET
    Par DiNo29 dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2011, 20h05
  2. Authentification php [session, include, $_GET]
    Par Addict` dans le forum Langage
    Réponses: 2
    Dernier message: 23/01/2009, 12h22
  3. include et variable $_GET (pas dur..) juste une info
    Par gretch dans le forum Langage
    Réponses: 11
    Dernier message: 04/08/2006, 17h08
  4. [Système] Pb d'include avec $_GET
    Par JSuper_Kitten dans le forum Langage
    Réponses: 6
    Dernier message: 28/09/2005, 16h23
  5. #include "math.h" et #include <math.h>
    Par pounka dans le forum C
    Réponses: 4
    Dernier message: 01/05/2003, 22h06

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