On This Page
Overview
During this assignment, you will write a page for your project that includes a form, and the code to process the form, on the same page.
^ top
Specifications
Write a page for your project that includes a form and the code to process the user input from the form on the same page. If an error is made, stay on the form page and display an error message. Follow the outline for the page shown in lesson 9.4.5. Thus, the page must include the following:
- A
main() function that controls the logic of the page and calls the checkForm() and showContent() functions.
- A
checkForm() function that checks the values entered by the user and returns true if there is an error.
- A
showContent() function that displays the form.
- A query to your database using
mysql_query()
You may have as many additional functions, either embedded in the page or in an include file, as you like. However, please do not change the names of the above functions. Also, you must use the form to either query the database or to enter data into your database.
Additional Specifications
- The name of the page must be
form.php.
Using the specified name makes grading easier. After you turn in the assignment, you can change the name of the page for your final project.
- Export your database as SQL statements to a dbname.
sql file.
Name the file after your database and add the extension .sql to the name. Make sure your tables are in a loadable order. You may need to arrange your table order manually, so test your dbname.sql file before submitting it.
Make sure of the following about your dbname.sql file:
- Does not contain a SQL 'USE' or 'CREATE DATABASE' statement
- Includes
DROP TABLE IF EXISTS statements for all tables
- Is compatiable with MySQL version 4.0.X
Note that phpMyAdmin supports all these behaviors if you check the correct checkboxes.
- Your PHP code must use the included file
includes/dbconvars.php for all database connection arguments.
Even though you do not need to submit your dbconvars.php file, the instructor will need to use it to test your work. If you do not use dbconvars.php, you will receive a poor grade.
- Create a PHP comment at the top of all PHP pages formatted like the following:
/**
* CIS-165PH Asn 9
* form.php
* Purpose: data-entry form
*
* @author Ed Parrish
* @version 1.0 4/16/04
*/
- In your README.txt file provide instructions on using this assignment. For example, if a password is required, please include a password. If any values are required for a form, please provide the values.
- Place at least the following files in the web-application root directory:
README.txt file
form.php file
- dbname.
sql file
- Zip your project and all files and subdirectories you plan to submit using a zip utility such as WinZip or the Linux zip utility.
The zip file must extract into a directory that the instructor chooses. Do NOT use absolute (full) paths. Failure to comply with this instruction may result in a special grade of one point for the assignment.
^ top
Extra Credit
The following are worth extra credit points:
- Write one or more date calculation functions that are useful for your project and include them in a library file named
datelib.php file. (1 point)
- Show previously-entered data in the form field when errors are found in the page. (2 points)
- Highlight the specific form field which contains an error using colors, font-changes or some other technique. (2 points)
Make certain that your README.txt file lists any extra credit attempted.
^ top
Grading Criteria
The instructor will evaluate your assignment using the following criteria. Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive.
Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. Note that a single indicator may not always be reliable or appropriate in a given context. However, as a group, they show the condition of meeting the criterion.
For information on grading policies, including interpretation of scores, see the course Syllabus.
Database Export
- 2: Database loads from dbname.
sql file with no errors or warnings
- 1: Database loads from dbname.
sql file but has errors, warnings or missing data
- 0: Does not load or dbname.
sql file not submitted
Functionality
- 10: Demonstrates mastery of the assignment
- Has extra features or demonstrates techniques beyond the assignment
- Applies concepts from the lessons appropriately
- Meets all specifications (see above) with particularly elegant solutions
- Runs to completion with no abnormal error conditions
- Generates correct output given correct input
- Behaves in a reasonable way in response to incorrect data
- 8: Has all the functionality expected of the assignment
- Demonstrates many techniques from the lesson
- Meets all specifications (see above)
- Implementation seems more complicated than necessary.
- May have one minor error
- 6: Has most of the functionality expected of the assignment
- Demonstrates some techniques from the lesson
- Meets all but one of the specifications (see above)
- Implementation seems excessively complicated.
- May have 2-3 minor errors
- 4: Has some of the functionality expected of the assignment
- Demonstrates some techniques from the lesson
- Meets at least 1/2 of the specifications (see above)
- Implementation seems excessively complicated.
- May have more than 3 minor errors
- 2: Serious functional problems but shows some effort and understanding
- Meets less than 1/2 of the of the specifications (see above)
- Has a major error or many minor errors
- Implementation seems very convoluted
- Demonstrates few techniques from the lesson
- 0: Does not execute
Code Organization
- 4: Code is well organized for clarity and maintainability
- Page organized into functions with very little duplicated code
- Functionality and error-checking performed on the same page
- Uses include files to abstract code that is common between pages
- 3: Most code is organized for clarity and maintainability
- Page organized into functions with little duplicated code
- Functionality and error-checking often performed on separate pages
- Different pages tend to have the same code duplicated
- 2: Some code is not well organized and some duplication exists
- Page organized into functions but has some duplicate code
- Different pages often have the same code duplicated
- 1: Code is organized haphazardly and has many duplicated lines
- Page not organized into functions
- 0: Required PHP page was not submitted
PHP Documentation
- 2: Code is well-documented
- Name, date, and page description in page comment block
- Follows format for page comment block
- Proper use of whitespace and indenting
- 1: Code has some documentation errors
- 0: No apparent attempt at documentation
README.txt File
- 2: README.txt file submitted with specified information included
- 1: README.txt submitted but some information was not included
- 0: No README.txt submitted
Maximum Score: 20, plus extra credit
^ top
What to Turn In
Submit a zipped file with all required files in the specified directories following the instructions for homework. Your .zip file must include all the files and subdirectories needed to make your assignment function properly. Do not assume that the instructors has any files except dbconvars.php. Your assignment must work as submitted.
^ top
Home
| WebCT
| Announcements
| Course info
| Expectations
| Schedule
Project
| Help
| FAQ's
| HowTo's
| Links
Last Updated: December 11 2005 @22:05:46
|