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:
- 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.
- 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!
- 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.
- 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.
- 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.
- 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!