如果我在记录时编辑用户名,则会话登录问题

时间:2014-03-03 10:13:40

标签: php mysql

您好我的登录会话有问题。当我记录用户时,我创建了一个

$_SESSION['username']

重定向用户

header('location:profile.php?user='.$_SESSION['username']);

当我在数据库中编辑用户用户名时出现问题,因为会话不再与用户名匹配。我试图破坏会话并在更新时创建新会话但是用户显示为未登录,并且在链接中它是相同的旧会话。

1 个答案:

答案 0 :(得分:2)

在这种情况下,您需要一个唯一的永久标识符,可以将会话链接到数据库行。与此匹配的典型行是用户ID,而不是用户名。

如果您需要用户名,可以根据您的标识符运行查询,并从那里继续编写脚本。

当然,还有其他领域和方法可以帮助您实现这一目标,但是从中获得的主要思想是不使用可以修改的标识符。正如您已经发现的那样,这样做会导致会话和数据库不同步。