我有一个PHP文件从我的SQL数据库中获取数据,我试图设置并获得$_SESSION['fname']
和$_SESSION['userID']
之类的$theFName
和$theId
两个会话变量。
$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>
但我得到空字符串!
你可以告诉我我做错了吗?答案 0 :(得分:0)
我不太确定我理解你在JS文件中想要做什么,但在任何情况下它都不是有效的JS - 引号不匹配,看起来你正试图在里面做一个任务一个字符串。
我认为你所寻找的东西更像是这样:
<script>
var UID = "<?php echo $_SESSION['userID']; ?>";
console.log("The Id is " + UID)
</script>
但请注意,使用PHP动态生成JS文件可能不是解决此问题的最佳方法。查看this关于可以用来将变量从PHP传递给JS的各种方法的答案,以及它们的各种优缺点。