Que tu traites sur la même page ou sur une autre page n'as qu'une importance très relative, ça me facilite la vie lors de la validation.
La différence entre <br> et <br />, c'est que le premier est en HTML 4 et le second en XHTML.
Quant au "\n", c'est un retour chariot qui fait que le code généré ne se retrouve pas sur une seule et même ligne, ça n'apparait pas à l'affichage, mais si tu affiches la source, chaque ligne terminée par \n s'arrête là et la suite du code reprend à la ligne suivante Ça a l'avantage de permettre de vérifier si le code html généré est correct en le rendant lisible plus facilement.
Comment fonctionne le code proposé :
- 1 je vérifie que le bouton submit a été cliqué ;
- S'il l'a été, je passe à la phase traitement, sinon, j'affiche le formulaire;
- Si je rentre dans la phase traitement, je récupère les valeurs du formulaire et j'affiche les résultats;
Quelle différence alors : dans le code du formulaire, j'ai modifié très peu de chose si ce n'est que j'ai mis les valeurs d'attributs de certaines balises entre guillemets s'ils ne l'étaient pas. J'ai aussi modifié la valeur de l'attribut action pour permettre un rechargement de la page sur elle même. Si tu veux traiter sur une autre page, pas de problème, tu remets ce que tu avais mis.
Je préfère personnellement le traitement sur la même page pour la raison suivante: lors de la validation, je fais afficher à nouveau le formulaire en cas de valeurs invalides de façon à ce que l'internaute corrige. Je n'ai ainsi pas besoin de revenir sur la page précédente. Je t'invite à télécharger
un formulaire modèle que j'avais conçu il y a quelques temps déjà pour voir la phase de validation d'un formulaire complet. Suis bien les commentaires du code, ils ont leur importance pour la compréhension.