Guten Morgen!
Da du ja ein Submit machen musst, um datenbankprüfungen zu machen, könntest du die bereits eingegebenen Daten in Session-Variablen speichern. Aber erst wenn der Key nicht richtig sein sollte. Falls der Key richtig ist, müssen die Session-Variablen auf jeden Fall geleert werden.
Anschließend wird ein Redirect gemacht, und im VorFormular-Teil würde ich dann überprüfen, ob es gefüllte Session-Variablen gibt. Falls ja, fülle ich das Formular mit den Werten aus. Falls nein, ist es einfach das StandardFormular.
Hoffe, ich konnte dir ein wenig helfen.
matthias