Przede wszystkim przy rejestracji musisz wymagać od użytkownika podania emaila, najlepiej jeszcze wymagać, aby w bazie mógł istnieć tylko jeden taki email - każdy był unikatowy. Następnie w tym skrypcie, którego kod podesłałeś podmienić login na email.
Widzę, że korzystasz z mysqli jest ono dość przestarzałem i mniej bezpieczne od PDO, z którego polecam zacząć korzystać.
I też widzę, że korzystasz z @, w celu zatuszowania errorów. Jeśli się mylę to niech mnie ktoś poprawi, ale z tego co się orientuję to w najnowszym php8 zostało to usunięte. Aczkolwiek czy zostało usunięte czy nie to i tak nie jest dobre dla jakości kodu. Wyjątki powinny być łapane i odpowiednio obsługiwane.
Jeśli bardzo zależy ci na jakości kodu to polecam zapoznać się z tym tutorialem: tutorial, a wcześniej oczywiście z tematem obiektowości php.