Nawet jeśli użytkownik przypadkowo wcisnął inną literkę (nie tylko średnik) i wyśle zamiast "Bartek" - "Bartekl" i też nie będzie mógł się zalogować

poza tym od tego są funkcje (np. htmlspecialchars), które przed wyświetleniem neutralizują groźny kod, czy to HTML czy JS, oraz funkcje chroniące przed atakami na bazę danych (mysqlowe escape).
Wracają do loginów przy rejestracji. Sam miałem z tym dylemat i doszedłem do wniosku, że najlepiej, gdy użytkownik może używać tylko znaków alfanumerycznych i ewentualnie znaku "_". Jeśli użytkownik wpisze inne znaki, formularz poinformuje go błędem. Sprawdzić to można funkcją np. ctype_alnum