start with BCIDs

This commit is contained in:
Bye 2023-10-31 20:21:33 +00:00
parent 25baabc482
commit 2260294a6b
6 changed files with 140 additions and 36 deletions

7
head.php Normal file
View file

@ -0,0 +1,7 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php if (isset($doc_title)) { echo $doc_title." | "; } ?>ByeCorps ID</title>
<link rel="stylesheet" href="/styles/global.css">
<link rel="stylesheet" href="/fontawesome/css/all.css">

34
id_handler.php Normal file
View file

@ -0,0 +1,34 @@
<?php
function ganerate_bcid() {
$CHARS = str_split("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890");
return $CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)];
}
function validate_bcid($bcid) {
$stripped_bcid = str_replace([" ", "-"], "", $bcid);
$stripped_bcid = strtoupper($stripped_bcid);
if (!preg_match('/^[^A-Z^0-9]^/', $stripped_bcid) && strlen($stripped_bcid) == 7) {
return 1;
}
return 0; // fail condition
}
$BCID = ganerate_bcid();
echo "<pre>";
echo "Random BCID (unformatted): $BCID
";
echo "Check if BCID is valid: ".validate_bcid($BCID)."
";
if ($query['bcid']) {
echo "BCID provided in the query: ".$query['bcid']."
";
echo "Checking the BCID provided in the query: ".validate_bcid($query['bcid'])."
";
}
?>

View file

@ -2,10 +2,13 @@
session_start(); session_start();
include("config.php");
$host_string = $_SERVER['HTTP_HOST']; $host_string = $_SERVER['HTTP_HOST'];
$host = explode('.', $host_string); $host = explode('.', $host_string);
$uri_string = $_SERVER['REQUEST_URI']; $uri_string = $_SERVER['REQUEST_URI'];
$query_string = explode('?', $uri_string); $query_string = explode('?', $uri_string);
$path = $query_string[0];
$uri = array_values(array_filter(explode('/', $uri_string))); $uri = array_values(array_filter(explode('/', $uri_string)));
if(isset($query_string[1])) { if(isset($query_string[1])) {
@ -21,37 +24,43 @@ else {
$query = array(); $query = array();
} }
$include = "404.html";
// routing
if (!$uri) {
// empty array means index
$include = "landing.html";
}
else if ($path == "/signin") {
$doc_title = "Sign in";
include("signin.php");
exit;
}
else if ($path == "/register") {
$doc_title = "Register";
include("register.php");
exit;
}
else if ($path == "/tests/id") {
include("id_handler.php");
exit;
}
else {
$doc_title = "404";
http_response_code(404);
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <?php include("head.php"); ?>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ByeCorps ID</title>
<link rel="stylesheet" href="/styles/global.css">
<link rel="stylesheet" href="/fontawesome/css/all.css">
</head> </head>
<body> <body>
<?php include("header.php"); ?> <?php include("header.php"); ?>
<main> <main>
<?php <?php include($include); ?>
// routing
if (!$uri) {
// empty array means index
include("landing.html");
}
else if ($query_string[0] == "/signin") {
include("signin.php");
}
else {
http_response_code(404);
include("404.html");
}
?>
</main> </main>
<?php include("footer.php"); ?> <?php include("footer.php"); ?>
</body> </body>

View file

@ -1,5 +1,4 @@
<main> <div class="hero">
<div class="hero">
<div class="hero-text"> <div class="hero-text">
<h1><span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span></h1> <h1><span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span></h1>
<p>Log into ByeCorps and beyond with a single ID.</p> <p>Log into ByeCorps and beyond with a single ID.</p>
@ -7,5 +6,4 @@
<a href="/signin" class="button primary">Sign in</a> <a href="/signin" class="button primary">Sign in</a>
<a href="/register" class="button">Create an account</a> <a href="/register" class="button">Create an account</a>
</div> </div>
</div> </div>
</main>

56
register.php Normal file
View file

@ -0,0 +1,56 @@
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$DB_SERVER = DB_ADDRESS;
$DB_USER = DB_USERNAME;
$DB_PASSWD = DB_PASSWORD;
$DB_BASE = DB_DATABASE;
$email = $_POST['email'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
try {
$conn = new PDO("mysql:host=$DB_SERVER;dbname=$DB_BASE", $DB_USER, $DB_PASSWD);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO `accounts` (`email`, `password`, `verified`) VALUES ('$email', '$password', '0')";
try{
$stmt = $conn->prepare($sql);
$stmt->execute($query);
$result = $stmt->fetch();
echo "Failed successfully: $result";
} catch (PDOException $e) {
http_response_code(500);
die("An error occured: $e");
}
}
catch(PDOException $e) {
die ("Connection failed: " . $e->getMessage());
}
echo '<pre>';
print_r($_POST);
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php include("head.php"); ?>
</head>
<body>
<?php include("header.php"); ?>
<main>
<h2>Sign in</h2>
<form action="#" method="post">
<input type="email" name="email" id="email" placeholder="Email">
<input type="password" name="password" id="password" placeholder="Password">
<button type="submit">Submit</button>
</form>
</main>
<?php include("footer.php"); ?>
</body>
</html>

View file