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 :

Utiliser dans JavaScript une variable PHP


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par d�faut Utiliser dans JavaScript une variable PHP
    Bonjour.
    J'ai voulu utiliser une variable PHP dans mon script JS. J'ai alors utilis� un code semblable � ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    var ma_var_JS =parseInt('<?php echo $ma_var_PHP; ?>') ;
    Pour v�rifier si j'ai bien r�cup�r� le contenu de ma variable PHP, j'ai ajout� cette ligne :
    Cette ligne m'a affich� "NaN". Le r�sultat obtenu n'est donc pas celui attendu.
    Pour faciliter le test, j'ai utilis� une constante (la valeur 100) au lieu d'une variable :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var ma_var_JS =parseInt('<?php echo "100"; ?>');
    alert(ma_var_JS);
    Le r�sultat obtenu est le m�me (toujours NaN).
    Pour voir ce qui se cache derri�re ce NaN, j'ai enlev� le parseInt:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var ma_var_JS ='<?php echo 100; ?>';
    alert(ma_var_JS);
    Le r�sultat obtenu est ceci:
    <?php echo "100"; ?> et non pas la valeur 100.

    Voyez-vous o� est l'erreur et ce qu'il faut modifier pour y rem�dier ?
    En vous remerciant.

  2. #2
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    il semblerait que ton code php ne soit pas interpr�t� ...

    peux tu nous montrer le code source g�n�r� ?
    => affichage source
    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 !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par d�faut
    Bonjour.
    Oui, il me semble aussi que la balise php n'est pas interpr�t�e en tant que du PHP. Je me suis dit alors que j'ai peut �tre oubli� un ' ou " mais apparemment non.
    Je ne peux pas avoir acc�s au code source g�n�r� � partir du clic-droit-> voir code source, car mes instruction n'y apparaissent pas. Elles sont dans un long fichier JS � part.
    Actuellement, je ne suis pas devant la machine concern�e. Je vais essayer, ce soir ou demain, d'ajouter les lignes cit�es dans le post ci-dessus au code de la page d'accueil et voir ce qui va se passer.
    Je vais cr�er un bloc JS dans lequel je mettrai le bloc php ci-dessus.
    Cordialement.

  4. #4
    Membre �prouv�
    Avatar de ymoreau
    Homme Profil pro
    Ing�nieur �tude et d�veloppement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur �tude et d�veloppement
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par d�faut
    J'ai peut �tre mal compris le contexte mais le code PHP est interpr�t� par le serveur avant l'envoi des pages au navigateur. Le javascript est interpr�t� par le navigateur apr�s qu'il ait re�u ces pages.
    Donc ce que tu veux faire n'est pas possible.

  5. #5
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var ma_var_JS ='<?php echo 100; ?>';
    alert(ma_var_JS);
    est tout � fait possible !!!

    le tout est de le mettre sur un page php et d'appeler la page en passant par l'url du serveur
    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 !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 29
    Par d�faut
    Bonsoir,

    J'ai eu le m�me probl�me il y'a 2 jours,
    J'ai r�gl� le pb en renommant Mapage.html en Mapage.php

    C'�tait tout b�te.

  7. #7
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Citation Envoy� par liloulinx Voir le message
    Je ne peux pas avoir acc�s au code source g�n�r� � partir du clic-droit-> voir code source, car mes instruction n'y apparaissent pas. Elles sont dans un long fichier JS � part.
    Et alors ? Ton script est bien appel� quelque-part dans ta page, donc tu peux le retrouver. De toute mani�re la partie qui nous int�resse est celle dans ton fichier PHP, directement visible dans le code source donc.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var ma_var_JS ='<?php echo 100; ?>';
    alert(ma_var_JS);
    est tout � fait possible !!!

    le tout est de le mettre sur un page php et d'appeler la page en passant par l'url du serveur
    Bonjour.
    Comme je vous l'ai dit: Quand je tape votre code, �a marche, mais d�s que je change la valeur 100 par $ma_variable_php, l� �a plante (bloque) !!!
    J'ai v�rifi�, la variable existe juste au dessus dans le m�me fichier appel� index.php.
    Toutefois, quand je red�clare ma_variable_php dans le bloc php �a marche:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var ma_var_JS ='<?php $ma_var_php=1234; echo $ma_var_php; ?>';
    alert(ma_var_JS);
    Le probl�me a-t-il alors un lien avec l'export de la variable du programme principal (ma_variable_php) vers le sous-code php ?

  9. #9
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    c'est sans toute un souci de hierarchie de quotes, je suppose que ton code est englob� dans un bloc php ?
    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 !

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par d�faut
    Non, il n'est pas englob� dans un bloc php.
    J'ai fais 2 tests:
    1. Le 1er test est fait sur le fichier qui contient mes fonctions javaScript. Celui-ci, ne contient pas du tout de balise <?php ... ?>.
    2. Le 2nd test est fait directement dans le fichier index.php. Celui-ci n'est pas entour� d'une balise php globale, car initialement �tait un fichier html, puis �volu� vers un fichier php. Je lui ai alors int�gr� plusieurs blocs php, �parpill�s un peu partout selon les besoins. Mes tests, je les ai fait en dehors d'une balise php. J'ai cr�� une balise <script> puis dans celle-ci j'ai imbriqu� une sous-balise <?php ... ?>.

    PS: La variable en question est d�clar�e dans le fichier index.php.

  11. #11
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    On ne va pas tourner en rond pendant des heures... Affiche le code source de la page depuis le navigateur et regarde si ta variable PHP est correctement r�cup�r�e dans le code Javascript. Si ce n'est pas le cas, alors c'est une erreur PHP et tu te trouves dans le mauvais forum.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Par d�faut
    Citation Envoy� par SylvainPV Voir le message
    On ne va pas tourner en rond pendant des heures... Affiche le code source de la page depuis le navigateur et regarde si ta variable PHP est correctement r�cup�r�e dans le code Javascript. Si ce n'est pas le cas, alors c'est une erreur PHP et tu te trouves dans le mauvais forum.
    Bonjour.
    Je vous ai dit plus haut que dans le code source on y trouve rien. Voil� un extrait de ce qui s'affiche dans le code source :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <div id="div_test"></div>
    Avec FireBug, c'est diff�rent !!!. J'ai �a:
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <div id="div_test">NaN</div>
    Voici les modif que j'ai faites:
    - dans le fichier index.php, j'ai cr�� ce div :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <div id="div_test"></div>
    - dans le fichier JS, j'ai ajout� ces lignes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var temps_restant =parseInt('<? echo $tps_restant; ?>') ;
    document.getElementById('div_test').innerHTML=temps_restant;
    Sinon, OK, je vais reposter mon message dans le forum php.

  13. #13
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    dans le fichier JS, j'ai ajout� ces lignes
    Ah ben voil�...
    Tu crois que JavaScript sais interpr�ter le PHP et qu'il a connaissance de l'�tat des variables c�t� serveur ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  14. #14
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    Voil� le point essentiel !!! si le code php est dans un fichier js externe avec une extension .js , et que le serveur n'est pas param�tr� pour interpr�ter les fichier js il est normal que le php ne soit pas interpr�t� ...

    Donc :
    - soit tu renommes ton fichier .js en, .php ( en n'oubliant pas de modifier le src de ta balise script dans ta page html)

    - soit tu param�tres le serveur de sorte qu'il interpr�te les fichier .js
    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 !

  15. #15
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Oui... mais non Spaffy.

    S'il s'agit d'un fichier JavaScript externe, il sera appel� par la page HTML et n'aura donc pas acc�s au contexte PHP qui a g�n�r� ladite page, donc la variable n'existera pas...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  16. #16
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    sisi Beef !!!

    nomme ton fichier js avec une extension php et le php inclus sera interpr�t�

    mets une directive apache pour que le serveur interpr�te les fichiers js et le php sera interpr�t�
    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 !

  17. #17
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Attention, je ne dis pas qu'il n'est pas possible de g�n�rer un fichier JS c�t� serveur, je dis juste que si ta page PHP (page.php par exemple) g�n�re un script du type
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <script src="script.php"></script>
    dans ce cas, script.php n'aura pas acc�s au contexte de page.php puisque celui-ci a disparu apr�s l'envoi de la page au navigateur !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  18. #18
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    oui bien entendu les contextes sont s�par�s pour ce qui concerne les variables php.
    Il faudra soit passer par des variables de session ou passer les variables en get dans l'url du src.

    autre possibilit�, faire un include du fichier, qui ne sera alors plus "externe" mais sera dans le m�me contexte que la page html
    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 !

Discussions similaires

  1. Affecter la valeur du retour d'une fonction javascript � une variable php
    Par walking dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 06/05/2012, 06h55
  2. Cr�er depuis un javascript une variable PHP ?
    Par Ti Jen-tsie dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 12/04/2010, 15h56
  3. R�ponses: 7
    Dernier message: 05/01/2008, 19h37
  4. [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
  5. Affecter une variable javascript � une variable php
    Par gwendy dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 17/10/2005, 20h58

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