Tach!
Eine andere Möglichkeit wäre ein Array, das Du serialisiert weitergibst; eine dritte Möglichkeit wären hidden-Inputfelder (mit der ebenfalls bereits beschriebenen Möglichkeit der Manipulation; dem könnte man aber entgehen, wenn man die ID irgendwie verschlüsselt oder mit Prüfsumme versieht).
Wo ist denn da das Problem, einen sowieso vom Nutzer gewählten/eingegebenen/änderbaren Wert über ein Hidden-Feld mitzuschleppen? Wenn er eine nicht existente ID übergeben will, kann er das bereits im ersten Schritt machen. Eine Manipulationsverhinderung braucht man nur für Werte, die nicht vom Benutzer beeinflusst werden sollen. Die sollte man nach Möglichkeit gleich gar nicht erst an den Client senden. Sessions sind heutzutage problemlos verfügbar.
dedlfix.