Changes:
- Allowed an issues with connecting to the database to correctly print out an error. This wasn't being caught before.
- Moved the prepare statement out of the for loop for the install process.
- Reworked the authenticate system so that a function called checkAuthenticationDetails() is used to check the user details, the result of which is then used to determine if the user should log in or not. Also re-formatted the code in this file.
- Abstracted the logged in header into a template file and included it on the index and page pages.
- Updated the default PHP version to 8.3.
- Updated the return type of the checkAuthenticationDetails() function to be a boolean, not a string.