prepare("SELECT id, invite_code_expires_at FROM servers WHERE invite_code = ?"); $stmt->execute([$invite_code]); $server = $stmt->fetch(); if (!$server) { $can_register = false; $error = "Invalid invite code."; } elseif (!empty($server['invite_code_expires_at']) && strtotime($server['invite_code_expires_at']) < time()) { $can_register = false; $error = "Invite code has expired."; } else { $target_server_id = $server['id']; } } if ($can_register) { $hash = password_hash($password, PASSWORD_DEFAULT); try { $stmt = db()->prepare("INSERT INTO users (username, display_name, email, password_hash) VALUES (?, ?, ?, ?)"); $stmt->execute([$username, $username, $email, $hash]); $userId = db()->lastInsertId(); // Add to target server $stmt = db()->prepare("INSERT IGNORE INTO server_members (server_id, user_id) VALUES (?, ?)"); $stmt->execute([$target_server_id, $userId]); $_SESSION['user_id'] = $userId; header('Location: ../index.php'); exit; } catch (Exception $e) { $error = "Registration failed: " . $e->getMessage(); } } } else { $error = "Please fill all fields."; } } ?> Register | Discord Clone

Create an account

>