我有一个从SQL数据库获取数据的PHP文件,我正试图通过$theFName
和$theId
设置和获取两个会话变量,如$_SESSION['fname']
和$_SESSION['userID']
。
$email = $_POST['email'];
$pass = $_POST['pass'];
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);
$sql = "SELECT id, email, fname, lname, type FROM users WHERE `email`=? AND `pass`=?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ss', $email,$pass);
$stmt->execute();
$stmt->bind_result($theId,$theEmail,$theFName,$theLname,$theType);
if ($stmt->fetch()) {
echo 'true';
$_SESSION['LOGIN_STATUS'] = true;
$_SESSION['fname'] = $theFName;
$_SESSION['userID'] = $theId;
} else {
echo 'false';
}
在JavaScript文件中,我有
<script>
var tok = "var UID = "<?php echo $_SESSION['userID']; ?>";
console.log("The Id is " + UID)
</script>
但我得到了空字符串!
你能告诉我我做错了什么吗?
我不太确定我是否理解你试图在JS文件中做什么,但它在任何情况下都不是有效的JS-引号不匹配,看起来你试图在字符串中进行赋值。
我认为你正在寻找的是更像这样的东西:
<script>
var UID = "<?php echo $_SESSION['userID']; ?>";
console.log("The Id is " + UID)
</script>
但是,请注意,使用PHP动态生成JS文件可能不是最好的方法。看看这个SO关于可以用来将变量从PHP传递到JS的各种方法的答案,以及它们的各种优点和缺点。