What are some best practices for implementing a username and password authentication system in PHP without using an SQL database?

When implementing a username and password authentication system in PHP without using an SQL database, one approach is to store user credentials in a PHP array. This array can be hardcoded in the PHP script or stored in a separate configuration file. By comparing the input username and password with the values in the array, authentication can be achieved without the need for a database.

<?php

// Hardcoded user credentials
$users = array(
    'user1' => 'password1',
    'user2' => 'password2',
    'user3' => 'password3'
);

// Check if the submitted username and password match the stored credentials
$username = $_POST['username'];
$password = $_POST['password'];

if (array_key_exists($username, $users) && $users[$username] === $password) {
    echo 'Authentication successful';
} else {
    echo 'Authentication failed';
}

?>