Variables php dans une fonction javascript

Fermé
stafa112 Messages postés 71 Date d'inscription samedi 9 août 2008 Statut Membre Dernière intervention 14 mars 2014 - 11 sept. 2009 à 02:23
 phicarre - 20 oct. 2009 à 15:53
Bonjour,
Bonjour,
J'ai ce code et ça marche pas ou est l'erreur ?comme vous le voyer j'utilise des variables php dans une fonction javascript , je vous remercie d'avance pour l'aide :


<?php echo ("<script type="text/javascript">");
echo (" var audio = new SWFObject(/''.$base_url.'/audio.swf/',/'apv/',/'690',/'44/',/'7/')");
echo ("audio.addParam(/'wmode/', /'transparent/');");
echo (" audio.addVariable(/'width/',/'690/');");
echo (" audio.addVariable(/'height/',/'44/');");
echo (" audio.addVariable(/'file/',/''.$base_url.'/uploads/audio/"'.$audio_play.'/"/');");
echo (" audio.addVariable(/'autostart/', /'true/');");
echo (" audio.addVariable(/'showeq/', /'true/');");
echo (" audio.addVariable(/'backcolor/', /'0xFFFFFF/');");
echo (" audio.addVariable(/'screencolor/', /'0xFFFFFF/');");
echo (" audio.addVariable(/'lightcolor/', /'0x0099FF/');");
echo (" audio.addVariable(/'frontcolor/', /'0x0099FF/');");
echo (" audio.write(/'audio_play/');"); ?>
</script>



Voici le code d'origine :

<script type="text/javascript">
var audio = new SWFObject('[var.base_url]/audio.swf','apv','690','44','7');
audio.addParam('wmode', 'transparent');
audio.addVariable('width','690');
audio.addVariable('height','44');
audio.addVariable('file','[var.base_url]/uploads/audio/[var.audio_play]');
audio.addVariable('autostart', 'true');
audio.addVariable('showeq', 'true');
audio.addVariable('backcolor', '0xFFFFFF');
audio.addVariable('screencolor', '0xFFFFFF');
audio.addVariable('lightcolor', '0x0099FF');
audio.addVariable('frontcolor', '0x0099FF');
audio.write('audio_play');
</script>

Et je veux remplacer les variables [var.base_url] ,[var.audio_play] etc en php

Merci d'avance
A voir également:

3 réponses

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
25 sept. 2009 à 18:52
Salut

A première vue, je dirais que c un problème avec les guillements double et simple

Je ne pense pas que tu puisses écrire <?php echo ("<script type="text/javascript">"); mais plutot

<?php echo ('<script type="text/javascript">'); ou
<?php echo ("<script type='text/javascript'>"); ou
<?php echo (\"<script type="text/javascript\">"); (mais pas sur pour celle là).

Pour cette ligne là :
echo (" var audio = new SWFObject(/''.$base_url.'/audio.swf/',/'apv/',/'690',/'44/',/'7/')");
tu peux normalement inclure directement les variables dans la chaine du moment ou tu utilises les guillements doubles et tu n'as pas besoin de masquer les guillemets simples (c aussi vrai pour les lignes qui suivent)

echo (" var audio = new SWFObject('/$base_url/audio.swf','apv','690','44','7')");

Tu peux aussi inclure directement le code PHP dans ton script javascript :

<script type="text/javascript">
var audio = new SWFObject('[var.base_url]/audio.swf','apv','690','44','7');
audio.addParam('wmode', 'transparent');
audio.addVariable('width','690');
audio.addVariable('height','44');
audio.addVariable('file',<?php echo $base_url;?>/uploads/audio/ <?php echo $audio_play;?>');
audio.addVariable('autostart', 'true');
audio.addVariable('showeq', 'true');
audio.addVariable('backcolor', '0xFFFFFF');
audio.addVariable('screencolor', '0xFFFFFF');
audio.addVariable('lightcolor', '0x0099FF');
audio.addVariable('frontcolor', '0x0099FF');
audio.write('audio_play');
</script>

Normalement c possible si ta page est enregistrée au format PHP. Le code PHP est alors remplacé par sa valeur et inclus dans le code javascript qui sera interprété côté client.

A tester dans tous les cas. En espérant que cela t'aidera à résoudre ton problème,

Cdlt

IC
0
Je me mêle à la conversation ...

Si je veux exécuter une fonction javascript avec paramètres, j'écris ceci:

echo "ma_fonction($par1,$par2);";

Si un paramètre est du type array, alors cela ne passe plus ! pourquoi ? comment faire ?

echo "ma_fonction($mon_array);";

Dans javascript: mon_array.length = 1 !!!
0
Je me mêle à la conversation ...

Si je veux exécuter une fonction javascript avec paramètres, j'écris ceci:

echo "ma_fonction($par1,$par2);";

Si un paramètre est du type array, alors cela ne passe plus ! pourquoi ? comment faire ?

Array
(
[0] => a,b
[1] => c,d
)


echo "ma_fonction($mon_array);";

Dans javascript: mon_array.length = 1 !!!
0