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
Web Designer and Web Professional I have a current small business website as well as need help changing it so that people can access it from a smart phone and so on. Flash, perh

1. Develop a program to move a text along with mouse pointer. 2. Develop a program to change color of text randomly. 3. Develop a Web page using two image file

We need help to create Ecommerce and Software App Development For Yahoo / Shopify I am in search of a developer or company to build an App that can work with Yahoo Stores and Sh

We looking for a Facebook Developer for game app Top Notch Facebook application and Game developer needed Job description -- We are in search of a Facebook Developer who w

Wordpress Classipress theme customization We are seeking a Wordpress customisation expert who can adapt our original design into Classipress theme keeping the exact same feature

We need a Fast, Top-Notch, Ruby (and Rails) Developer We're seeking a backup Rails developer for our creative team. We by now have a Senior Developer/Analyst and a part-time PHP

You will insert three layout cells below the logo cell you just created. Later on you will insert the page's navigation buttons in these cells. 1. In the Objects panel, click

I need help for Wordpress plugin to pull Facebook group posts I am seeking someone to create a custom WordPress plugin for me that will take the post feed from my closed/private

Data migration from PDG cart to Magento Job Description- I am seeking a Web Developer to migrate PDG shopping cart to Magento Your qualifications- a) Previous experienc

Session layer: the major functions of this layer are to establish, maintain & synchronize the interaction among two communication hosts. It ensures that once a session is establis