65 lines
1.6 KiB
PHP
65 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
|
|
$inputs = [
|
|
"username" => $_POST["username"],
|
|
"pwd" => $_POST["pwd"]
|
|
];
|
|
|
|
try {
|
|
require_once "dbh.inc.php";
|
|
require_once "login_model.inc.php";
|
|
require_once "login_view.inc.php";
|
|
require_once "login_contr.inc.php";
|
|
|
|
$errors = [];
|
|
|
|
if (isEmpty($inputs)) {
|
|
$errors = ["null_field" => "Form contains blank characters."];
|
|
}
|
|
|
|
if (!does_user_exist($pdo, $inputs["username"])) {
|
|
$errors = ["incorrect_credentials" => "Incorrect credentials"];
|
|
} else {
|
|
if (!does_Password_match($pdo, $inputs["username"], $inputs["pwd"])){
|
|
$errors = ["incorrect_credentials" => "Incorrect credentials"];
|
|
}
|
|
}
|
|
|
|
require_once "config_session.inc.php";
|
|
|
|
if ($errors) {
|
|
|
|
$_SESSION["errors"] = $errors;
|
|
|
|
// Send back form
|
|
$entered_data = [
|
|
"username" => $inputs["username"]
|
|
];
|
|
|
|
$_SESSION["entered_login_data"] = $entered_data;
|
|
|
|
header("Location: ../chat.php");
|
|
|
|
$inputs = null;
|
|
die();
|
|
}
|
|
|
|
$_SESSION["username"] = htmlspecialchars($inputs["username"]);
|
|
|
|
$inputs = null;
|
|
header("Location: ../chat.php");
|
|
die();
|
|
|
|
} catch (PDOException $e) {
|
|
echo "An error has ocurred: " . $e->getMessage();
|
|
exit();
|
|
}
|
|
} else {
|
|
echo("Wrong request type, please check your request.");
|
|
header("Location: ../chat.php");
|
|
exit();
|
|
} |