How can password authentication be implemented securely for both administrators and users in a PHP script?

To implement secure password authentication for both administrators and users in a PHP script, it is recommended to use password hashing functions like password_hash() and password_verify(). This ensures that passwords are securely stored in a hashed format and can be verified without exposing the actual password in the code.

// Example code snippet for password authentication using password_hash() and password_verify()

// Assuming $username and $password are obtained from user input

// Check if user is an administrator
$is_admin = checkIfUserIsAdmin($username);

// Fetch the hashed password from the database
$stored_password = getStoredPasswordFromDatabase($username);

if ($stored_password && password_verify($password, $stored_password)) {
    if ($is_admin) {
        // Redirect to admin dashboard
    } else {
        // Redirect to user dashboard
    }
} else {
    // Invalid username or password
}

function checkIfUserIsAdmin($username) {
    // Implement logic to check if user is an administrator
}

function getStoredPasswordFromDatabase($username) {
    // Implement logic to fetch hashed password from the database
}