Yep. Answer laserlight's question, it is possible that he have some suggestion. He is defenetley more experienced in PHP than I am.
My answers is from the point of view that you don't want people to share accounts when they intend to, if that is the case I really can't see a way to do it. If you don't want malicious sharing then you can store the ip, session id and time for the last hit in a database, and then compare with that next time a person tries to do something. All other information should be stored in the server, preferably in a database, to avoid others getting the information.
You should use SSL as well to avoid people listening in on the traffic.
But as I said above, listen to laserlight, he might have another idea.