Ya he descubierto cual es el fallo pero no me sale corregirlo, he acortado la consulta haciendo pruebas y la he dejado asi...
Código PHP:
$sql="SELECT Expedientes.expediente, Documentos.nombre FROM Expedientes, Documentos WHERE Expedientes.dni='".$_SESSION['dni']."' AND Documentos.tipo='foto'" ;
con el consiguiente problema de que me muestra todo con lo que le falta otro AND con el numero de expediente que es la clave de la tabla expediente y la foránea en la tabla archivos pero no me sale...
La estructura de la BD es CLIENTES con EXPEDIENTE relacionados por el dni y EXPEDIENTE con ARCHIVOS relacionados con el numero de expediente que es lo que me falta por poner bien en la consulta por eso ahora me muestra los archivos de todos los expedientes y no solo los de un expediente en concreto con dni del cliente tal....a ver si me podeis echar una mano...gracias