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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Configuration] Faire un include avec des paramètres


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut [Configuration] Faire un include avec des paramètres
    Bonjour,

    Je pense que ma requête est un peu farfelue, mais qui ne tente rien n'a rien.

    J'aimerais faire un include d'une page en lui passant des paramètres comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include("index_ini.php?lang=".$lang_book);
    Or, j'obtiens le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: main(index_ini.php?lang=english): failed to open stream: in .... on line 36
    Warning: main(index_ini.php?lang=english): failed to open stream: in .... on line 36
    Warning: main(): Failed opening 'index_ini.php?lang=english' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in ... on line 36
    Je ne vois pourquoi je devrais ajouter un chemin dans le include_path de php.ini dans la mesure où j'ai déjà fait des includes dans mon site. Par ailleurs, le include marche si je ne mets pas le paramètre.

    Auriez-vous une astuce pour résoudre ce problème ?

    Merci d'avance.

  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
    Points : 3 377
    Points
    3 377
    Par défaut
    Je crois que tu ne peux passer des paramètres GET à un include que si tu donnes l'URL complète (et si allow_url_fopen est activé, et la version de PHP > 4.3)
    Tu noteras que dans ce cas tu ne peux pas te servir de l'include pour définir de nouvelles variables, seul le résultat du script est récupéré.

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    La fonction include cherche à inclure le contenu d'un fichier ou bien d'une URL (sous réserve dans ce cas que allow_url_fopen soit activé). Il ne vous est pas possible de définir des paramètres comme vous le faîtes avec un fichier : aucun fichier ne correspondra sur votre système de fichier. Deux solutions : vous utilisez une URL ou bien vous définissez des variables/constantes avant l'inclusion puis le script inclus les utilisera.


    Julp.

  4. #4
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Merci pour vos réponses rapides.

    En mettant l'URL complète, j'obtiens ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: main(): URL file-access is disabled in the server configuration
    Et mon hébergeur ne pourra pas faire de modification juste pour mon site....

    Je vais voir ce que je peux faire avec les variables avant l'inclusion.

  5. #5
    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
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par navis84
    Je vais voir ce que je peux faire avec les variables avant l'inclusion.
    Yep, c'est la solution la plus simple et la plus saine à mon sens.

  6. #6
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Merci pour votre aide.

    Je mets résolu.

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Si la vairable $_GET (ou $_POST) existe déjà pour ta page principale elle existeront aussi pour les pages inclusent en local (puisqu'en fait le code est littéralement inclu).

    Tu peux donc faire que ta page ait à l'appel : lang=english.

  8. #8
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Merci pour cette précision.

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

Discussions similaires

  1. Include avec des paramètres
    Par nabilfaouzi dans le forum ASP
    Réponses: 2
    Dernier message: 24/01/2011, 12h27
  2. Réponses: 2
    Dernier message: 13/09/2008, 20h49
  3. [CR11] faire un select avec des paramètres multiples
    Par Mr Strummer dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/07/2008, 18h04
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 22h00
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 17h11

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