diff --git a/src/webserver/auth/login.php b/src/webserver/auth/login.php new file mode 100644 index 0000000..d531737 --- /dev/null +++ b/src/webserver/auth/login.php @@ -0,0 +1,66 @@ + + +

All Whomst Wander

+ +

Login

+ +prepare("SELECT * FROM Players p JOIN PlayerAuth pa ON p.id = pa.player_id WHERE p.nickname = :nickname AND p.is_active"); + if ($login_stmt) { + $login_stmt->bindValue(':nickname', $_POST['nickname']); + $login_result = $login_stmt->execute(); + if ($login_result) { + $player_record = $login_result->fetchArray(); + if ($player_record) { + if (!password_verify($_POST['password'], $player_record['hashed_pw'])) { + array_push($errors, "No user found with that username and password."); + } else { + $_SESSION['nickname'] = $player_record['nickname']; + $_SESSION['player_id'] = $player_record['id']; + } + } else { + array_push($errors, "No user found with that username."); + } + } + } + } + + if (sizeof($errors) > 0) { + foreach ($errors as $e) { + echo "

" . $e . "

\n"; + } + echo "

Register a new account, reset your password, or try again.

"; + loginForm(); + } else { + echo "

You are now logged in as " . $_SESSION['nickname'] . "

\n"; + echo "

Play now

\n"; + echo "

Log out

\n"; + } + } + + require_once(realpath(dirname(__FILE__) . '/../footer.php')); + + function loginForm() { +?> +
+

+

+

+
+ diff --git a/src/webserver/auth/logout.php b/src/webserver/auth/logout.php new file mode 100644 index 0000000..feb7555 --- /dev/null +++ b/src/webserver/auth/logout.php @@ -0,0 +1,34 @@ + + + +

All Whomst Wander

+ +

Log Out

+ +

Thanks for playing! You are now logged out. Log In

+ + diff --git a/src/webserver/index.php b/src/webserver/index.php new file mode 100644 index 0000000..24adde2 --- /dev/null +++ b/src/webserver/index.php @@ -0,0 +1,19 @@ + + +

All Whomst Wander

+ +You are logged in as " . $_SESSION['nickname'] . ". Log out

"; + } else { + echo "

You are not logged in. Log in

"; + } + + require_once(realpath(dirname(__FILE) . '/footer.php')); +?> + +