Hi!
Alle Variablen sind ja augenscheinlich vorhanden und auch nicht leer.
Wie wäre es mit Kontrollausgaben statt Gedankenspielen? var_dump() ist dafür das beste Mittel. Zusätzlich empfiehlt es sich, das error_reporting auf E_ALL zu setzen. isset() und empty() arbeiten zwar stets schweigend, aber eine Notice beim var_dump()en zeigt dann an, dass die Variable nicht existiert.
Lo!