I have php database file labeled database.php
. When I test my connection error script in database.php
, I pass in the directory files ($mysqli = require __DIR__ . "/database.php";
) to my validation file labeled auth.php
& change $password
in database.php
, but Im getting a blank page instead of the connection error script (die("Connection error: " . $mysqli->connect_error);
).
What is the issue?:
database.php
<?php
$host = "localhost";
$dbname = "login_db";
$username = "root";
$password = "xxx";
# connect to sql database
$mysqli = new mysqli(hostname: $host,
username: $username,
password: $password,
database: $dbname);
if ($mysqli->connect_errno) {
die("Connection error: " . $mysqli->connect_error);
}
return $mysqli;
?>
auth.php
<?php
# Register validation
if (empty($_POST["Username"])) {
die("ERROR: Enter a Username");
}
if (strlen($_POST["Password"]) < 10) {
die("Password must be at least 10 characters");
}
if (! preg_match("/[A-Z]/i", $_POST["Password"])) {
die("Password must contain at least one capital letter");
}
if (! preg_match("/[0-9]/", $_POST["Password"])) {
die("Password must contain at least one number");
}
if (! preg_match("/[^a-zA-Z0-9]/", $_POST["Password"])) {
die("Password must contain at least one symbol");
}
if ($_POST["Password"] !== $_POST["ConfirmPassword"]) {
die("Password must match");
}
if (! is_numeric($_POST["Pin"])) {
die("Pin must contain numbers only");
}
if ($_POST["Pin"] !== $_POST["ConfirmPin"]) {
die("Pin must match");
}
#Password/Pin Hash
$password_hash = password_hash($_POST["Password"], PASSWORD_DEFAULT);
$confirm_password_hash = password_hash($_POST["ConfirmPassword"], PASSWORD_DEFAULT);
$pin_hash = password_hash($_POST["Pin"], PASSWORD_DEFAULT);
$confirm_pin_hash = password_hash($_POST["ConfirmPin"], PASSWORD_DEFAULT);
$mysqli = require __DIR__ . "/database.php";
print_r($_POST);
var_dump($password_hash);
var_dump($confirm_password_hash);
var_dump($pin_hash);
var_dump($confirm_pin_hash);
?>
I’ve tried changing the directory file direction, but to no avail. I’ve attached a screenshot of my VSCode folder path for more context.