Pour faire ton truc, je te conseille de lire le comment faire sur le livre d'or.
http://www.lephpfacile.com/howto/detail_rubrik.php?voir_rubrik=5
Dessus, la verification et l'insertion dans la BD se fait sur la meme page que le formulaire.
Et donc quand un champ est vide, le formulaire n'est pas validé, et ca reaffiche quand meme les infos saisies dans le formulaire.
A partir de la, tu devrais t'en sortir.
1) Tu testes si tous les champs sont saisis
2) tu verifies la correspondance entre $passe1 et $passe2 et entre $mail1 et $mail2
3) Tu testes si le pseudo est deja pris
4) Tu inseres
Sinon, regarde aussi le code source de DA Forum, les pages reply.php ou topic.php, tu verras comment je gere ce genre de truc avec les formulaire (form et traitement dans la meme page, et reaffichage du form si il manque des valeurs ou si un truc ne va pas. Avec un plus, une boite de dialogue gérée avec la variable $erreur qui annonce ce qui ne va pas).