Homework 6
Due Tuesday, April 22nd, 2003 11:59:59pm EDT
FAQ has been started
You are to create a very simple CGI address book. When a user first loads
your program, it will create a form containing a text field for the
username and a password field for the password. The user will then
push submit and be taken to his/her personal address book. Here there
is a list of names and email addresses, as well as a form for users to
add new entries. The only fields required are name and email, but
you are free to add more. This screen should have two submit buttons
- one to add the new entry, and another that takes the user to an
email form. Within the list of addresses on this second screen, you
need to give the user the ability to select one or more entries to
email. When the user pushes the email submit button, he is taken to
the third form. This form has text fields for To:, CC:, BCC:, and
Subject:. It has a text area for the email message. And of course it
has a submit button. When this submit button is pushed, the email
message is sent with all appropriate headers.
Notes
The To: field must default to being filled with the
addresses of which ever entries were selected on the previous page.
(Filling it with a comma-space seperated list of addresses will work
out well when you pass this field value to sendmail).
If a user logs on with a username that does not yet exist in the
system, simply create that username with the password given and
present a blank addressbook with the add-entry form.
If a user logs on with a username that does exist, but with a password
that doesn't match, print an error message (either on top of the form
again, or on a seperate screen telling the user to go back).
You are free to create datafile(s) of your own format for use within
the program. However, please do not attempt to submit any datafiles.
Your system should be 'blank' when we first run it. (That means after
you submit, make sure you clear or delete the datafiles in your own
local directory so we can test it).
The same submission rules that applied for HW5 apply for this homework
as well (all code in one single CGI program, no static HTML files,
must use the
CGI submission page, multiple code files must be submitted in a
.zip or .tar.gz file)
Grading Criteria
| Create log-on screen | 5 |
| Create new user | 10 |
| Show user's address book | 10 |
| Show blank address book for new user | 5 |
| Show Add Entry form | 5 |
| Add new entry | 10 |
| Allow selection of 1 or more entries to email | 10 |
| Show email screen | 5 |
| Fill To: field with entries selected in previous screen | 10 |
| Send email | 10 |
| Compilation | 5 |
| Code Style | 5 |
| Output Style | 5 |
| Error checking and reporting | 5 |
As always, 5 Above & Beyond points are available.
Submission Instructions
This project can be run on cgi2.cs.rpi.edu, or on your own webserver.
If you choose to use your own server, make sure it is up and running
from the submission deadline until you receive your grade. Also
please make sure you do not neglect to submit your code file as well
as your URL. The project is due at 11:59:59pm EDT on Tuesday, April
22nd