【问题标题】:Getting values from a table based on Session data根据 Session 数据从表中获取值
【发布时间】:2011-08-09 18:35:08
【问题描述】:

我正在构建的一个网站有一个管理部分。

它登录的变量是电子邮件地址和密码。

显然,每个电子邮件地址对于每个管理员都是唯一的,尽管我确实有一个“admin_id”列,每行会自动递增。

存储在我的管理表中的其他列是 - 名字(字符串)、姓氏(字符串)、级别(整数)。

我试过了——

$_SESSION['admin_id']=$_GET['admin_id'];

但是当我尝试简单地回显 id 时,没有显示任何内容。

然而这行代码:

if(!isset($_SESSION['admin_email'])) 
die("<meta http-equiv='refresh' content='0; url=login.php'> ");

设法从表中获取“Admin_email”列。

我很困惑如何将其他列添加到我的会话数据中。

提前非常感谢。

【问题讨论】:

  • 您记得在$_SESSION['admin_id']=$_GET['admin_id']; 之前调用session_start() 并且实际上$_GET['admin_id'] 中有一个值??
  • 是 session_start();在第二行,就在
  • 您是如何“获取”身份证/电子邮件的?运行 MySQL 查询的脚本是否重定向到包含它们的 URL?或者您正在对其进行 AJAX 处理并根据返回的数据设置会话?

标签: php session session-variables


【解决方案1】:

我已经弄清楚为什么“admin_id”没有成功从数据库中检索出来。

管理员首先必须对其进行身份验证的 login.php 是保存会话数据的位置 - 以便在登录后在管理员会话中使用它。

为了解决这个问题,我在 login.php 中添加了以下行(同时从数据库中检索了电子邮件地址):

$dblevel = $row['level']; 

然后将其保存到会话中:

$_SESSION['admin_level']=$dblevel; 

我注销然后重新登录以重新启动会话并且它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2012-02-03
    • 2019-12-03
    • 1970-01-01
    • 2016-01-17
    相关资源
    最近更新 更多