I'm ashamed to say that there are still issues with the code: It won't scale well; session hijacks are easy, stupidly easy; there's no confirmation emails and, were I to hand out the URL, it would probably create enormous security issues due to the poor session security.
Ah, well. At least it's not production or something. This is the first one, the rough cut; it's not supposed to be a work of art, it's supposed to be an attempt at one.
Besides which, it doesn't completely look like ass, either. It gracefully degrades a little bit, was built with alternate forms of web-browsing in mind (no frames, no complex tables, etc., and should read aloud fairly well -- we had a speaker in our 131 class about web design with accessibility in mind, and I tried to write something that wouldn't be completely lost on non-visual browsers.)
Anyway, this brings us to the hard part. Mike wanted a minimum of JS validation to prevent lots of empty-form session calls, and I can't even think of a lick of JS right now. Hopefully I can find some code to massage a little bit and paste right in. (Made easier using HTML::Template, thank you very much.
Quick Addendum: I forgot to mention that I managed to catch up on all the journal entries I missed since two or three weeks ago. (Except, of course, for some of the newest arrivals, because they aren't my friends yet and they were bumped off the recent entries list. Time will bear those out, I figure.)