Lieber Rolf,
aber wie macht man es richtig?
man behandelt den $_POST-Wert entsprechend und packt ihn dann in eine Query. Mit dieser muss man dann feststellen können, ob es einen solchen User überhaupt gibt. Wenn ja, kann man den User-Namen in die Session schreiben. Aber erst nach dieser Prüfung und nicht ungeprüft aus dem $_POST-Array. Im Code des OP ist von einer solchen Prüfung nichts zu sehen.
Es wäre doch auch falsch, in $_SESSION['username'] einen für SQL oder HTML behandelten Wert abzulegen.
Da stimme ich Dir vorbehaltlos zu. Der Wert in $_SESSION['username'] muss ein geprüfter Wert im Klartext sein.
Was macht man, wenn ein User aus welchen Gründen auch immer ein oder mehrere Leerzeichen um seinen User-Namen hat? Das muss ja auch getrimmt werden. Und wenn man den $_POST-Wert schon trimmt, dann ist es noch unsinniger, $_POST direkt nach $_SESSION zu kopieren.
Liebe Grüße
Felix Riesterer