Shopping Cart System
Sell online with a complete PHP and MySQL shopping cart: PayPal, Stripe, and crypto checkout, product options, digital downloads, and a full admin panel.
// codeshack pro
Every package we sell, the tools we hold back for members, and writing you will not find on the blog. It also turns the ads off across the whole site.
$96 a year, or $12 month to month.
The ad code never loads for a member, so the tools feel faster and the tutorials read the way they were written. It follows your account, not your browser, so signing in on a laptop and a phone both work.
All 16 systems, source and documentation included, in PHP, Python and Node.js. Grab the shopping cart today and the ticketing system next month without paying twice, and pick up new versions whenever they land.
There is no sales call, no trial that quietly renews, and nothing to install.
16 professional packages with full source code and documentation
Sell online with a complete PHP and MySQL shopping cart: PayPal, Stripe, and crypto checkout, product options, digital downloads, and a full admin panel.
A PHP and MySQL event calendar: users submit and manage events, browse by day, month, or year, with AJAX loading, two sizes, and an admin panel.
A web-based PHP file manager: upload with progress, edit files, extract and compress archives, cut/copy/paste, search, and media previews.
A PHP and MySQL gallery system for images, video, and audio: drag-and-drop uploads, collections, likes, image optimization, and an admin panel.
A PHP and MySQL invoice management system: PDF generation, client management, recurring invoices, status tracking, email notifications, and an admin panel.
A PHP, MySQL, and AJAX live support chat: real-time messaging, file attachments, emoji, operator roles, presets, and word filters.
A PHP and MySQL ticketing system: public and private tickets, priorities, categories, comments, attachments, status emails, and an admin panel.
A PHP, MySQL, and AJAX commenting system for any web page: votes, formatting, filtering, approvals, pagination, and an admin panel to manage it all.
A PHP and MySQL CRUD application with a clean table UI: search, sortable columns, pagination, and per-page limits.
A PHP and MySQL newsletter system: popup signup widgets, open and click tracking, cron-automated campaigns, and an admin panel to manage it all.
A PHP and MySQL poll and voting system: one vote per user, multiple choices, scheduled start and end dates, approvals, and an admin panel.
A PHP, MySQL, and AJAX review system you can drop on any page: star ratings, image attachments, likes, filtering, approvals, and an admin panel.
A complete PHP and MySQL login and registration system: account activation, remember me, an admin panel, plus add-ons like 2FA and OAuth.
A PHP contact form with client and server-side validation, captcha, file attachments, AJAX submission, PHPMailer delivery, and an admin panel.
A complete Python and MySQL login and registration system with account activation, 2FA, brute-force protection, reCAPTCHA, and an admin panel.
All 16 packages for $96 a year $360
Every package runs as a live demo you can poke at before you pay for anything
A complete PHP and MySQL login and registration system: account activation, remember me, an admin panel, plus add-ons like 2FA and OAuth. Full source code.
// Prepare query; prevents SQL injection
$stmt = $pdo->prepare('INSERT INTO accounts (username, password, email, activation_code, role, registered, last_seen, approved) VALUES (?, ?, ?, ?, ?, ?, ?, ?)');
$stmt->execute([ $_POST['username'], $password, $_POST['email'], $activation_code, $role, $date, $date, $approved ]);
// Get last insert ID
$id = $pdo->lastInsertId();
// Send notification email
if (notifications_enabled) {
send_notification_email($id, $_POST['username'], $_POST['email'], $date);
}
// If account activation is required, send activation email
if (account_activation) {
// Account activation required, send the user the activation email with the "send_activation_email" function from the "main.php" file
send_activation_email($_POST['email'], $activation_code);
echo 'Success: Please check your email to activate your account!';
} else {
// Automatically authenticate the user if the option is enabled
if (auto_login_after_register) {
// Regenerate session ID
session_regenerate_id();
// Declare session variables
$_SESSION['account_loggedin'] = TRUE;
$_SESSION['account_name'] = $_POST['username'];
$_SESSION['account_id'] = $id;
$_SESSION['account_role'] = $role;
// Do not change the output message as the AJAX code will use this to detect if the registration was successful and redirect to the home page
echo 'Redirect: home.php';
} else {
echo 'Success: You have successfully registered! You can now login!';
}
}
Sell online with a complete PHP and MySQL shopping cart: PayPal, Stripe, and crypto checkout, product options, digital downloads, and a full admin panel.
// Prepare statement and execute, prevents SQL injection
$stmt = $pdo->prepare('SELECT * FROM products WHERE product_status = 1 AND (BINARY id = ? OR url_slug = ?)');
$stmt->execute([ $_GET['id'], $_GET['id'] ]);
// Fetch the product from the database and return the result as an Array
$product = $stmt->fetch(PDO::FETCH_ASSOC);
// Check if the product exists (array is not empty)
if (!$product) {
// Output simple error if the id for the product doesn't exists (array is empty)
http_response_code(404);
exit('Product does not exist!');
}
// Select the product images (if any) from the products_images table
$stmt = $pdo->prepare('SELECT m.*, pm.position FROM product_media_map pm JOIN product_media m ON m.id = pm.media_id WHERE pm.product_id = ? ORDER BY pm.position ASC');
$stmt->execute([ $product['id'] ]);
// Fetch the product images from the database and return the result as an Array
$product_media = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Select the product options (if any) from the product_options table
$stmt = $pdo->prepare('SELECT CONCAT(option_name, "::", option_type, "::", required) AS k, option_value, quantity, price, price_modifier, weight, weight_modifier, option_type, required FROM product_options WHERE product_id = ? ORDER BY position ASC, id');
$stmt->execute([ $product['id'] ]);
// Fetch the product options from the database and return the result as an Array
$product_options = $stmt->fetchAll(PDO::FETCH_GROUP);
// Check if product is on wishlist
$on_wishlist = false;
// Check if the user is logged in
if (isset($_SESSION['account_loggedin'])) {
$stmt = $pdo->prepare('SELECT COUNT(*) FROM wishlist WHERE product_id = ? AND account_id = ?');
$stmt->execute([ $product['id'], $_SESSION['account_id'] ]);
$on_wishlist = $stmt->fetchColumn() > 0 ? true : false;
}
A PHP and MySQL ticketing system: public and private tickets, priorities, categories, comments, attachments, status emails, and an admin panel.
// Redirect user if not logged in
if (!isset($_SESSION['account_loggedin'])) {
header('Location: login.php');
exit;
}
// Connect to MySQL using the below function
$pdo = pdo_connect_mysql();
// Retrieve the tickets from the database
$stmt = $pdo->prepare('SELECT * FROM tickets WHERE account_id = ? AND approved = 1 ORDER BY created DESC');
$stmt->execute([ $_SESSION['account_id'] ]);
$account_tickets = $stmt->fetchAll(PDO::FETCH_ASSOC);
A PHP and MySQL invoice management system: PDF generation, client management, recurring invoices, status tracking, email notifications, and an admin panel.
Most of CodeShack is free and stays that way. This is the honest line between the two.
| Feature | Free | Pro |
|---|---|---|
| everything that is already free | ||
| Tutorials, with the complete source | Included | Included |
| All 409 browser tools | Included | Included |
| 741 reference pages with live examples | Included | Included |
| Code snippets, no account needed | Included | Included |
| the packages | ||
| The 16 packages, source and documentation | $15 to $35 each | All included |
| New packages as they land | Bought one at a time | Included |
| Updates to a package you own | Included | Included |
| Downloads | One link per purchase | Unlimited |
| members only | ||
| Premium tools | Not included | Included |
| Members-only articles | Not included | Included |
| Priority support | Not included | Included |
| Early access to new work | Not included | Included |
| how the site reads | ||
| Ads on the page | Yes | None |
| Follows you between devices | Not included | Included |
Everyone gets everything. The only decision is how often you want to be charged.
For anyone building with the site
No account needed
For developers who ship on a deadline
Billed yearly at $96. Save $48 against monthly.
These are about the packages themselves, which are the largest part of what a membership covers
David was ultra-helpful and patient with this amateur and took steps to guide me through. A great outfit and highly recommended.
Drag and drop working, as is everything else. You have saved me a ton of time and effort, and I really appreciate it.
It is with zero hesitation that I provide CodeShack with my highest recommendation for beautifully written code and above-and-beyond customer service.
Great work, it's now working like a charm and without the setbacks. Thank you for the support, I really appreciate all the effort.
I have just purchased the Newsletter System and it works perfect. Thank you for an amazing script.
Loving everything about your website and service.
Everything worth knowing before you sign up
All 16 packages we sell, worth $360 if you bought them one at a time. The premium tools. Members-only articles. Priority replies to support email. Early access to new work. And no ads on any page of the site while your membership is active.
Anything you downloaded stays yours and the license on it does not expire, so a site you already shipped keeps working. You stop being able to download new versions and new packages once the membership ends.
Open your account, go to Billing, and select Cancel membership. It takes one click, there is nothing to email us about, and you keep everything until the period you already paid for runs out.
No. The bundle is a one-time purchase of the PHP scripts. Pro is a membership that covers the PHP, Python and Node.js packages together, plus the tools, the writing and the ad-free site, and it keeps up with everything we add.
Yes, and in as many client projects as you like. The license has no per project fee and no limit on the number of sites you build with it. The one thing it does not allow is selling or giving away the code on its own, so shipping it inside something you built is fine and shipping it as the thing itself is not.
Card payments through Stripe, which also covers Apple Pay, Google Pay and Link. Your card details go straight to Stripe and never touch our servers.
Yes, because the downloads and the ad-free setting have to follow you between devices. You can sign up with an email address and password, or with Google, X or Facebook.
It does. Every tutorial, tool, snippet and reference page stays free to use with no account. Pro exists so that stays true.
Start today and the whole catalog is in your account a minute from now.
Get Pro for $8 a monthBilled yearly at $96. Monthly is $12. Cancel any time.