PDO登录获取用户名


PDO Login get Username

当他们访问管理员时,我如何回显用户名.php?我试图喜欢包含文件并制作其他会话等,但它不起作用。用户.php:

<?php 
session_start();
include_once("answerslutning.php");

class User{
    private $db;
    public function __construct(){
        $this->db = new Anslutning();
        $this->db = $this->db->dbConnect();
        }
    public function Login($username, $password){
        if(!empty($username) && !empty($password)) {
            $st = $this->db->prepare("select * from users where username =? and password=?");
            $st->bindParam(1, $username);
            $st->bindParam(2, $password);
            $st->execute();
            if($st->rowCount() == 1) {
                header("Location: admin.php");
                $_SESSION['inloggad']="true";
                }else {
                    echo "Fel Användarnamn eller Lösenord!";
                    }

            }else {
                echo "Var vänlig och skriv in ett Användarnamn och Lösenord!";
                }

        }


    }

?>

管理员.php

<?php
session_start();
if($_SESSION['inloggad']!="true") {
    header ("Location: loggain.php");
    }
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> 
    <?php include "../include/head.php" ?>
    <title>Swebby | Admin</title>
</head>
<body>
    <div class="container">
        <a href="loggaut.php">Logga UT</a>
    </div>
</body>
</html>

所以我的问题是..如何让它回显出管理员,php 上的用户名?谢谢!!

您需要查看的内容很少。

  1. 将此$row = $st->fetch(PDO::FETCH_ASSOC);放在$st->execute();下面
  2. 在用户登录时为您的用户名创建会话。
    $_SESSION['username'] = $row['username'];放在$_SESSION['inloggad']="true";
    下方 这假定"用户名"是数据库中用户名字段的名称

然后,您可以像这样回显用户名<?php echo $_SESSION['username'] ?>