Username changing is under development, and issues may happen.
prepare('SELECT * FROM users WHERE Username = :username'); $FindUser->execute(['username' => htmlspecialchars($username)]); $row = $FindUser->fetch(PDO::FETCH_ASSOC); if ($row) { echo('Username is taken
'); return; } if ($username === $info["Username"]) { echo('You can't repeat your username
'); return; } if (containsSwearWords($username, $swearWords) || $username == "LocalPlayer") { echo('Swear words arent allowed buddy.
'); return; } if (!preg_match("/^[a-zA-Z0-9]+$/", $username)) { echo('Usage of special characters arent allowed...
'); return; } if (strlen($username) <= 2 || strlen($username) >= 20) { echo('Username must be in between 3-20 characters.
'); return; } $getPreviousStmt = $pdo->prepare("SELECT previousUsernames FROM users WHERE UserId = :userid"); $getPreviousStmt->execute(['userid' => $info["UserId"]]); $prevData = $getPreviousStmt->fetch(PDO::FETCH_ASSOC); $previousUsernames = []; if (!empty($prevData['previousUsernames'])) { $decoded = json_decode($prevData['previousUsernames'], true); if (json_last_error() === JSON_ERROR_NONE && is_array($decoded)) { $previousUsernames = $decoded; } } $previousUsernames[] = $info["Username"]; $updateQuery = $pdo->prepare("UPDATE users SET Username = :username, previousUsernames = :previousUsernames WHERE UserId = :userid"); $updateQuery->bindParam(':username', $username); $updateQuery->bindValue(':previousUsernames', json_encode($previousUsernames), PDO::PARAM_STR); $updateQuery->bindParam(':userid', $info["UserId"]); $updateSuccess = $updateQuery->execute(); if ($updateSuccess) { echo(""); exit(); } else { echo('An Unknown Error happened while changing your username.
'); } } else { echo('Incorrect Password
'); return; } } ?>