Bueno, intentemos un poco de codigo.
Al principio del script inicializas la variable:
Luego haces en tus condiciones de error:
Código PHP:
if(empty($_POST['nick'])){
$errores.='&error[]=0';
}elseif(!empty($_POST['nick']) && ($_POST['nick']<5)){
$errores.='&error[]=1';
}
y asi con todas las condiciones de error.
Luego al final haces:
Código PHP:
if (mysql_query($sql)){
header("Location: index.php?modules=register&action=sucesfully");
exit;
}else{
header("Location: index.php?modules=register$errores&error[]=10");
exit;
}
}else{
header("Location: index.php?modules=register$errores&error[]=unsucesfully");
exit;
}
Luego en el script que recoge los errores, recorres el array $_GET['error'] mostrando los mensajes correspondientes.
Suerte.
<editado>Añadidos los exit; (gracias Cluster por recordarmelos). Quizas no son necesarios, pero lo que si hacen es ayudar a autodocumentar el codigo: alli donde hay un exit, alli se finaliza el script.</editado>