Por favor, no hagas doble post. Este es el sitio adecuado para tu pregunta puesto que estas utilizando PHP.
Tu problema es de lo mas simple. Como te dije en el principio, ignorabas la octava variable que le pasabas a la query y por eso no se subía nada, para solucionarlo, en vez de darle a la query esa variable decidiste quitarla del set. Obviamente si la quitas nunca la subirás.
Tu problema es la lógica que le aplicas. Ya no es por decir nada pero esto es un caso muy simple al que no le estas prestando atención.
$carpeta = 'imagenesdiscos/';
$destino = $carpeta.$_FILES['imagendisco']['name'];
if(copy($_FILES['imagendisco']['tmp_name'],$destino)){ $nombreImagen=$_FILES['imagendisco']['name'];
}
$consulta = mysql_query("INSERT INTO discos(titulo,artista,ano,sello,temas, artistas,comentario,fotodisco) VALUES ('$titulodisco','$grupoartista','$anopublicacion','$sello','$titulostemas','$musicosdisco','$comentariodisco', '$nombreImagen')");
if($consulta){
echo "Error al insertar los datos en la tabla. ". mysql_error(); } else {
echo "Correcto."
}
Abrir un iterador de directorio es inutil en este caso y menos como lo estas haciendo.
http://www.php.net/opendirAlteras el uso de comillas dobles y simples sin sentido alguno y el tabbing parece inconsistente. A mi lo que me parece es que has intentado copiar código de por ahí y no te sale lo que querías... pero que tampoco te has esforzado mucho en deducir porque..
Saludos