I now have the "modify your account" stuff done. It includes the ability to change your display name, your password, or to close your account.
There is no way to change the account password, at least not for the average user... an administrator can. I just could not come up with a way to do it that didn't leave a big hole in the security of the system (not like there is a ton of personal information in the system, just an e-mail address. but still)
At the moment, the system consists of 50 ASP files, and one MDB, although in using the system, only 8 ASP files are the ones you'd actually navigate to... the rest are SSIs.
The "adventure list", which is nearly done, consists of four views: the public, the private play, the private build, and the private administer. Only on the private administer page can a person create a new adventure (during this process, the user is made to be the sole player, builder, and administrator for this adventure). The default view is the public list.
Right now, all four views look the same, but soon, at least the administration and build views will look different than the public and play views.
The build view needs to be able to modify the name and the description of the adventure. The administration view needs to be able to change the public and locked status, as well as modify permissions for other users. I'm not certain yet whether the permissions will be on a separate page...
As a whole, this project is very large, and as a result, daunting for a single person. I try not to let myself think about the enomity of this project, instead treating each subsystem as a project of its own. Otherwise, the hugeness will stop me.
A little on how the thing works, and then I'll leave you alone...
There are two "states": logged out and logged in. These are controlled by a boolean variable.
In the logged out state, the only things you can do are log in, sign up, or retrieve a lost password.
In the logged in state, you can log out, manage your account, or, if you are an administrator, do administrative things like modify the user list.
While logged in, your login persists by being placed in hidden variables in every form on the page. Everything is done through post data.
You can also view adventures if you are logged in. You can select an adventure to "work with", which can mean to play, to build, or to administer. Depending on your permissions for the adventure, the menu on the left side of the screen changes appropriately.
Which adventure you are working on is also persisted through forms and post data.
Each adventure will consist of a series of rooms. Later on, these, too, will persist through post data, and modify the menu.
Now, the database currently stores a subset of the data that DEFINES an adventure, but there will be additional tables so that a user can PLAY the adventure, since otherwise, the data within the adventure would have to change during the course of play, and that would ruin the data in the adventure for people who might want to play it later.
In any case, it is an interesting project, and so we'll see how far I can get without going mad.
-your friendly neighborhood TANSTAAFL
Will the user, during the game building process, be able to define his or her own monsters? Oh and please don't go mad. This will be a great site.
_neil