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] Utiliser une variable avant qu'elle ne soit initialisée


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut [PHP-JS] Utiliser une variable avant qu'elle ne soit initialisée
    Bonjour,

    Il y a une page index dans laquelle j'affiche la page de contenue. Cette page index est toujours la même, par contre la page de contenue varie suivant l'url introduite, comme la plupart des sites en fait.

    Le problème est que sur chaque page chargée dans cette page index, il y a une même variable. Variable dont j'ai besoin dans la page index AVANT le chargement de la page de contenue.

    Pour simplifier, on peut dire que la page index possède un bouton qui a besoin d'une variable et après l'affichage de ce bouton, il y a l'affichage du contenu de la page que l'on souhaite voir, page qui contient cette variable. On a donc d'abord besoin de la variable avant son initialisation.

    Solutions :

    J'ai pensé à différentes solutions, comme la création d'un tableau en php, la création d'une table SQL pour gérer l'url de la page et la valeur de sa variable, ... mais c'est loin d'être ce qu'il y a de mieux !

    Ce qui serait bien, c'est de pouvoir forcer php à attendre la fin du chargement de la page avant d'utiliser la variable dans le bouton ou encore, charger la page de contenue avant la page index, mais l'afficher au bon endroit. Je ne sais pas si cela est possible ...

    Sauriez vous comment ceci serait réalisable ? Ou auriez vous d'autres solutions ?

    D'avance merci pour vos réponses.



    xenos

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    rien de plus simple avec javascript.

    Tu cres une function qui est appelee APRES le chargement complet de ta page (via onload). Tu affectes ta variable a l'element de ta page dans cette fonction. Cet element devra etre identifiee par un id unique.
    Z.

  3. #3
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Merci de ta réponse Zwiter,

    Ne serait il pas possible d'utiliser du php ?

    Dans la mesure du possible j'évite d'utiliser du JavaScript, pour de nombreuses raisons :
    - il faut parfois développer différents code JavaScript suivant le navigateur,
    - le JavaScript n'est pas toujours activé chez le client, il ne pourra donc pas avoir accès à l'aide,
    - en fait, il s'agit pas d'un bouton, mais d'un lien, donc si il est en JavaScript, les moteurs de recherche ne le suivront pas ... ce qui fait que l'aide ne sera pas indexée par les moteurs de recherches,
    - ...

  4. #4
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Pardonne moi mais je ne comprends pas bien ton problème...
    Pourquoi ne peux tu pas faire appel à un script php en début de ta page index et avant le chargement du fichier inclus pour connaître la valeur nécessaire?

    D'où proviens cette valeur? une BDD, un script?

  5. #5
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    J'avoue que mon explication n'est pas très clair, mais pour ma défense, c'est pas super simple à expliquer !

    On m'a fourni un design. En haut de celui-ci, il y a un lien vers l'aide et en bas de page, on inclue la page qui nous intéresse.

    Cependant, l'aide varie suivant la page sur laquelle on se trouve. Le lien vers l'aide en haut de la page contient un id, id qui va permettre à la page aide.php d'afficher l'aide spécifique à la page d'où l'utilisateur vient.

    L'id lui est contenu dans la page chargée, la page de contenue, qui se trouve au bas de la page index.php.

    Au final, je veux créer un lien vers la page d'aide qui contient l'id, qui se trouve dans la page de contenue, la page que l'on charge (par exemple: inscription.php).

    J'espère avoir été plus clair ...

  6. #6
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Un schéma étant plus clair que des mots :

    ____________________________________________
    | page index.php (A) |
    | _______________________________________ |
    | | | |
    | | Lien vers l'aide (B) | |
    | | | |
    | |______________________________________| |
    | |
    | |
    | _______________________________________ |
    | | | |
    | | page chargée (C) | |
    | | qui contient un id_aide | |
    | |______________________________________| |
    | |
    |___________________________________________|

    A: page index, qui charge la page de contenue, qui s'occupe de la présentation du site, ...

    B: lien vers l'aide qui varie suivant la page chargée, il a donc besoin de l'id_aide qui est dans C,

    C: page chargée, qui contient l'id_aide pour le lien (B)

  7. #7
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    D'accord...

    Si tout se passe au niveau du fichier index.php, en naviguant l'utilisateur doit exprimer son choix de page. Très certainement, les valeurs de navigation sont passées par l'url récupérable dans la super global $_GET de php. Est-ce que ceci est juste?

    A partir des données récoltées par l'url, n'y a t'il pas moyen d'obtenir l'identifiant de la page d'aide?

    De quelle façon est stockée cette variable... dans une base de donnée, en dur dans le source,...?

  8. #8
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par defcon_suny Voir le message
    Si tout se passe au niveau du fichier index.php, en naviguant l'utilisateur doit exprimer son choix de page. Très certainement, les valeurs de navigation sont passées par l'url récupérable dans la super global $_GET de php. Est-ce que ceci est juste?
    En effet, c'est comme ça qu'il a été programmé.

    Citation Envoyé par defcon_suny Voir le message
    A partir des données récoltées par l'url, n'y a t'il pas moyen d'obtenir l'identifiant de la page d'aide?
    On pourrait envoyer les id_aide via l'url, mais ça voudrait dire qu'il faut changer tous les liens de tout le site pour rajouter l'id_aide. Et si pour une raison on veut changer cet id, il va falloir parcourir toutes les pages pour retrouver l'id correspondant et le modifier ...

    Citation Envoyé par defcon_suny Voir le message
    De quelle façon est stockée cette variable... dans une base de donnée, en dur dans le source,...?
    Elle ne sont pas stockée pour le moment étant donné que je cherche un moyen de pouvoir faire fonctionner l'aide. Mais ce à quoi j'avais pensé, c'est tout simplement une variable en début de chaque page : $id_aide = '1';

    Ce qui est facile à mettre en œuvre et facile à modifier par la suite.

  9. #9
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Ceci entraîne une certaine rigueur dans ta gestion de fichier mais correspond à tes besoins...

    Il faut impérativement que les fichiers inclus commence par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php
    $test = "2";
    -- qui représente la valeur du fichier d'aide.
    Ensuite dans la page index.php, tu peux faire :
    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
    18
    19
    20
    21
    22
     
    <html>
    <head>
    </head>
    <body>
    <?php
    // Ouvre le fichier à inclure
    $f = fopen("v.php","r");
    // Se déplace jusqu'au caractère 5 du fichier
    fseek($f,5);
    // Lit le contenu sur un longueur de 25 caractères
    $content = fread($f,25);
    // Referme la ressource
    fclose($f);
    // Coupe la chaîne recu du début jusqu'au premier élément ;
    $variable = substr($content,0,strrpos($content,";"));
    // Evaluation du code recu
    eval($variable.";");
    echo $test;
    ?>
    </body>
    </html>
    Ceci ira chercher le contenu de ta variable et l'utilisera!

  10. #10
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Merci pour ta solution defcon_suny !

    C'est vraiment très bien pensé, en n'utilisant que du php, sans trop alourdir l'ensemble !

    Je pensais pas que la solution serait de ce type là ...

    Bonne journée et bonne programmation !

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

Discussions similaires

  1. Utiliser une variable js dans php
    Par owenho dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/12/2012, 16h49
  2. Réponses: 1
    Dernier message: 20/03/2008, 11h09
  3. [XSL] Utiliser une variable PHP dans XSL
    Par mabedan dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 13/08/2007, 15h25
  4. [Configuration] php pour recuperer une variable dans l'url sans utiliser $_GET
    Par mikebranque dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 22/06/2006, 20h22
  5. [PHP-JS] utiliser une variable php dans du javascript
    Par kcizth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/02/2006, 11h53

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