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 :

Utilisation de $PHP_SELF dans un fichier inclus


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut Utilisation de $PHP_SELF dans un fichier inclus
    petit problème :

    si je fais
    <?php echo $PHP_SELF; ?>
    dans une page php, pas de soucis

    par contre, si je fais
    include_once "mon_fichier_inclus.php"; ma_fonction();

    et que dans ma_fonction il y a un
    echo $PHP_SELF;

    rien ne s'affiche
    ...
    le $PHP_SELF est aps sensé être interprêté à l'exécution de la page qui appelle le code (et donc la page "se connait") ?

    comment régler se problème sachant que je veux utiliser le $PHP_SELF dans le fichier inclus

    sinon je suppose que je pourrai faire ma_fonction($PHP_SELF) et récupérer la valeur mais je préfèrerai garder ça en dernier recours

    merci pour vos propositions
    Dia [ Page DVP ] [ Site pro ]

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    Je ne comprend pas l'intéret d'inclure la page elle même dans celle ci

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    tout comme Yoshio je ne vois pas vraiment l'intérêt mais surtout tu ne risque pas de boucler :
    ta page A s'appelle elle-même (on l'appelle A'), or dans A' il y a un include qui va donc se rappeler donc tu va avoir un A'' et ainsi de suite, c'est ce qu'il doit se passer c'est pour ça que rien ne s'affiche surement, ça doit planter côté serveur (attention ceci est une hypothèse pas une vérité ).

  4. #4
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    en fait, dans le fichier inclus j'ai du code qui est commun à toutes les pages du site

    donc j'ai des fonctions qui, en fonction de la page appelante, vont lire des trucs dans une BdD, faire différents echo et autres traitements pour générer du code HTML

    et donc à un moment, dans une fonction, j'ai besoin de récupérer l'adresse de la page en cours (pour l'utilisateur, donc page appelante quoi) donc j'utilise $PHP_SELF (ou $_SERVER['PHP_SELF'], comme vous voulez) et là ça marche pas, ça met rien



    edit :

    ok, j'ai du mal m'exprimer

    page a.php : <?php echo $_SERVER['PHP_SELF'] ?>
    marche

    mais

    page a.php : <?php include_once "b.php"; fonc(); ?>
    page b.php : <? function fonc() { echo $_SERVER['PHP_SELF']; } ?>
    marche pas

    enfin c'est pas aussi simpliste évidemment mais au final ça doit revenir à ça pour ce qui touche à mon problème
    Dia [ Page DVP ] [ Site pro ]

  5. #5
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 491
    Points : 6 047
    Points
    6 047
    Par défaut
    Citation Envoyé par Dia_FR
    en fait, dans le fichier inclus j'ai du code qui est commun à toutes les pages du site

    donc j'ai des fonctions qui, en fonction de la page appelante, vont lire des trucs dans une BdD, faire différents echo et autres traitements pour générer du code HTML

    et donc à un moment, dans une fonction, j'ai besoin de récupérer l'adresse de la page en cours (pour l'utilisateur, donc page appelante quoi) donc j'utilise $PHP_SELF (ou $_SERVER['PHP_SELF'], comme vous voulez) et là ça marche pas, ça met rien



    edit :

    ok, j'ai du mal m'exprimer

    page a.php : <?php echo $_SERVER['PHP_SELF'] ?>
    marche

    mais

    page a.php : <?php include_once "b.php"; fonc(); ?>
    page b.php : <? function fonc() { echo $_SERVER['PHP_SELF']; } ?>
    marche pas

    enfin c'est pas aussi simpliste évidemment mais au final ça doit revenir à ça pour ce qui touche à mon problème
    J'ai pas tout lu mais juste un petit conseil. $PHP_SELF ne fonctionne que sur les serveur apache. Il est vivement conseillé d'utiliser. $_SERVER['SCRIPT_NAME']
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  6. #6
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    j'peux pas tester avant ce soir, j'viendrai dire ce qu'il en est
    Dia [ Page DVP ] [ Site pro ]

  7. #7
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    ok, $_SERVER['SCRIPT_NAME'] marche, merci



    edit : pour prendre aussi en compte les arguments par méthode GET : $_SERVER['REQUEST_URI']
    Dia [ Page DVP ] [ Site pro ]

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/10/2013, 21h57
  2. Comment utiliser session_start() dans un fichier inclus
    Par nicolas2603 dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2007, 16h00
  3. Réponses: 8
    Dernier message: 29/01/2006, 16h48
  4. [XSL] Utiliser des CSS dans un fichier XSL
    Par alainme dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 13/04/2005, 10h47
  5. [VB.NET] Utiliser le TRIM dans un fichier?
    Par Pleymo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/03/2005, 17h12

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