Forum Moderators: open

Message Too Old, No Replies

Set a php variable as a javascript variable.

javascript in php

         

MartinWeb

4:12 am on Jul 23, 2009 (gmt 0)

10+ Year Member



I am trying to set a php variable as a javascript variable. \

This was my code. The variable "php" is set higher up on the page.

<?php

$javascript = ?> <script type="text/javascript"> var(php); </script> <?php ;

echo $javascript;

?>

This doesn't seem to work.

Is there any way to output the javascript variable?

Thanks.

daveVk

5:25 am on Jul 23, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



<script type="text/javascript">
var php = <?php echo $php ?>;
</script>

MartinWeb

7:39 pm on Jul 23, 2009 (gmt 0)

10+ Year Member



Thanks! It looks like I need quotes around the php tag to get it to work.

daveVk

12:02 am on Jul 24, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Yes, if it is text.

MartinWeb

2:57 am on Jul 24, 2009 (gmt 0)

10+ Year Member



That leads me to another question. When I try the following code, I appear to loose the $nameOn variable when I loop. It resets back to zero. (The code will be adapted so that the array is set to a database input. This is just so I don't put in links.)


<script type="text/javascript">
var nameCheck=0;
nameBad = false;

var runPhp = '<?php $nameCheck = 2; $nameOn = 0; $names[0] = "user"; $names[1] = "user2";?>';

while(nameCheck<'<?php echo $nameCheck; ?>')
{
var usedName = '<?php echo $names[$nameOn];?>';
if(usedName.toLowerCase() == name.toLowerCase())
{
nameBad = true;
}

var runPhp = '<?php $nameOn = $nameOn + 1;?>';
nameCheck = '<?php echo $nameOn ; ?>';
}
</script>

Do you know why? Thanks.

daveVk

5:03 am on Jul 24, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



As $nameOn if PHP variable javascript can not change it

<script type="text/javascript">
var nameCheck=0;
nameBad = false;

... php code to initialize javasript array names ..

while(nameCheck<names.length)
{
if(names[nameCheck].toLowerCase() == name.toLowerCase())
{nameBad = true;}
nameCheck++;
}
</script>

MartinWeb

6:19 pm on Jul 24, 2009 (gmt 0)

10+ Year Member



Thanks. But how would I set the javascript names array to equal the php names array?

daveVk

12:51 am on Jul 25, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Try

var names = ["<?php echo implode('","',$names);?>"];

MartinWeb

12:58 am on Jul 25, 2009 (gmt 0)

10+ Year Member



Thank you daveVk! It all works!