if((!isset($error)) and (!ereg("^[_0-9a-z]*$",$nicker))) $error="Le pseudo doit être composé de lettres, de chiffres et de traits de soulignement ";
Cela signifie que les deux doivent être jugés, pas seulement une, donc utiliser et et ou est utilisé pour juger une seule condition.