[英]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.