为了账号安全,请及时绑定邮箱和手机立即绑定

如何从数组索引创建 $_SESSION?

如何从数组索引创建 $_SESSION?

PHP
杨魅力 2022-06-11 10:33:44
我正在做一个登录系统,我想在验证用户时显示一条欢迎消息。我解释。这是数据库:登录时的用户使用用户名,但我希望在欢迎消息中显示它的名字。我拥有的是一个选择正在登录的用户名的所有信息的功能。登录管理器.phppublic function obtenirDades($usuari)    {        //Obtenim les dades de la base de dades        $sql = " SELECT * FROM erp_user WHERE username = '$usuari'";        $cons = (BdD::$connection)->prepare($sql);        $ok = $cons->execute();        $cons->setFetchMode(PDO::FETCH_ASSOC);        $resultat = $cons->fetchAll();        /*var_dump($resultat);        die();*/        return $resultat;    }然后在 LoginController.php 中获取 $_POST 信息,调用该函数以显示数据库信息,并使用 LDAP 验证用户。登录控制器.php<?phpif (!isset($_SESSION)){    session_start();}class LoginController extends Controller{    public function process($params)    {        //EN EL LOGIN VALIDEM L'USUARI I CONTRASENYA        if (isset($_POST["login"])) {            /*HERE WE INSTANTIATE LOGINMANAGER SO WE CAN USE IT'S FUNCTIONS*/            $manager = new LoginManager();            /*WE OBTAIN THE POST DATA*/            $usuari = $_POST["usuari"];            $password = $_POST["password"];            //HERE WE USE THE FUNCTION TO OBTAIN INFORMATION FROM THE DATABASE            $dds = $manager->obtenirDades($usuari); `WE`            @$this->data["erp_users"] = $dds[0]["firstname"];            if($manager->valida($usuari, $password)){                //validació de ldap i redirecció si es professor o alumne                if ($manager->valida($usuari, $password) && $dds[0]["type"] == "PROFESSORS") {                    $_SESSION["username"] = $usuari;                    var_dump($dds);                    die();                    header("Location: professor");当我做一个 var_dumb($dds) 我得到:
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

您的会话数据包含用户名。您需要使用名字创建会话。函数 obtenirDades() 返回多行,因为您使用的是 fetchAll() 方法。由于它是一个登录函数,因此请使用 fetch() 方法,该方法返回单个键/值数组。然后存储在会话中,您将执行以下操作

 $_SESSION["firstname"] = $dds['firstname'];


查看完整回答
反对 回复 2022-06-11
?
森栏

TA贡献1810条经验 获得超5个赞

我找到了一个解决方案:

添加一个变量来存储所有数据:

$var = @$this->data["erp_users"] = $dds[0]["firstname"];

然后在会话中:

$_SESSION["username"] = $var;


查看完整回答
反对 回复 2022-06-11
  • 2 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号