簡體   English   中英

如何在會話中從數據庫回顯?

[英]How to echo from database in session?

我對 PHP $_SESSION 有問題。

成功登錄/注冊后,我在索引頁面中只看到“用戶名”。 當我將 $_SESSION['username'] 更改為 $_SESSION['password'] 時也會顯示。

我需要顯示“積分”值,該值在登錄/注冊時不是由用戶定義的(注冊后自動添加到用戶中)

如何從數據庫中回顯用戶未插入的值?

    if (isset($_POST['login_user'])) {
        $username = mysqli_real_escape_string($db, $_POST['username']);
        $password = mysqli_real_escape_string($db, $_POST['password']);

        if (empty($username)) {
            array_push($errors, "Please write username");
        }
        if (empty($password)) {
            array_push($errors, "Please write password");
        }

        if (count($errors) == 0) {
            $password = md5($password);
            $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
            $results = mysqli_query($db, $query);

            if (mysqli_num_rows($results) == 1) {
                $_SESSION['username'] = $username;
                $_SESSION['success'] = "Logged in ";
                header('location: index.php');
            }else {
                array_push($errors, "Something went wrong");
            }
        }
    }```

嘗試:

...
if (mysqli_num_rows($results) == 1) {
   $row=mysqli_fetch_assoc($result);

   //check the data you get from the BD
   var_dump($row);die; 
   // you'll get an array with you data where you'll find the points
   // then just assign it to a session

   $_SESSION['user_points'] = $row['user_points']; // for example

   $_SESSION['username'] = $username;
   $_SESSION['success'] = "Logged in ";
   header('location: index.php');
}
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM