From 0d7ecc616d669f824f8416b47a0a986b46fa579b Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Fri, 15 Aug 2025 22:41:54 +0500 Subject: feat: registration page --- register.php | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 register.php (limited to 'register.php') diff --git a/register.php b/register.php new file mode 100644 index 0000000..0804d3d --- /dev/null +++ b/register.php @@ -0,0 +1,105 @@ + 20) { + exit(json_response(400, 'Your username must be between 4 and 20 characters long', null)); + } + + if (strlen($password) < 8) { + exit(json_response(400, 'Your password must be at least 8 characters long', null)); + } + + $db = new PDO(DB_URL, DB_USER, DB_PASS); + + // checking for already existing accounts + $stmt = $db->prepare('SELECT id FROM users WHERE username = ?'); + $stmt->execute([$username]); + if ($stmt->rowCount() > 0) { + exit(json_response(409, 'This username has been taken.', null)); + } + + $userid = 0; + do { + $userid = random_int(90_000_000_000_000_000, 99_000_000_000_000_000); + $stmt = $db->prepare('SELECT username FROM users WHERE id = ?'); + $stmt->execute([$userid]); + } while ($stmt->rowCount() > 0); + + $password = password_hash($password, PASSWORD_DEFAULT); + $db->prepare('INSERT INTO users(id, username, `password`) VALUES (?, ?, ?)') + ->execute([$userid, $username, $password]); + + $stmt = $db->prepare('SELECT id, username, joined_at FROM users WHERE id = ?'); + $stmt->execute([$userid]); + $user = $stmt->fetch(PDO::FETCH_ASSOC) ?: null; + + exit(json_response(200, null, $user)); +} +?> + + + + + Register - id + + + + +
+ + +
+

Register new ilt.su account

+ +
+
+
+

Account credentials

+
+
+
+ + +
+
+
+ + +
+
+
+
+
+
+ + +
+
+ +
+
+
+ + + \ No newline at end of file -- cgit v1.2.3