I'm trying to pass an array from php file to a js file
here is the code in php file

<!DOCTYPE html >
<html >

<body onload="gotofunction()">
$_SESSION['street']= $this->street;
$_SESSION['city']= $this->city;
$_SESSION['state']= $this->state;
$_SESSION['zip']= $this->zip;

<script type="text/javascript">
    function voodoo(){
          alert('alert in voodoo');  // 1st alert


<?php echo "php text";   //1st echo
        $var= json_encode($this->variable);

<script type="text/javascript">
        var data = {
        var1:'<?php echo $this->variable;?>',
        path:'<?php echo $this->path;?>'


here is the js file content

function gotofunction(){

        alert('alert number1');  //1st alert
        alert(' data '+data.var1 );  2nd alert

the problem I'm facing is that in the js file, the error comes as "data is not declared" and also the 2nd alert in js file doesnt work. In the php file php echos can be seen but not the alerts.

Thanks in advance

have you tried performing a var_dump on the json_encode on line 27? Also how are you calling the function in the js file when its not linked to your page?

have you tried ajax?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.