设置javascript变量使用PHP echo不工作


set javascript variable using php echo doesn't work

如何将session['user_id']传递给javascript ?我试过体内的var user_id = "<?php echo session['user_id']; ?>";,但它没有从php接收。

<?php session_start(); 
if(isset($_SESSION['user_id'])){
    //user logged in = true;
    $user_id = $_SESSION['user_id'];
?>
<body>logged in content</body>
//I put my js here

<?php 
}else{
    header('Location: fblogin.php');
    //echo "not logged in";
}
?>

这是我使用的jQuery(在一个两部分的测试中)。然而,正如评论中所述,如果你还没有这样做,请确保你的JS被<script>...</script>包装。

第一部分(从表单输入设置会话名称)

<?php
ob_start();
session_start();
if(isset($_POST['submit'])){
$_SESSION['myusername'] = $_POST['myusername'];
$_SESSION['mypassword'] = $_POST['mypassword'];
echo $_SESSION['myusername'];
echo "<br>";
echo $_SESSION['mypassword'];
} // isset submit
ob_end_flush();
?>
<form action="" method="post">
Username: 
<input type="text" name="myusername">
<br>
Password: 
<input type="text" name="mypassword">
<br>
<input type="submit" name="submit" value="Submit">
</form>
<br><br>
<a href="sessions_test.php">check session name</a>

第2部分(查看会话名称,如果设置)(sessions_test.php),它将在查看HTML源时显示会话名称。

<?php
session_start();
if (isset( $_SESSION['myusername']) && isset( $_SESSION['mypassword']) ){
$myusername = $_SESSION['myusername'];
$mypassword = $_SESSION['mypassword'];
echo $myusername;
echo "<br>";
echo $mypassword;
}
?>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
    $(document).ready(function(){
var player = "<?php echo $_SESSION['myusername']; ?>";
// alert (player);
    });
</script>

在js中添加如下代码:

<script>
  var user_id="<?php echo $user_id; ?>";
 </script>