Bonjour,
Il faut que tu ajoutes dans ton test : Si $_POST n'existe on affiche rien.
Par contre, je pense qu'il ne faut pas utiliser AND mais OR car sinon il y a erreur si : " $pseudo est vide ET $email est vide ...". Pour resumer je pense que si il manque qu'une infos l'erreur ne s'affiche pas.
Moi je marquerai :
<?php
if( (empty($pseudo) OR empty($email) OR empty($pass)) AND !empty($_POST) )
{
$valid = false;
$erreur = 'Veuillez saiser tous les champs';
}
?>