Les session_start en php doivent toujours être début de script, avant toutes lignes de code (php et html inclus)
Préfère la syntaxe alternative quand tu mélanges php et html //
Les test avec isset ne devrait pas être dans l'HTML
Les sessions n'étaient pas obligatoire pour cet exo, tu t'es un peu compliqué la vie.
Si je remplis le formulaire avec des espaces sans rien d'autres, ça passe et ça ne devrait pas. Utilise la fonction trim() qui enlève les espaces devant et derrière une chaîne de caractère.