Assignment 3: Putting it all together

Due: Friday, November 13th, at 5pm. (end of the 10th week)

WARNING!!! If your pages do not validate, you will recieve a ZERO on this assignment!

Assignment Description:

Assignment 3 will be a "new and improved" version of assignment 2. I want you to correct any problems I may have noted on assignment 2, and then add to it the various technologies we've covered this quarter, including style sheets, javascript, php pages that connect to a database and include the header and footer portions of the page (note: no server-side authentication). If you want to include other technologies you've learned on your own, that's fine, too. Also note that your pages must show correctly in the latest browsers on both platforms (see last note under technology)!

(Do not modify the original files in your assignment 2 directory; instead, copy them into a new directory for assignment 3 named 'final' in your directory on

Specifically, you must include:

  • The third project will be put on your account. You MUST make sure that the link from your first project on Gibson points to the third project
  • Every page must be built in parts (a header and a footer file will be included using php)
  • Do not copy the .htaccess file you made for project 2, the configuration we used for Gibson wont work on this server.
  • Make a new folder called 'comment' inside of the 'final' folder
  • The php page within the 'comment' folder will have a form in it that will accept user input (at least their name and what comment they want to leave) and display previous comments beneath (the comments will be aquired from a database). There will be a JavaScript function that runs on the submit of the form that validates that the user put in input (and the form will NOT submit if the validation fails!). Once the form passes validation, you will pass the information on to another php page that takes the information and adds it to a database, then goes back to the comment page (and the comment page will then show the old and new comments!).
  • A javascript that you've written yourself (not one generated by a program or retrieved from an archive. NO Libraries - jQuery, Mootools, Scriptaculous, etc)
  • A dhtml component you created or from an archive site (make sure the source is clearly indicated in your code!). The component selected should add some value to the page it's on; it should not be a gratuitous addition to the site.
  • You will add to your annotated.css file with descriptions of the above and locations of the additions. (For easier grading!) If you fail to add to the file, I might miss your additions and you will lose points.



Grading Criteria:

Do all pages validate?
Design principles (layout, use of color, etc)
Corrections from project 2
Original javascript
DHTML component
CGI contact form
Form validation
PHP includes for every page (header and footer)
PHP connection to a db (insert and select)
Be warned that MAJOR points will be deducted for problems viewing in any of the four browsers (the latest versions of FireFox and Safari on Mac, FireFox and IE on PC!)

Back to the syllabus