PART B CLASSROOM WEBSITE STARTER
For XAMPP with PHP 8.2 or later and MySQL/MariaDB.

TODAY: GET ONE WORKING WEBSITE BEFORE CUSTOMISING IT
1. Extract the ZIP. Copy only the business-starter folder into your XAMPP
   htdocs folder. Typical path: C:\xampp\htdocs\business-starter
   If XAMPP is installed elsewhere, use that installation's htdocs folder.
2. Start Apache and MySQL in XAMPP Control Panel.
3. Open http://localhost/phpmyadmin and import database/demo_database.sql.
   The demo is optional: it gives everyone a working starting point.
   Import it once into a fresh database; it is not a reset script.
4. Open business-starter/settings.php in a text editor.
   Check the database name, port, username and password. The supplied values
   are common local defaults, not credentials guaranteed for every computer.
5. Visit http://localhost/business-starter/setup.php. Read the checks.
6. Visit http://localhost/business-starter/ to see the website.
   Use localhost through Apache; do not double-click PHP files.
7. Change the business name and wording in settings.php. Save and refresh.
8. Build your own three related tables. Follow the schema guide below, then
   change the database name and the right-hand mapping values in settings.php.

ONE SETTING OPENS EACH LECTURE
In settings.php, change 'lesson' => 1 to 2 or 3 when directed by your tutor.
1: browse records, open details, view About.
2: adds keyword search, two filters, admin sign-in and Add.
3: adds Edit and Delete with a confirmation screen.
The stage is checked on the server, not just hidden in the navigation.

LOCAL PRACTICE LOGIN FOR LECTURES 2 AND 3
Username: studentadmin
Password: Classroom123!
This is a shared demonstration account for localhost practice. Authentication
is already supplied; its implementation is not today's lesson.

WHAT YOU EDIT
settings.php: lesson number, branding, labels, database connection and mapping.
Your database: tables, keys, relationships and your own sample records.
Optional later: assets/style.css for presentation.
You do not need to rewrite the supplied PHP engine to complete the core tasks.

WHAT THIS TEMPLATE FITS
A catalogue or information website with one main table and two lookup tables.
Examples: services + categories + branches; books + genres + shelves;
menu items + categories + branches; equipment + types + locations.
Each main record belongs to one category and one location in this starter.
It does not automatically adapt to every schema. Bookings, orders, multiple
categories per record, payments and shopping baskets need a different design
or additional coding. Extra NOT NULL columns need defaults or extra form code.

FOLDERS
business-starter/     Copy this folder into htdocs.
database/            Optional demo SQL and schema guidance; keep outside htdocs.
examples/            Ideas for adapting names and mapping.
Student_Quickstart.docx  Guided student activities and troubleshooting.

NEXT STEPS
Read the Student Quickstart for each lecture's checkpoints.
The three lectures cover the website workflow. SQL injection teaching,
security test evidence and the accompanying assessment report are deferred.
Use the tutor's instructions for the remaining coursework requirements.

REFERENCE DOCUMENTATION FOR THE SUPPLIED ENGINE
https://www.php.net/manual/en/pdo.prepare.php
https://www.php.net/manual/en/function.password-hash.php
https://www.php.net/manual/en/function.htmlspecialchars.php
No Composer, framework, npm, internet connection or external CSS is needed
to run this starter once XAMPP is installed.
