Насчет форм - см. выше о текстовых ссылках (как ты их в таком случае будеш реализовывать)
Алгоритм.
Человек заходин на сайт.
1. Проверяется есть ли у него в куках идентификатор. (если есть - проверяется есть ли он в базе и не наступил ли таймаут неактивности) (в базе хранится id, creation time, last access time, ip), если куки пусты (или отключены) - проверяется не передан ли идентификатор как параметр.
2. Проверяется корректность ip.
3.1 Если все условия выполнены - ок.
3.2 Нет - выделяется новый уникальный id и соотв. записываются данные (см. выше в базу) и пишутся куки в заголовок (без указания срока действия - т.е. они анулируются при закрытии окна броузера)
Логин и пароль хранятся в отдельной базе (login, password, current user id, creation time, last access time)
Ну вообщем понял идею?
Могу кинуть сорцы. (Но я там еще одну фишку придумал в авторизации (но еще в голове не скомпилилась пока