If anyone responds to this thanks a lot because this is a lot to ask. I've
never coded anything for a paying customer.

I'll be using Apache, MySQL and php of course.

Or... how about this application already exists somewhere??

Requirements/Design
-------------------
1. Any page requiring authentication should be in a secure directory.  The
login for the directory will be issued behind the scenes once the user is
authenticated.  This prevents anyone from by passing the login.

2. Once you login once for a session all other pages requiring
authentication become accessible to you (i.e record login in a cookie).

2. If you do not yet have a username/password then you can click on
register, where you enter the following:

Name *
Title
Company *
Address *
Tel
Fax
Email *
LicenseId *
Username *
Password *
Confirm Password *

* = required
Username must be unique.
LicenseId must exist in a table of currently active licenses maintained by
KINESYS.

3. If registration is successful then the account is stored in the database
and the user continues to the originally requested page.

4. On the login page there should be a "Forgotten password?" link.  When you
click it you have to enter your email address and if it exists in the
database, the username and password is emailed to you.

5. Each login with date and time should be recorded in the database linked
to the Username.  Ideally each download should also be recorded.

6. The pages requiring authentication should be in a secure directory.  The
login for the directory will be issued behind the scenes.  This prevents
anyone from by passing the login.

7. There must be an administration page in the secure directory that allows
KINESYS to maintain the list of LicenseIds in the License table, and to view
the user and event tables.

Here is my take on the initial database schema.

Table: License
    Primary Key: LicenseId

Table: User
    Primary key: UserId (autoincrement)
    Required Unique Field: UserName
    Required Field: Password
    Required Field: Name
    Field: Title
    Required Field: Company
    Required Field: Address1
    Required Field: Address2
    Required Field: Address3
    Required Field: Address4
    Field: Tel
    Field: Fax
    Required Field: Email
    Required Foreign Key: LicenseId

Table: Event
    Primary Key: EventId (autoincrement)
    Required Field: Timestamp
    Required Foreign Key: UserId
    Required Field: Description (e.g. "Login", "Downloaded ALPS LT 2.61.1")


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to