-3

I am trying to use a php variable in my javascript code, but i cant seem to get it working. Here is my js and php code:

<?php $s = "woo"; ?>
var images = <?=$s?>;

What i want to achieve, is a php variable in javascript ENCLOSED with ['']; With other words, so that the javascript code reads it like this: ['woo']; I could really need some help, as i am very new to javascript. Thanks in advance.

MOLOCOG
  • 3
  • 5

2 Answers2

1

I recommend using json_encode for all values "passed" to JavaScript - this will prevent against injection, accidental or otherwise. It also trivially handles quotes and allows complex object graphs to be supplied. If not already, I imagine that images is really, or should be, an array ..

var images = <?= json_encode($s) ?>;

Or

var images = <?php echo json_encode($s); php?>;

Look at the actual HTML to see what is being emitted, and that it is valid - the original yields JavaScript akin to var images = woo;, which will result in a ReferenceError (on woo).

user2864740
  • 60,010
  • 15
  • 145
  • 220
0

One trick you can use is this, when you are inside a .js file it can be helpful, because php doesnt work.

Put the value of your php value inside a div as content, and then grab that in the javascript.

in the php file:

<div id="sVar" style="display:none;"><?php echo $s; ?></div>

in js:

var images = document.getElementById('sVar').innerHTML;
Andrew
  • 18,680
  • 13
  • 103
  • 118