vielleicht liegt es daran, das der header nochmals nur gesendet wird bzw. das exit ausgeführt wird wenn er in den if-Zweig:
if (isset($HTTP_POST_VARS["submit"]))
reinläuft. Dazu ist der zusammenhängende Sourcecode aber hilfreicher. Ich teste das immer mit echo-ausgaben, wo das programm langläuft und wo nicht.
Besser wäre es aber eine Session erst aufzubauen, nachdem das Passwort und die UserID mit der DB verglichen wurde und korrekt ist. Dazu reicht dann vielleicht auch nur die PersonalID bzw. UserID mit der du dann auf den nächsten Seiten diverse Infos aus der DB ziehen kannst.
Cu Rico