You will create server-side PHP scripts to process and store

1. PurposeIn this assignment you will extend the website you developed in assignment 1. You will createserver-side PHP scripts to process and store the quiz data sent from the form on quiz.html. Itwill involve the creation of simple MySQL tables to store and update information retrieved fromyour website.In addition, you will create a webpage that allows a quiz supervisor to view, update and deletequiz attempts.There will also be an opportunity to enhance your website beyond the above basic requirements.2. Basic Requirements (80%)[IMPORTANT] Use only mysqli commands in this assignment.1.1 Use PHP to reuse common elements in your websitePHP provides us with techniques to modularise and reuse our web application code. You need torefactor your web pages so that common static HTML elements such a menu, header and footer arewritten in common text files which are then included into your webpages.[IMPORTANT] Name the include file(s) with an .inc extension and but don’t forget to renameyour main pages with a .php extension.1.2 Create a Quiz Attempts TableCreate a table attempts in your MySQL database. The information in each attempt record shouldinclude the following fields with appropriate data types:COS60007 Creating Web Applications and Databases – Assignment 2 Page 2 of 4• attempt id (auto-generated primary key)• date and time of the attempt (generated by PHP)• first name• last name• student number• the number of the attempt (1 -3)• score for the attemptWhen a user submits a quiz attempt to the website, if an attempts table does not already exist inyour database it should be programmatically created by your code.1.3 Marking the Quiz (markquiz.php)Adapt the quiz form (quiz.html) you developed in assignment 1 to add quiz attempt records tothe attempts table. This form should submit the data to a php webpage called markquiz.php.This php webpage will calculate the number of correct answers in user’s attempt and save it in thecorresponding record in attempts table.1.4 Quiz Supervisor Webpage (manage.php)Create a webpage with a link on the menu that allows a supervisor to make the following queries ofthe attempts table:• list all attempts.• list all attempts for a particular student (given a student id OR name).• list all students (id, first and last name) who got 100% on their first attempt.• list all students (id, first and last name) got less than 50% on their third attempt.• delete all attempts for a particular student (given a student id).• change the score for a quiz attempt (given a student id).Create appropriately named html/php pages to implement access to the quiz supervisor page and itsqueries.3. Enhancements (20%)Marks will be allocated to enhancements of your choice that go beyond the basic requirements. Inthis assignment, we will consider only PHP and MySQL enhancements. You are encouraged to becreative in thinking up possible enhancements.Examples of PHP / MySQL enhancements you might make that will contribute a higher mark include:• Store quiz questions in a database table and have the HTML dynamically created by PHP. Usethis table to also store correct answers so responses can be marked without hard-coding.• Normalise the structure of the data tables by, for example, creating separate student andattempt tables. Creating a primary-foreign key link between these tables.• Create a table that stores unique user-ids and passwords for quiz supervisors. Access to thesupervisor web page should only be granted if a correct user name and password are entered.• Provide more secure access to the supervisor page. Have access to the website disabled foruser a period of time on, say, three or more invalid login attempts. Create a log out page witha link from the manage web page. Ensure the supervisor’s webpage cannot be entereddirectly using a URL after logging out.• Provide the quiz supervisor with the ability to select the field on which to sort the order inwhich the quiz attempt records are displayed.COS60007 Creating Web Applications and Databases – Assignment 2 Page 3 of 4• One or more enhancements of your own devising. If you plan such enhancements it would beworthwhile checking with your tutor first to ensure they are appropriate and non-trivial.You must have an enhancements.html or enhancements.php page that lists theenhancements you have implemented. For each enhancement, include:• a brief description.• a hyperlink to where the enhancement is implemented.A maximum of 2 extensions will be assessed. Up to 10 marks will be given per enhancement type.The number of marks you receive for a CSS animation will be at the sole discretion of yourtutor/marker. High mars will not be given for trivial enhancements.[IMPORTANT] Any enhancements that are not listed on the PHP enhancements page will not beassessed.4. Website Folder Structure and Deployment RequirementsCreate a website structured as specified in assignment 1.[IMPORTANT] All links to your files should be relative. Do not use absolute links, as these links willprobably be broken when files are transferred for marking. No marks will be allocated if links are broken.5. Assignment SubmissionAn electronic copy of your assignment should be submitted through Canvas on or before thedeadline. Another identical electronic copy of your assignment must also be uploaded onto themercury server.• Make sure all your files are in the correct folders and compress your root folder with all yoursub-folders with HTML, CSS, PHP and image files into a zip file named “assign2.zip”. Submitthis to Canvas. When the zip file is decompressed, the entire website should be able to be runfrom index.html without needing to move any files.• You can submit through Canvas for a maximum of 5 times. Your last submission will bemarked.• Note that all deliverables must be submitted as softcopy. There is no need to submit anassignment cover sheet.6. Demonstration ProcedureYour tutor will download your submission from Canvas, examine how the website works and looksand how it is written.1. Make sure you attend your allocated tutorial. You will demonstrate your assignment to the tutorin your allocated Tutorial in Week 12.2. You will demonstrate how you have implemented the website according to the items listed onthe mark sheet.3. Your tutor will not mark your assignment in the tutorial. Final results are to be released laterfrom Canvas.