您好我的登录会话有问题。当我记录用户时,我创建了一个
$_SESSION['username']
重定向用户
header('location:profile.php?user='.$_SESSION['username']);
当我在数据库中编辑用户用户名时出现问题,因为会话不再与用户名匹配。我试图破坏会话并在更新时创建新会话但是用户显示为未登录,并且在链接中它是相同的旧会话。
答案 0 :(得分:2)
在这种情况下,您需要一个唯一的永久标识符,可以将会话链接到数据库行。与此匹配的典型行是用户ID,而不是用户名。
如果您需要用户名,可以根据您的标识符运行查询,并从那里继续编写脚本。
当然,还有其他领域和方法可以帮助您实现这一目标,但是从中获得的主要思想是不使用可以修改的标识符。正如您已经发现的那样,这样做会导致会话和数据库不同步。