Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/07/2006, 10h44   #1
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
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 :
include("index_ini.php?lang=".$lang_book);
Or, j'obtiens le message d'erreur suivant :
Code :
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.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 10h50   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
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é.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 10h50   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 11h07   #4
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Merci pour vos réponses rapides.

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

Code :
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.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 11h08   #5
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
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.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 11h15   #6
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Merci pour votre aide.

Je mets résolu.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 16h16   #7
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 751
Points : 751
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.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2006, 10h45   #8
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Merci pour cette précision.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h31.


 
 
 
 
Partenaires

Hébergement Web