Program flow question

Should I be using a completley different approach?

yes you can. i suggest you to read Redirect Notice