Create a web page that prompt the user for input, PHP Web Programming

Overview

Web pages often need to prompt the user for input and that input will then need to be uploaded to the server, processed, possibly stored, and then some appropriate result sent back. In this assignment, the user is prompted using a HTML form which is submitted to code written in PHP on the server. The PHP code will then validate the data. If the data is validated, then the data is processed and the appropriate actions are done. If the data is not validated, then no further processing of the data occurs and an error is returned. In this assignment, the "error" returned will be a page sent back to prompt the user to correct the error.

Session handling WILL be necessary for this assignment to work. This assignment is not intended to represent a complete credit card checking system. Its purpose is to actually do form processing, server-side form validation checks, re-prompting the user to correct issues, and to actually process data.

Task

This assignment will consist of the following files:

form.php
Prompts the user for the following pieces of information:
name on credit card,

Must be a (single-line) text field.
Names cannot be longer than 30 characters, must be alphanumeric, and spaces are allowed. All other characters are not allowed.
credit card expiry month,
Must be a drop-down box.
The month is listed as a two-digit month (just as it is on your credit card).
Must be validated in the manner of PHP Cookbook Recipe 9.3 & 9.5.
credit card expiry year,
Must be a drop-down box.
Current year to 5 years into the future (i.e., 2010 to 2015).
Must be validated in the manner of PHP Cookbook Recipe 9.3 & 9.5.
credit card type,
Must be a drop-down box.
One of: VISA, MasterCard, American Express.
Must be validated in the manner of PHP Cookbook Recipe 9.5.
credit card number, and,
Must be a (single-line) text field.
Must be validated using PHP Cookbook Recipe 9.19.
person's email address.
Must be a (single-line) text field.
Must be validated using PHP Cookbook Recipe 9.4.
There is a "Make Purchase" button which will submit the form to process.php.
There is a "Clear Purchase Info" button which will submit the form to process.php.
This will be used to wipe out any store form session information.
This gives a way to clear out data when testing... otherwise the session would have to be invalidated.
All fields are required.
Note techniques used in PHP Cookbook Recipes 9.1 and 9.2.
Prevent hacking by:
Using htmlspecialchars() as used in PHP Cookbook Recipe 9.10. This will cause characters to be escaped.
If there is a problem with the form the user will be redirected BACK to this page, so it needs to:
Dynamically generate the form.
If there was no previous form entries submitted, then the form is empty.
If there was a previous form entry submitted (and its contents stored in $_SESSION), then the form is re-populated as follows:
Refer to PHP Cookbook section 9.12 for guidance.
Each field must be populated with the previously entered value.
Each field that is invalid must have a message to that effect in RED next to the field that is invalid. This way the user knows what to correct.
Output a message at the top of the page, "Sorry, your submission was not accepted. Please fix the errors below and resubmit."
process.php
The process.php file must perform all of the validations outlined above in form.php. (No validations are done in form.php).
If the submission was "Clear Purchase Info" then you are to:
clear out ALL stored session information and redirect the browser back to form.php
If everything validates, then you are to:
store the form information in a single entry of $_SESSION using an array (inside of $_SESSION).
store $_SESSION['purchase'] = 'success'
redirect the user to success.php
If there any issues with validation, then you are to:
store the form information in a single entry of $_SESSION using an array (inside of $_SESSION).
store $_SESSION['purchase'] = 'error'
redirect the user to form.php
This page does not output anything --it only redirects.
success.php
Output all stored $_SESSION information from the successful purchase to an HTML page (e.g., with a table).
Clear all stored $_SESSION information.
At the top of the page output, provide a link to form.php.
Please note that the variables set in process.php are needed in both form.php and success.php. Start off by writing form.php to simply output the form first. Then start writing process.php to process the initial submit. From there, you can add the rest of the functionality.

You may do this assignment how you see fit, but, you are expected to use the above PHP Cookbook Recipes to develop the results.

Posted Date: 3/2/2013 8:09:37 AM | Location : United States







Related Discussions:- Create a web page that prompt the user for input, Assignment Help, Ask Question on Create a web page that prompt the user for input, Get Answer, Expert's Help, Create a web page that prompt the user for input Discussions

Write discussion on Create a web page that prompt the user for input
Your posts are moderated
Related Questions
Develop a GWT application (based on the Sample05_Objects example) which helps students select the courses in which they want to enroll. The domain model should have Department

We need help in Firefox, Chrome and IE extensions I have 3 extensions for (Firefox, IE and Chrome) as well as I need to add to it two functions- Bookmark as well as Upload fi

I need help to make Hotel Booking Site - GDS Integration We are building a hotel booking site through GDS integration. We wish to grow very quickly to test concept as well as op

FTP understands two basic file formats only. It classifies every file either a binary file or a text file. A text file has a sequence of characters gather into lines. Though comput

In Layout view you can draw layout cells & layout tables to describe the design areas of a document. This task is easier to achieve if you prepare a sample of the page you're creat

I want an API Replication required Project Description: Want an API expert to aid in application development in regards to API extraction, and injection into other sites, as

I want help in Opencart (MijoShop) dev -Bespoke Duty/Vat and shipping We have a client who vends wines which are either purchased to be shipped to the customer (as standard) OR

We need Senior Developer experienced in Python & Django Company Data aggregation project where we are aggregating online data from multiple sources as well as enabling companies

WordPress Site with E-Commerce Integration We want development of a site in Word Press. We will offer the designs and the content. We will want you to set up the site and conver

Explain how to submit form without a submit button. We can achieve above task by using JavaScript code linked to an event trigger of any form field and call document.form.submi