How can I pass a PHP variable to javascript?

前端 未结 4 1071
失恋的感觉
失恋的感觉 2020-12-21 05:44

I want to use a PHP variable as a javascript variable - specifically I want to user the PHP variable session_id(); and use this as a javascript variable.

&l         


        
相关标签:
4条回答
  • 2020-12-21 06:26

    It seems you have opened a parenthesis in the echo call, but didn't close it. Also, you should place a semicolon after it. You've also forgotten the quotes (as Gordon says in the comment below).

    <?php
    $php_var = session_id();
    ?>
    <script language="JavaScript" type="text/javascript">
    js_var = "<?php echo($php_var); ?>";
    </script>
    

    P.S.You can use less code by replacing echo with the '=' character:

    js_var="<?=$php_var?>";
    

    0 讨论(0)
  • 2020-12-21 06:28

    That's just fine. Be sure that if the variable you're echoing is a string that you put quotes around it and escape any quotes, newlines, etc. inside it -- e.g., make sure it really gets output as a valid JavaScript string literal. Also, don't forget the var before js_var.

    0 讨论(0)
  • 2020-12-21 06:37

    The best method i can think of looks like this:

    <?php
    $php_var = session_id();
    ?>
    <script type="text/javascript">
        var js_var = <?php echo json_encode($php_var); ?>;
    </script>
    

    PHP's json_encode-function is always producing valid JavaScript, which is not ensured if you are simply outputting random values. If you decide not to use json_encode(), you should at least enclose the php-value with quotes to prevent syntax errors. Be aware of escaping!

    <?php
    $php_var = session_id();
    ?>
    <script type="text/javascript">
       var js_var = "<?php echo $php_var; ?>";
    </script>
    
    0 讨论(0)
  • 2020-12-21 06:40

    It doesn't work because your snippet contains errors, it should be:

    <?php
    $php_var = session_id();
    ?>
    <script language="JavaScript" type="text/javascript">
    js_var = <?php echo $php_var ?>;
    </script>
    
    0 讨论(0)
提交回复
热议问题