CS 491: Special Topics in Web Database Applications

Kalamazoo College

Winter 2004

PROGRAMMING PROJECT #1
This is due Monday of Fifth Week


This document was last modified on April 27, 2004.

Project Outline

The goal of this project is redesign the web pages for the nonprofit organization MAGE (Michigan Association for Gifted Education). These pages currently use frames (which are annoying) and are not all standardized. There is also a members only section that is not implemented, your job is to implement the login of this page.

You may work on this project in groups of up to 3. I strongly advise that all of you work on it - but you can parcel out portions for others to do. In other words, you don't have to do all parts together but you can use a software engineering approach to having someone do each part. You should all get together and go over the code at the end to make sure that everyone understands all the parts to the project.

As with most programming projects, be sure that the work that you turn in is your own. You are welcome to discuss problems with other groups, but please do NOT look at another group's code, or let another group look at your code. You should also acknowledge any assistance you receive on this project somewhere in your documentation.

Your Tasks:

  1. Retrieve the current web pages:
    • mage.zip - contains all the web pages as they currently look.
    • members.php - the file that will be accessed when the client logs into the members only section sucessfully

    They are located in the folder:

    /home/www/cs491/PP1
    which can be accessed from either max or rose, or through a browser. You should be able to copy them directly from this folder to your own directory on max/rose for your use. Or, if you prefer, you can download them through a browser for use on another machine.

  2. The current web pages use frames. They are not only annoying to use they are a pain to keep up. Your first task is to redesign the web page so it doesn't use frames but still has a consistent user interface. (Remember all that you learned about user interface design in CS105? If not, there is a book on reserve in the library called The Web Wizard's Guide to Web Design by Lengel that could be very helpful). You should use some PHP to accomplish this. PHP has a require command that will include files. That will help with making the user interface to be standardized. PHP has a lot of commands to put dates on the pages. Be creative!

  3. I will create a mySQL table that holds the information needed for members to login to the web page. The fields in the table will be userID (of length 4 to be the primary key), user name (userName - at most 20 characters), password (password - at most 100 characters encrypted), a date when added (dateMember), an email address (emailAddr - at most 100 characters) and whether the member is curently active (1=active, 0=not active). The login to mysql on max/rose is mage with password #mage#, the database to use is magedb. I will give you the table name after you let me know who will be working in your group.

    The table will have a login for each member of the group, plus me, and the passwords will be the same as the user name. The user names will be the first name of each person in lower case. All of those logins will be active. I will also add a user of "noone" that will have the same password but not be active. That person should not be allowed to log in.

  4. Currently the members only section is not implemented. You need to create a web page that will allow users to login to the members only section. This web page should have a login area that checks to see if the user name and password entered is valid and the member is currently active. If so, it should display the members only page members.php. There should also be a link that sends email to admin@migiftedchild.org if the user has forgotten his password. There should be a link to the membership application if anyone wants to join.

  5. All passwords should be somehow encrypted or protected. See Chapter 9 of the Web Database Applications book from O'Reilly for a way to do that. You may copy the examples from Chapter 9 from the book website. We will be using PHP 4.3 on max/rose so download the 4.2 PHP files.

  6. Turn in your code! E-mail me the location of your web files no later than 8:30 a.m. on Tuesday of Fifth Week. Good luck!