GiftPixie is a PHP and MySQL e-commerce website developed as a university assignment. Customers can browse gift products, create an account, manage a shopping cart, place orders, and track purchases. The project also includes an administrator dashboard for managing products, customers, orders, and FAQs.
- Account registration and secure password login
- Product catalogue with category filtering
- Individual product details
- Shopping cart with quantity and stock validation
- Checkout with transactional order processing
- Order history and tracking
- Profile management
- Contact, About, Privacy, and Terms pages
- Separate administrator login
- Dashboard statistics
- Product management
- Customer management
- Order status and tracking-number management
- FAQ management
- PHP 8
- MySQL / MariaDB
- MySQLi prepared statements
- HTML5
- CSS3
- JavaScript
- XAMPP for local development
admin/ Administrator pages
database/ SQL database setup
images/ Website and product images
add_to_cart.php Adds products to the cart
cart.php Displays and updates the cart
checkout.php Creates orders and updates stock
db.php Local database connection
index.php Home page
login.php Customer login
orders.php Customer order history
order_tracking.php Order tracking
product.php Product details
products.php Product catalogue
profile.php Customer profile
register.php Customer registration
- Install XAMPP.
- Copy the folder to:
C:\xampp\htdocs\giftpixie-php-ecommerce
- Start Apache and MySQL in the XAMPP Control Panel.
- Open phpMyAdmin at
http://localhost/phpmyadmin. - Create a database named
giftpixie_portfolio. - Import
database/giftpixie_portfolio.sql. - Open the website:
http://localhost/giftpixie-php-ecommerce/
Administrator login:
URL: http://localhost/giftpixie-php-ecommerce/admin/
Username: admin
Password: admin123
The administrator password is stored as a secure hash in the sample database. Change the demo password before using the project beyond local testing.
The default XAMPP configuration in db.php is:
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'giftpixie_portfolio';Do not commit production credentials, private customer information, or real database backups.
- This is an educational project intended for local demonstration.
- Checkout records an order but does not connect to a real payment gateway.
- The contact form is a front-end demonstration and does not send email.
- For production use, add CSRF protection, environment-based configuration, stricter validation, rate limiting, and security testing.
GitHub: @AdxMind