【问题标题】:Going from database to sessions从数据库到会话
【发布时间】:2012-03-14 04:51:41
【问题描述】:

好吧,我的注册工作做得很好,因为它包含您的电子邮件、姓名和密码的必填字段。当您登录时,它会询问您的电子邮件和密码。

当他们登录时,我有它,以便他们将他们的电子邮件存储在会话中,但是我如何将他们的名字存储在会话中,即使他们没有键入它?谢谢。

问题是,我不知道用户的名字所以...

【问题讨论】:

  • 登录时,从数据库中提取名字并将其填充到会话中?
  • 我试过调出名字,但它不起作用。它的代码是什么?
  • 我太糊涂了。这是基于数据库连接还是基于会话的问题?
  • 在您的数据库中查找并设置会话变量。
  • 在不知道您的表是如何设置的情况下无法给您任何代码,但类似于SELECT firstname FROM users WHERE email='someone@example.com'?

标签: php mysql session login


【解决方案1】:

当用户使用他们的用户名/密码登录并验证信息后,查询数据库以获取他们的记录。将返回的值设置到会话中。如果您已经获得有关帐户的信息,请添加表连接(如果在单独的表中)或列。

【讨论】:

  • 我尝试过,但它永远不会奏效。我不认为我在查询它是正确的。它的代码是什么?
  • 添加一些你处理过的代码。它将帮助人们了解您尝试了什么、您使用的语言以及您需要做些什么来修复它。
【解决方案2】:

当他们登录并且您正在检查登录凭据(电子邮件和密码)时,如果您找到该用户,请选择他们的名字并将其存储在另一个会话变量中:

$query = 'SELECT firstname FROM users WHERE email = $email AND password = $password LIMIT 1';
...
if ($result && mysql_num_rows($result) == 1) {
    $row = mysql_fetch_object($result);
    $_SESSION['firstname'] = $row->firstname;
    ...

根据表名和列名,这可能并不准确,但这是一般的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-27
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    相关资源
    最近更新 更多