Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyświetlana nazwa PHP logowania użytkownika

Nie wybrałeś nazwy i pobierasz ją.

$sql = 'SELECT email, password, name FROM admin WHERE email = ?';

lub

$sql = 'SELECT * FROM admin WHERE email = ?';

powinien rozwiązać problem.

Dodatkowe:możesz usunąć wszystkie swoje instrukcje else, ponieważ wszystkie dadzą ten sam wynik.

<?php

include_once "inc/user-connection.php";

session_start();

$name = $_POST['name'];
$password = $_POST['password'];
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$email = $_POST['email'];
$username = $_POST['username'];

if (isset($_POST['admin-sign-in'])) {
    if (!empty($email)) {
        if (!empty($password)) {
            $sql = 'SELECT * FROM admin WHERE email = ?';

            // preparing the SQL statement
            if ($stmt = $conn->prepare($sql)) {
                $stmt->bind_param('s', $_POST['email']);
                $stmt->execute();
                $stmt->store_result(); // Store the result so we can check if the account exists in the database.

                // If email exists in sign_up table
                if ($stmt->num_rows > 0) {
                    $stmt->bind_result($email, $password, $name);
                    $stmt->fetch();

                    // if password user enters matches the one in the database
                    if (password_verify($password, $hashed_password)) {
                        $query = mysqli_query($conn, $sql);
                        $row = mysqli_fetch_array($query);
                        $_SESSION['name'] = $row['name'];

                        // upon successful login, redirect user to landing apge
                        header("location: dashboard.php");
                        die();
                    }
                }
                $stmt->close();
            }
        }
    }
    header("location: ../html/404-error.html");
    die();
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PRZESYŁAJ na DZIESIĘTNY w MySQL

  2. Błąd pola unikatowego MySQL 1500 varchar (nr 1071 — określony klucz jest za długi)

  3. Laravel Eloquent uzyskuje wyniki pogrupowane według dni

  4. nie mogłem skompilować procedury mysql dla kursorów

  5. Dlaczego MYSQL wyższe przesunięcie LIMIT spowalnia zapytanie?