Page 1 sur 1

Problème avec le caractere '&' de php vers javascript

Posté : 20 janv. 2011, 14:31
par coolissimo
Bonjour,

Je crée un bouton tweet pour mon site qui permet de tweeter chaque produits d'une liste (1 bouton par produit)
Un mélange de php et javascript. Je débute en code.

Le code fonctionne mais j'ai juste un soucis concernant l'url car celle ci contient plusieurs fois le symbole "&" et javascript la retranscrit alors coupée au premier "&" rencontré.

Voici le lien en php :

Code : Tout sélectionner

$product_link = 'index.php?page=shop.product_details&category_id=1&flypage=flypage.tpl&product_id='.$product_id.'&option=com_virtuemart&Itemid=29';
Et voici le genre de code javascript utilisé :

Code : Tout sélectionner

<a href="http://twitter.com/home?status=decouvrez%20ce%20-<?php print($product_name);?>-%20<?php echo $product_link ?>%20via %40blabla" target="_blank" title="blabla"><img src="http://www.blabla.fr/images/tweet_btn.gif" alt="blabla" title="blabla" border="0" width="52" height="21"></a>
En gros une fois cliqué sur le bouton tweet , voici ce qui apparait dans la boite twitter :

decouvrez ce -machin- index.php?page=shop.product_details via @blabla

Il me manque donc le reste de l'url : &category_id=1&flypage=flypage.tpl&product_id=9&option=com_virtuemart&Itemid=29

Comment puis je résoudre cela ??

Re: Problème avec le caractere '&' de php vers javascript

Posté : 21 janv. 2011, 01:45
par devlop78
il faut urlencoder le &. urlencode('&').

De façon générale :

$monUrl = 'var=' . rawurlencode($var) . '&var2=' . rawurlencode($var2);
echo htmlspecialchars($monUrl);

Ce dernier (htmlspecialchars()) n'étant à mettre que dans le page HTML hors balise <script></script>.