Computer Skills

A Simple E-Shop Application Using PHP and MySQL


Write a simple E-shop application using PHP and MySQL*. This may be a bookshop, music shop, clothes store, or anything else you wish. There should be a “user” interface to allow customers to select and purchase items (don’t worry about the payment side of things). Ideally there should also be a password-protected “owner” interface, to allow the E-shop operator to view/edit stock and pending orders.

The exercise is deliberately “hard” given the short deadline, and I do not expect everyone necessarily to complete it to perfection. This will be taken into account in the marking. For more info you can visit dumps shop


[A 5%] Ability to write working HTML code (i.e. code that creates successful markup on a browser window).**

[B 5%] Ability to post an HTML web-page on a server such that it is visible on the World Wide Web. ***

[C 10%] Ability to make an HTML form communicate with a PHP script.**

[D 10%] Ability to make a PHP script interact with a MySQL database.**

[E 40%] Functionality (the extent to which the software’s operation complies with – or exceeds- the original specification).

[F 10%] User friendliness (the extent to which the browser displays are clear and self-explanatory).

[G 10%] Presentation. (This could include appropriate use of images, colour, text fonts, style-sheets and dynamic HTML functions.)

[H 10%] Clarity and readability of coding and related documentation (e.g. use of comments, appropriate indentation etc.)


*If you wish to use different web-based technologies (e.g. ASP, JSP, Pearl) please do so. However, please do NOT use high-level software packages which require no programming skills (e.g. “wysiwyg” HTML editors), as these rather defeat the purpose of taking this module.

** In categories A to D, the marks are awarded in a “binary” manner (i.e. the student receives either the entire weighting mark or else zero). Thus 30% can be obtained simply by demonstrating a basic knowledge of HTML, PHP and MySQL. The remaining categories are marked in a “continuous” fashion (i.e. any number of marks between zero and the weighting value can be awarded).

*** In the event of server failure (or other irresolvable technical difficulties) Category B will be removed and the weightings of the other categories scaled accordingly.