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 :

Inclure une variable php dans du javascript


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    D�cembre 2009
    Messages
    59
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 59
    Par d�faut Inclure une variable php dans du javascript
    Bonjour � tous,

    J'ai un petit TextArea en javascript qui fonctionne tr�s bien (il est utilis� par l'�diteur de texte TinyMCE).
    En voivi le code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="javascript" type="text/javascript">
      with (document.getElementById ("content_placeholder")) {
        with (appendChild (document.createElement ("TEXTAREA"))) {
          name = "elm1";
          cols = 117;
          rows = 20;
          value = "Texte par défaut";
        }
      }
    </script>
    Le texte que j'�cris avec l'�diteur est ins�r� dans une base de donn�es avec un identifiant propre. Je voudrais inclure une variable php dans le value de ce TextArea pour afficher le dernier message ins�r� dans ma base de donn�es.

    En gros l'utilisateur quand il se connecte sur l'�diteur de texte de cette page doit voir le texte actuel par d�faut, comme �a il peut modifier que quelques lignes s'il le souhaite sans avoir � tout retaper.

    Le contenu de ce texte est d�j� r�cup�r� dans une requ�te php situ�e plus haut dans ma page.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
      require "../include/param.inc.php";
      unset($afficheEditAccueil);
      //création de la requête
      $afficheEditAccueil = "SELECT edit_content FROM tiny_edit WHERE id_class='1' ORDER BY id_edit DESC LIMIT 0, 1";
      //execution de la requête "afficheEditAccueil" (ou affiche l'erreur)
      $aea=mysql_query($afficheEditAccueil) or die(mysql_error()); 
      //affiche le résultat
       while ($donnees = mysql_fetch_array($aea) )
      {
      $afficheEdit=(stripslashes($donnees['edit_content']));
      }
    ?>
    Le probl�me que je rencontre c'est quand je veux appeler cette variable dans le JavaScript. Cela ne m'affiche rien du tout, voir m�me parfois cela emp�che le Textarea de s'afficher!

    Je proc�de comme cela:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="javascript" type="text/javascript">
      with (document.getElementById ("content_placeholder")) {
        with (appendChild (document.createElement ("TEXTAREA"))) {
          name = "elm1";
          cols = 117;
          rows = 20;
          value = '<?php echo $afficheEdit; ?>' ;
        }
      }
    </script>
    Qu'est-ce qui n'est pas correcte d'apr�s vous dans cette technique et comment y rem�dier?

    Merci

  2. #2
    Membre confirm�
    Inscrit en
    D�cembre 2009
    Messages
    59
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 59
    Par d�faut
    Une petite pr�cision s'impose pour expliquer au mieux mon probl�me.

    Quand j'affiche le HTML g�n�r� je peux voir que ma variable php est correctement r�cup�r�e. Les donn�es s'affiche bien dans le 'value' du javascript, le probl�me est que les donn�es en questions sont beaucoup trop importantes (environ 940 caract�res dans ce cas mais cela pourrait monter plus encore vers 2000/3000 caract�res).

    De plus je pense ques les apostrophes et les caract�res comme # ou le point-virgule doivent �tre interpr�t�s par javascript. Donc cela cr�� quelques probl�mles pour l'affichage de TextArea 'qui ne s'affiche plus du tout en fait)

    Voici le code g�n�r�:
    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
    <script language="javascript" type="text/javascript">
      with (document.getElementById ("content_placeholder")) {
        with (appendChild (document.createElement ("TEXTAREA"))) {
          name = "elm1";
          cols = 117;
          rows = 20;
          value = '<div class="grosTitreCentre">Bienvenue au Yummy!</div>
    <p><br /> <strong>A</strong>mateurs de bonne chair et de moments agr&eacute;ables entre amis, vous &ecirc;tes ici chez vous!<br /><br /> 
    <object width="560" height="260" data="swf/banner.swf" type="application/x-shockwave-flash">
    <param name="quality" value="high" />
    <param name="scale" value="exactfit" />
    <param name="menu" value="true" />
    <param name="bgcolor" value="#000040" />
    <param name="src" value="swf/banner.swf" />
    </object>
    <br /> <strong>M</strong>anger est un des plaisirs de la vie, c'est notre philosophie.<br /> <br /> <strong>C</strong>'est pourquoi nous privil&eacute;gions les produits frais et de saison et que nous vous proposons des recettes de plats originaux.<br /> <br /> <strong>N</strong> ous prendrons plaisir &agrave; les partager avec vous.<br /><br /></p>';
        }
      }
    </script>
    Il me semble donc que cette technique n'est pas possible dans ce cas. Est-ce que quelqu'un aurait une autre piste � me sugg�rer pour palier � ce probl�me?

    Le but est juste d'afficher par d�faut la derni�re version du texte inscrit dans ma base de donn�es. Je ne sais pas trop comment faire �a.

    Merci � vous.

    Cordialement

  3. #3
    Membre exp�riment�
    Profil pro
    DSI
    Inscrit en
    Mai 2009
    Messages
    120
    D�tails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : DSI

    Informations forums :
    Inscription : Mai 2009
    Messages : 120
    Par d�faut
    Bonsoir,

    juste comme ca je me demandais si tu as fait un htmlentities (en php) sur ta chaine quelques part, juste au cas ou il y a des carat�res qui fasse planter le script.

    Car dans ton exemple on voit bien que tu as un ' qui g�ne, donc pour moi un d�but serait d'essaye cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script language="javascript" type="text/javascript">
      with (document.getElementById ("content_placeholder")) {
        with (appendChild (document.createElement ("TEXTAREA"))) {
          name = "elm1";
          cols = 117;
          rows = 20;
          value = '<?php echo htmlentities($afficheEdit, ENT_QUOTES); ?>' ;
        }
      }
    </script>

    Enfin c'est juste une id�e qui me passe par la t�te.

    Bonne soir�e

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    ... deux with imbriqu�s ?
    J'ai du mal � croire que cela puisse �tre fonctionnel... c'est toi qui as �crit ces lignes ?
    Quant bien m�me cele fonctionnerait, je trouve cette syntaxe totalement illisible...
    Quel est le but de la manoeuvre ?

  5. #5
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut
    Bonjour

    L'usage de with n'est pas recommand�, il est m�me interdit dans ECMAScript 5 mode strict.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Membre confirm�
    Inscrit en
    D�cembre 2009
    Messages
    59
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 59
    Par d�faut
    Devant les probl�mes rencontr�s avec JavaScript (que je ne maitrise pas du tout) j'ai d�cid� de revenir � mes premiers amours et suis revenu � un form en html, qui, bien que simple fonctionne parfaitement.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <form method="post" action="gestion-edit_value.php">
    <div>
    <h2>Edition des pages</h2><br />
    <br />
    	<div>
    		<textarea id="elm1" name="elm1" rows="25" style="width: 100%">
    			<?php echo ($afficheEdit); ?>
    		</textarea>
    	</div>
    <br />
    <input type="submit" name="save" value="Submit" />
    <input type="reset" name="reset" value="Reset" />
    </div>
    </form>
    Du coup mon <?php echo ($afficheEdit); ?> s'int�gre parfaitement et je n'ai plus de probl�me d'affichage. Je sais que j'ai contourn� le probl�me et que j'aurais mieux fait de pers�v�rer pour trouver une solution, mais le temps ne joue pas en ma faveur, j'ai donc du faire un choix pratique.

    Pour ce qui est du code js � proprement parler (les deux with imbriqu�s) je ne peux ni en expliquer l'utilit�, ni en savourer la syntaxe, mes comp�tences �tant bien en-de�� de ce niveau. Comme expliqu� dans mon premier message ce petit bout de code vient de TinyMCE qui est un �diteur de texte JavaScript, je ne suis donc pas responsable de sa qualit�/pertinence.

    En tout cas merci pour vos interventions.

    @ e-fitz : j'avais tent� une approche similaire... sans grand r�sultat

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. afficher une variable php dans du javascript
    Par Mut dans le forum Langage
    R�ponses: 8
    Dernier message: 08/06/2011, 01h11
  2. Recuperer une variable PHP dans du javascript
    Par Equinoxe5 dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 13/11/2009, 15h42
  3. Utilisation d'une variable php dans popup javascript
    Par cybernetique dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 17/01/2008, 21h27
  4. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 12/06/2006, 14h08
  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