簡體   English   中英

使用php echo設置javascript變量不起作用

[英]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";
}
?>

在您的js中添加如下代碼:

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

這是我在jQuery中使用的功能(分兩部分進行測試)。 但是,如注釋中所述 ,請確保尚未將JS包裝在<script>...</script>

第1部分 (通過表單輸入設置會話名稱)

<?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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM