It still isn't exactly clear what you want to do. Explain in clear steps and give each page/link a name 
 
But IF I read you correctly then with GET-method this is very easy todo...
in the page A you have to make a script which:
1) Check for cookie
2) if exist then reload page with page C
3) if it doesn't exist, ask for name and reload with page B
C and B can be the same page actually if you check in that page if something is added to the URL.
Even more: A, B and C can be the same page if you use this structure:
1) load the page
2) check if a cookie exist
4) if it exist, read it/process it load the page further...
3) if not then ask for a name, create the cookie, and load the page further...
There is no need for a form if you do that. All this can be done in plain javascript (or convert everything to php if you like). In Javascript it would be something like this:
code:
<html>
  <head>
    <title>Main Page</title>
    <script language="JavaScript">
      // Get the users name from a cookie,
      // if it doesn't exist then ask for it and create the cookie.
      var username = unescape(document.cookie)
      username = username.split("=")
      if (username == "") {
        username = prompt("What is your name?","")
        var expiredate = new Date()
        expiredate.setMonth(expiredate.getMonth() + 1)
        document.cookie = "Name=" + username + ";expires=" + expiredate.toGMTString() + ";path=/"
      }
      //
      // put your processes here, the variable username will hold the value of the name.
      //
    </script>
  </head>
  <body>
    normal page
  </body>
</html>
not tested