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
Magneto Development - Changes to a custom module We are consist an Instagram image upload module built for our Magneto based website. The developer of this module is no longe

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

OpenCart Extension and integration with Ebay similar site We want an integration extension among OpenCart and the overstock/deal website Fyndiq.se Required functionality a

how to create classes in php?

We want to create a Ecommerce site simplistic professional Make a wordpress compatible ecommerce site preferably woocommerce or another commonly used ecommerce tool. Job Desc

Website Designing Want to revamp an existing website Job description- Need to change the look of an existing website therefore that it can have greater hits Web developmen

want to learn php

Define the Document Page Title However the document has a file name, notice it is labelled Untitled Document still; that is because it required an HTML document name, or page ti

We need an Experienced Ruby on Rails Engineer We want a developer with very good knowledge of Ruby on Rails to stay development on a live web application. The ideal expert wi

Web programmer We want to allow logging on an S3 bucket to audit potential high usage from single users (example single IP addresses) on our Wordpress membership site. We wan