我正在做一个登录系统,我想在验证用户时显示一条欢迎消息。我解释。这是数据库:登录时的用户使用用户名,但我希望在欢迎消息中显示它的名字。我拥有的是一个选择正在登录的用户名的所有信息的功能。登录管理器.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'];
森栏
TA贡献1810条经验 获得超5个赞
我找到了一个解决方案:
添加一个变量来存储所有数据:
$var = @$this->data["erp_users"] = $dds[0]["firstname"];
然后在会话中:
$_SESSION["username"] = $var;
- 2 回答
- 0 关注
- 157 浏览
添加回答
举报
0/150
提交
取消
