php - 如何获取已登录站点的用户的会话 ID
问题描述
我需要一些帮助来“获取”登录我网站的用户 ID。我基本上有一个用户仪表板,我只想显示特定用户的详细信息。有人可以告诉我我是否走在正确的道路上以及我做错了什么。
因此,在用户登录后登陆的仪表板页面中,我在页面顶部有这个:
$query = "SELECT * FROM `checkPointMod` WHERE `idUsers` = $_SESSION['id']";
然后在每个页面上的标题中,我都有这个:
<?php
session_start();
require "includes/dbh.inc.php";
?>
然后在我的登录脚本中,我有:
$_SESSION['id'] = $row['idUsers']; //User ID
$_SESSION['uid'] = $row['uidUsers']; //Username
$_SESSION['email'] = $row['emailUsers']; //Users Email
所以我想通过$_SESSION['id']
在我的仪表板页面顶部调用它只会选择谁登录但是我得到的错误是:
语法错误,意外的 '' (T_ENCAPSED_AND_WHITESPACE),需要 '-' 或标识符 (T_STRING) 或变量 (T_VARIABLE) 或数字 (T_NUM_STRING)
请有人告诉我这是否不是获取哪个用户已登录的正确方法,或者这只是一个简单的语法案例?
解决方案
您可以创建一个变量来存储 id 并将其传递到查询中以忽略此错误,如下所示
$id = $_SESSION['id'];
$query = "SELECT * FROM `checkPointMod` WHERE `idUsers` = $id";
或者你可以这样做
$query = "SELECT * FROM `checkPointMod` WHERE `idUsers` = ".$_SESSION['id'].'"';
推荐阅读
- ios - 当 Swift 闭包暴露给 Objective-C 时如何自动生成参数名称?
- python - 两个函数相等布尔值在python中无法正常工作
- c# - 当用户在 C# 中取消操作时,如何停止从 Oracle db 查询数据?
- r - 在 R 中输入 NA BINARY SEX 数据
- terraform - Terraform:引用输出变量时不支持的属性
- powershell - 如何在工作流中访问 InLineScript 中的 ForEach 变量?
- excel - 当范围是动态的时返回多个匹配项
- c++ - 在 OSX mac 中使用 QT6 和 Opencv 架构 x86_64 的未定义符号
- javascript - 猫鼬如何计算每天最后一个activeAt的唯一用户ID数
- python - 如何在 pygame 屏幕上放置文本?