Basically, you are introducing state into a stateless
protocol (HTTP). There are really only two ways to do
this, keeping state in the client, or keeping state in
the server.:
The most obvious way to keep state in the client
is cookies. Others have already mentioned CGI::Cookie.
Another generally useful resource is www.cookiecentral.com.
If you decide to keep state on the server, you'll
need an entirely dynamic site that can keep state in
GET type urls. (i.e. http://blah.com/page.html?user=joe)
PHP supports this type of thing with "sessions". If memory serves me right, you'll have to build PHP with
the "--trans-sid --enable-track-vars" flags.