如何在javascript中访问php SESSION变量

时间:2016-12-30 06:44:24

标签: javascript php

我正在尝试创建图片上传网站。在此,当用户登录时,我在php中设置了一个$_SESSION['id']变量。现在,我想检查我的javascript文件(general.js)中是否设置了$_SESSION['id']以执行某些功能。我应该怎么做呢?

4 个答案:

答案 0 :(得分:11)

<?php $session_value=(isset($_SESSION['id']))?$_SESSION['id']:''; ?>
    <html>
    <head>
    <script type="text/javascript">
    var myvar='<?php echo $session_value;?>';
    </script>
    <script type="text/javascript" src="general.js"></script>
    </head>
    <body>

    </body>
    </html>

在上面的代码片段中,我在脚本中引用了 general.js 文件之前,已将全局变量 myvar 初始化为存储在php会话变量中的值到脚本文件中。它将是可在 general.js 文件

中访问

答案 1 :(得分:3)

一个简单的例子,请尝试这个

<?php 
session_start();
$_SESSION['id'] = 12;

?>

<script>
alert(<?php echo $_SESSION['id']; ?>);
</script>

您甚至可以将php变量和数组用作js中的变量,如下所示

<?php
    $id= $_SESSION['id'];
    $data= array('one', 'two', 'three');
?>
<script type="text/javascript">
    var idr = '<?php echo $id; ?>';
    var datar = <?php echo json_encode($data); ?>;
</script>

答案 2 :(得分:2)

这里PHP是服务器端执行,JavaScript是客户端执行。并且$_SESSION是一个服务器端构造。所以你可能无法使用JavaScript直接访问它。你需要将该变量存储在$_COOKIE中以便能够在客户端访问它。

您可以使用PHP获取该会话,然后将其用于此类

的JavaScript
<?php
$variablephp = $_SESSION['category'];
?>

<script>
var variablejs = "<?php echo $variablephp; ?>" ;
alert("category = " + variablejs);
</script>

在这里,您将使用PHP获取类似echo $variablephp的会话,并将该值分配给JavaScript变量。

答案 3 :(得分:0)

最好的方法是在{javascript变量中echo会话ID。

<script>
  var sessionId = "<?php echo $_SESSION['id']; ?>";

  // Your javascript code goes here
</script>