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 :

Code PHP au sein de JavaScript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut Code PHP au sein de JavaScript
    Bonjour,

    Je suis entrain de faire une page multilangue, du coup, je ne veux pas déclarer les variables 2 fois du côté JS et PHP, je veux les déclarer une seule fois sur PHP et les récupérer en JS:

    varsPHP.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $userMinChars = 3;
    $userMaxChars = 20;
    et sur varsJS.js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var userMinChars = <?php echo $userMinChars; ?>
    ça retourne une erreur:

    jQueryVars.js:23 Uncaught SyntaxError: Unexpected token <
    Y a-t-il un moyen de les déclarer?

    Merci a vous

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 509
    Par défaut
    bonsoir,
    on ne peux pas écrire du Php dans javascript, par-ce que le premier est un langage serveur, et le deuxième est un langage client .
    utilise $.ajax().

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut
    Merci Toufik83, je cherchais une méthode pour ne pas déclarer mes variables plusieurs fois

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    Salut,

    Comme l'a precise Toufik83, tu ne peux pas interpreter du PHP dans un fichier JS. Par contre, rien ne t'interdis de melanger du php avec du JS dans le HTML genere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    <head>
    </head>
    <body>
    <p><?php echo $exemple; ?></p>
    <script type="text/javascript">
    var userMinChars = <?php echo $userMinChars; ?>;
    </script>
    <script type="text/javascript" src="ton_js.js"></script>
    </body>
    </html>
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    soyons PRECIS.

    1/
    Citation Envoyé par Toufik83 Voir le message
    bonsoir,
    on ne peux pas écrire du Php dans javascript...
    FAUX. Pour la même raison que celle invoquée : PHP est interprété avant.
    Donc, il est possible d'utiliser du PHP dans un script JavaScript, POUR PEU que ce script soit dans fichier avec l'extension .php !

    2/
    Citation Envoyé par Doksuri Voir le message
    Comme l'a precise Toufik83, ...
    FAUX : ce n'est pas exactement ce qu'a dit Toufik83

    Citation Envoyé par Doksuri Voir le message
    ...tu ne peux pas interpreter du PHP dans un fichier JS.
    VRAI : SI l'extension du fichier est .js, le PHP ne peut pas être interprété.

    3/
    Citation Envoyé par Doksuri Voir le message
    Par contre, rien ne t'interdis de melanger du php avec du JS dans le HTML genere
    VRAI : ...
    ...et FAUX : pas "dans le HTML genere", mais "POUR générer le HTML, DANS un fichier dont l'extension est .php"

    le-fichier.php :
    Code html : 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
    <?php
            $userMinChars = 3;
            $uneChaine = 'C\'est bientôt l\'hiver... :(';
            // ......
    ?>
    <html>
    <head>
     
    <script type="text/javascript">
            var userMinChars = <?php echo $userMinChars; ?>;
            var uneChaine = '<?php echo htmlspecialchars( $uneChaine, ENT_QUOTES); ?>'; // ne pas oublier les ' autour, et l'échappement des ' dedans !
            // ......
    </script>	
     
    </head>
    <body>
     
    </body>
    </html>
    4/ UNE SOLUTION, avec un fichier js externe :
    • il faut que l'extension du fichier soit .php
    • il faut mettre en début de fichier :


    (ex. mon-script-js.php)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    header("Content-type: application/javascript; charset: utf-8"); 
    // -----------------------------------------------------------
    // CONFIGURATION :
    	require_once('./_config/fichier-de-config.php'); // le fichier dans lequel sont définies les variables PHP
    // -----------------------------------------------------------
    // ......
    ?>
    // ici : du code JavaScript...
    L'intégration se fait comme avec un fichier js classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<script type="text/javascript" src="js/mon-script-js.php"></script>


    N.B. Quant à l'utilisation d'AJAX, c'est une toute autre histoire...
    Dernière modification par Invité ; 04/10/2016 à 09h28.

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,


    VRAI : SI l'extension du fichier est .js, le PHP ne peut pas être interprété.
    FAUX c'est tout a fait possible
    ce n'est qu'une question de conf toute extension de son choix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    AddType application/x-httpd-php .php5 
    AddType application/x-httpd-php .php42 
    AddType application/x-httpd-php .php4 
    AddType application/x-httpd-php .php3 
    AddType application/x-httpd-php .php 
    AddType application/x-httpd-php .phtm 
    AddType application/x-httpd-php .phtml 
    AddType application/x-httpd-php .asp
    il suffit donc de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddType application/x-httpd-php .js
    ce que je déconseille fortement.
    j'ai écris un moteur dans les années 90 qui faisait en TCL ce que fait php (intégrer du code exécutable dans html)
    lorsque js est né la tentation de générer des script js en TCL c'est faite sentir. avec l'arrivé quelque année après de PHP il en fut de même.

    pourtant depuis cette époque préhistorique je n'ai absolument jamais (pas une seule fois) trouvé de cas qui ne puise être pas fait sans mélanger php et JS.
    dans tous les cas que j'ai rencontré de mélange de php et JS une solution plus simple et plus efficace a été trouvé pour faire d'un côté du php de l'autre du JS statique.
    le seul point de rencontre entre les deux se situant dans l'échange de donnée via JSON
    (passage d'un paquet JSON du php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $scriptData = Array(
      'resultCode' => 200,
      'message' => "Jusqu'ici tout va bien !")
    );
    dans la page HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript">
      scriptData = <?php echo json_encode($scriptData ); ?>;
    </script>
    )


    A+JYT

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

Discussions similaires

  1. Comment mettre du code php dans une condition javascript ?
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/04/2010, 12h55
  2. Exécuter du code PHP dans un onchange javascript
    Par beegees dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/01/2009, 17h08
  3. Réponses: 2
    Dernier message: 07/07/2006, 21h11
  4. [PHP-JS] Probleme de javascript dans un code php
    Par stomerfull dans le forum Langage
    Réponses: 3
    Dernier message: 23/01/2006, 09h33
  5. [PHP-JS] Probleme de javascript dans un code php
    Par stomerfull dans le forum Langage
    Réponses: 20
    Dernier message: 12/01/2006, 13h41

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