Passing PHP variable into JavaScript

javascript, php

Solution

In your PHP file you could set your user as a global varibale:

<script type="text/javascript">
    var ptamzzNamespace = {
       sessionUser : '<?php echo $_SESSION['user']; ?>'
    }        
</script>

Include this before including your external JavaScript code.

Then in your JavaScript file you can use it:

$.("#btn').click (
     function() {
        alert(ptamzzNamespace.sessionUser);
     }
)

Additionally: If you're not sure if your session varibale can contain quotes itsself, you can use `addslashes()` to fix this problem:

`<?php echo addslashes($_SESSION['user']); ?>` even if this will maybe produce something you don't really want to display (because it produces a string with slashes) it will help that your code will not fail. (Thanks to Artefacto)

Would this be an option for you?

Problem

I've a PHP session variable, `$_SESSION['user']`, alive throughout the session. In the head section, I've my JavaScript file included, `scripts.js`. How do I pass the session variable into the JavaScript file if I want something like the following. ``` $.("#btn').click ( function() { alert('<?php echo $_SESSION['user']; ?>'); } ) ``` As the `<?php ?>` isn't recognized in the JavaScript file, the code above doesn't work. So I've to put in the PHP file itself, but how do I keep it in the JavaScript file?

Original source

Related problems