Pb récurrent javascript avec quotes & code html

Pb récurrent javascript avec quotes & code html - HTML/CSS - Programmation

Marsh Posté le 11-01-2008 à 14:22:12    

Bonjour,

 

J'ai un problème pour passer une variable php à du javascript :

 
Code :
  1. onclick="if(confirm(' \'blabla <?=$ma_variable?> \' '))"
 

ma variable stockée en base étant :

aze'hjkh"hjklh\'mlfdfj<b>sfdf</b>ge$ù*ù^$  

 

Comment dois je faire pour passer cette varaible à mon onClick correctement? Je ne veux pas que le code html soit interprété et j'ai des problemes avec les quotes, je me retrouve avec des "constante chaine non terminée"

 

Bref quand je clic, je dois me retrouver avec le message :

 

'blabla aze'hjkh"hjklh\'mlfdfj<b>sfdf</b>ge$ù*ù^$'

 

Merci


Message édité par Alisteroid le 11-01-2008 à 14:23:11
Reply

Marsh Posté le 11-01-2008 à 14:22:12   

Reply

Marsh Posté le 11-01-2008 à 14:31:05    

Avec htmlspecialchars

Reply

Marsh Posté le 11-01-2008 à 15:03:50    

Merci j'avais tout essayé mais un htmlspecialchars(addslashes($ma_variable)) marche :jap: ssauf que le code html est interprété.

 

Si je fais

Code :
  1. <script>
  2. alert('blabla <?=$ma_variable?>');
  3. </script>


Ca passe exactement comme indiqué au dessus

 

Par contre

 
Code :
  1. onclick="if(confirm(' \'blabla <?=$ma_variable?> \' '))"
 

Interprete ce qu'il y a entre les <b>.

 

Je suis vraiment paumé avec toutes ces histoires, ilest temps que je mette au point :D


Message édité par Alisteroid le 11-01-2008 à 15:04:01
Reply

Marsh Posté le 11-01-2008 à 15:05:21    

Dans un bloc <script> ou dans un attribut onclick, ça sera pas pareil les règles d'échappement

Reply

Marsh Posté le 11-01-2008 à 15:11:16    

Je vois ça :D.
 
Le problème c'est que ça marche dans mon bloc <script>, et je veux que ça marche dans mon onclick :/
Comment faire?  
 

Reply

Marsh Posté le 11-01-2008 à 15:51:06    

Personne ? J'y arrive pas  :cry:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed