程序代写代做 html database Java javascript CO887 Assessment 2 : Theatre Booking System

CO887 Assessment 2 : Theatre Booking System
Assessment Objectives
Create a theatre booking system using PHP, JavaScript, HTML5, CSS, and MySQL.
Requirements
Your booking system should conform to the following requirements:
Task 1 : Introduction page
Create two files: mystyles.css and index.html
In mystyles.css include all your styling rules.
In index.html write a page with some headings, information about the
theatre, and prompt the user for name and email address.
Use HTML5 to do a bit of validation: give a default value to the name field, and check that an email is specified and has the correct format.
See below a snapshot of how a minimal version may look like.
Clicking See performances must bring you to perf.php see Task 2
This task involves the use of HTML and CSS.
Task 2 : Present a list of performances
Create one new file perf.php
The page generated by perf.php must welcome the user with the name
specified in index.html and shows the list of performances from the DB.
The performances must be dynamically retrieved from the database.
You can use the following MySQL query, which you need to adapt and
appropriately handle in your php script:
SELECT
FROM Performance p JOIN Production r ON p.Titler.Title;

For each performance display data title, date, time and a button.
See below a snapshot of how a minimal version may look like.
Clicking Show Availability brings you to seats.php see Task 3.
Task 3 : Show the available seats and their prices.
Create a new file seats.php that displays some headings, and a list of the available seats for the performance that was selected in perf.php.
Each seat should be associated to an input element of type checkbox.
You need to modify perf.php so that it starts a session and carries
forward the necessary data i.e., title, basic ticket price, date, etc..
You can use the following MySQL query to retrieve the available seats.
You need to adapt it to your php script seat, time, … should those of the performance selected by the user:
SELECT Seat.RowNumber, Zone.PriceMultiplier 15.00 FROM Seat JOIN Zone ON Zone.NameSeat.Zone
WHERE Seat.RowNumber NOT IN
SELECT Booking.RowNumber FROM Booking WHERE Booking.PerfTime16:00:00
AND Booking.PerfDate20151204;
It follows a snapshot of how a minimal version may look like.

Task 4 : Allow to select one or more seats and see a live summary.
You need to modify seats.php so that it allows a user to select one or more seats checking the box and immediately see the summary of selection and total in the page.
The summary of the selection and the total price should be calculated at clientside.
You should add a button that checks that, when pressed, that at least one seat has been selected and calls book.php see next task.
See below a snapshot of how a minimal version may look like.

Task 5 : Insert the booking in the database and display a confirmation.
You need to add a file book.php so that updates the database with the new booking, and display a confirmation of the purchase.
At this point a real system would invoke a payment system. You may ignore this and end the process just by displaying a confirmation message including a summary with all the details of the booking. Hints: This task involves use of HTML, CSS, PHP, and MySQL.
A useful query for this part, to adapt to your PHP script, is this one
INSERT INTO Booking
VALUES ZPemail.com,20171101,19:00:00,Z18;
In your solution, the values should be relative to the actual booking.
See below a snapshot of how a minimal version may look like.
The database
Use, as a database, the solution to Assessment 1. We recall the relational schema below. Feel free to add productions, performances, and bookings. Make sure that there is a fair number of seats we can book, when testing your solution!
Production Title,BasicTicketPrice Performance PerfDate,PerfTime,Title Zone Name,PriceMultiplier
Seat RowNumber,Zone
Booking Email,PerfDate,PerfTime,RowNumber

The database
A good solution will combine what you have learnt in HTML, CSS, JavaScript, PHP, and SQL.
We are looking for clear, concise, and commented code.
Make use of javascript validation, server side php validation to check
against input.
Ensure your database is not vulnerable to SQL injection attacks. To do
so, make use of the functions available to PHP and MySQL.
Do not make unnecessary queries to the database. Recall we have seen
several ways to transfer information across the pages superglobals
GET and POST, hidden fields, and sessions. Make the best of them!
We want the website to look nice, so use CSS, however, we are not expecting amazing CSS design, just enough to make it sensible, and
usable.
Submission
Submit via RAPTOR
Save your website in the raptor project assignment space:
projco887cassessment2xxxx
where xxxx should be replaced by your username.
It should be a direct copy of your webroot. Do not zip up the files as we will access this directory in order to mark your work, and we want to see the website working.
You should be able to view the pages of your assignment at the following URL:
http:raptor.kent.ac.ukprojco887cassessment2xxxx
where xxxx should be replaced by your username you need to append the filename of your page to the URL above, if it does not have name index.
Assessment start: Thursday 14st November 2019
Due date: Thursday 5th December 2019, by 23:55

NOTE: Your submission site will automatically be locked at the submission date. If you do not submit by then, you will not be able to.
If you have questions, please ask!
Plagiarism
All work must be your own. You may make use of code snippets, etc, you must reference these in your code! The grade will be proportional to your original contribution do not submit existing or near complete solutions available on the web, you will get zero.
Submission deadlines are hard. Any work submitted beyond the assessment due date will receive a mark of 0. Concessions will only be given for valid reasons, via the course administration office.
Marking
5 of the available marks will be for good, working solutions to task 1.
25 of the available marks will be for good, working solutions to task 2.
15 of the available marks will be for good, working solutions to task 3.
30 of the available marks will be for good, working solutions to task 4.
25 of the available marks will be for good, working solutions to task 5.