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