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

JavaScript Discussion :

Portée des variables PHP dans Javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut Portée des variables PHP dans Javascript
    Bonjour,
    Je travaille un peu sur un projet commencé par d'autres et je suis à peu près noob en Javascript. Désolé si mes questions sont basiques mais après recherche sur le forum et parcours de quelques messages, rien ne m'a guidé.

    Grosso modo, je reprends du code qui mélange du PHP, du CSS, du HTML et du Javascript, tout en faisant quand même appel à des fichiers CSS et JS.

    J'ai voulu réorganiser un peu tout ça en isolant tout le CSS et tout le Javascript dans des fichiers .css et .js.

    Le problème est que certaines portions de code Javascript utilisent des variables PHP.

    Après moult essais et pas mal de recherches sur le net, il semble impossible d'externaliser dans un fichier Javascript les fonctions Javascript utilisant du code PHP afin que le code Javascript n'apparaisse pas dans le code source de la page HTML (je trouve ça moche !).

    Vrai ou faux ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Par défaut
    si c'est un fichier .js, par défaut, ton serveur web ne le passera pas à php et le servira, tel quel, non interprété..

    Tu peux configurer ton serveur web pour exécuter php aussi sur les .js, mais ça risque d’être un peu lourd..

    Par contre tu peux tester en appelant ton fichier
    "scripts.js.php" et l’appeler dans ton html comme un fichier js externe normal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="/js/scripts.js.php"></script>
    ca devrait marcher.. Peut-être auras tu besoin de rajouter un header approprié pour que le script php soit bien reconnu comme js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("content-type: application/x-javascript");
    Encore que normalement, vu que tu précise le type dans ton appel, ca ne devrait pas être nécessaire..

    A tester !

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    J'ai essayé ce genre de manip mais rien n'y fait.
    Je vais simplement séparer le code dans des fichiers ;js mais les appeler par require dans le PHP pour qu'ils soient intégrés à la page générée par PHP et qu'ils bénéficient des variables PHP comme actuellement.
    Ce sera déjà mieux que d'avoir tout mélangé dans le même fichier.

    Merci de ta réponse.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    J'ai essayé ce genre de manip mais rien n'y fait.
    Pourtant ça fonctionne parfaitement ...

    soit mettre le fichier css ou js avec une extension .php
    - et mettre le src des balises avec l'extension .php
    - ou faire un rewrite rule poru que les .css pointent sur des .php



    soit indiquer au serveur d'interpréter les fichiers .css et .js avec php

    Ce sont des techinques éprouvées ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Ça a fonctionné pour le CSS mais pas pour le Javascript alors je change de stratégie pour le JS
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Ça a fonctionné pour le CSS mais pas pour le Javascript alors je change de stratégie pour le JS
    Qu'entends-tu par ça ne fonctionne pas en js ? Tu n'as pas les variables php ou tu n'as pas de fichier du tout ?

    Perso en header je met juste ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    header("Content-type: text/javascript");
    ?>
     
    //mon code javascript ici

    Et dans ma page html, rien de plus qu'avant sauf que ma balise script a pour source la page php.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="http://www.monsite.com/monscript.php" ></script>


    edit: sinon je me souviens qu'à l'époque ou j'utilisais des hebergeurs gratuits, l'un d'eux plantait mes fichiers externes ".php" car il rajoutait des balises html pour faire des stats.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/04/2008, 18h36
  2. [PHP-JS] des variables PHP dans un script Javascript
    Par jiojioforever dans le forum Langage
    Réponses: 13
    Dernier message: 25/01/2007, 15h24
  3. [PHP-JS] Soucis variable php dans javascript.
    Par cisse18 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/07/2006, 10h47
  4. [PHP-JS] Test des variables (PHP ou JavaScript) ??
    Par King_T dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2006, 12h19
  5. portée des variables globales dans un fichier js
    Par crakazoid dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 14/04/2006, 16h49

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