echo $begrüßung;
$varbez = 'bild'.$y;
$$varbez[$x] = $einzel['dateiname'];
leider ist $bild0 nicht nur leer, es gibt sie nichteinmal,
sagt zumindest: if($bild0){echo "ok";}.
denk ich da irgendwie falsch oder steh ich aufm schlauch?
Beim Entwickeln von PHP ist es grundsätzlich von Vorteil, das error_reporting auf E_ALL stehen zu haben. Damit bekommt man Zugriffsfehler auf nicht vorhandene Variablen angezeigt. Das hilft dir hier, um beim Leseversuch von $bild0 zu erkennen, dass es diese Variable nicht gibt. Weiterhin ist für Kontrollausgaben var_dump() eine sehr hilfreiche Funktion.
Eine generelle Vorgehensweise bei Problemen wie deinem, wäre, sich nach dem Anlegeversuch einen Überblick über alle Variablen zu verschaffen. Das geht mit print_r($GLOBALS) oder var_dump($GLOBALS), aber nur für globale Variablen. Für lokale Variablen innerhalb von Funktionen gibt es das leider nicht so einfach[*]. Damit kannst du sehen, was für Variablen angelegt sind und dabei erkennen, dass irgendwas schief läuft und vielleicht auch schlussfolgern, warum das so ist.
[*] Alle lokal vorhandenen Variablen erhält in einem benutzerdefinierten Error-Handler mit einem mit trigger_error() oder anderweitig ausgelösten Fehler.
echo "$verabschiedung $name";