“Effortless E-commerce with PHP and MySQL” Update

August 3, 2010

For the past couple of weeks I’ve been working full-bore on my next book, titled “Effortless E-commerce with PHP and MySQL” (the name has changed slightly since its original), which is why I haven’t been able to post much on the blog. I’m currently working on Chapter 5 , which is the penultimate chapter for the first of the two e-commerce examples being developed. Here’s how the first six chapters are shaping up:

Part 1: Fundamentals

Chapter 1: Getting Started

  • Identifying Your Business Goals
  • Researching Legal Issues
  • Choosing Web Technologies
  • Selecting a Web Host
  • Using a Payment System
  • The Development Process

Chapter 2: Security Fundamentals

  • Security Theory
  • PCI Requirements
  • Server Security
  • Using Secure Transactions
  • Common Vulnerabilities

———————

Part 2: Selling Virtual Products

Chapter 3: First Site: Structure and Design

  • Database Design
  • Server Organization
  • Connecting to the Database
  • The Config File
  • The HTML Template

Chapter 4: User Accounts

  • Defining Helper Functions
  • Registration
  • Logging In
  • Logging Out
  • Managing Passwords
  • Improving the Security

Chapter 5: Managing Site Content

  • Creating an Administrator
  • Adding Pages
  • Displaying Page Content
  • Adding PDFs
  • Displaying PDF Content
  • Recommended Alterations

Chapter 6: Using PayPal

———————

Chapter 1 is an overview of the process along with tips for making certain decisions, such as hosting. Chapter 2 is generally a big-picture look at security, along with what primary decisions (e.g., hosting, certificate types) you’ll need to make. At the end of the chapter, I discuss the most common server vulnerabilities and attacks and how you go about preventing those. Although the chapter is really about an approach to security, it has some exact recommendations as well. More specific security techniques are demonstrated throughout the rest of the book.

In Chapters 3-6, you’re creating a entire site for selling access to online content, in both HTML and PDF formats. You’ll learn some ways to automate processes and effectively separate out bits of code to make the site easy to maintain. I don’t do anything fancy with the HTML templates, the PHP, or the MySQL, but there’s some great application of those technologies (in other words, you’ll learn a lot but won’t be overwhelmed with stuff like Smarty, OOP, etc.).

In Chapter 4 I created some really great helper functions. I even impressed myself with their usefulness and simplicity. The chapter also handles passwords and form validation in very secure ways. Chapter 4 concludes with some other ways you can heighten the security of the system, when you deem that appropriate. Chapter 4, User Accounts, may be something you’re familiar with overall (perhaps from another book of mine), but I think I’ve added enough new ideas here to still give you some value for reading it.

In Chapter 5 you learn how to add content to the site. There are two types. For the first, you can add HTML content using a WYSIWYG editor, that I show you how to integrate. For the second, you can upload PDFs. The PDFs will only be served through a proxy script so that a user must be logged in (with an account that hasn’t expired) to access them. The chapter wraps with discussions of about six different features you could add to the site, almost all intended to make it a better site for the potential customers. Although I don’t walk through the every add-on in complete detail, you’ll see what other tables you’d need to create, what SQL commands might be involved, and how the PHP code would work. I like this addition to the chapter and hope you will, too.

Chapter 6 integrates PayPal. You’ll learn a bit about how PayPal works and what its strengths and weaknesses are. Then you’ll use PayPal’s sandbox to test your site and see what you need to do to take the site live.

Next week I’ll be starting on Part 3 of the book, in which you’ll create an online site that sells coffee (beans, not brewed). I choose coffee as a product for a couple of reasons. First, I love coffee. Second, it’s an example of a physical product that must be shipped, that has inventory, and that also has permutations–size, roast, whole beans/ground–without being too, too complicated.

So that’s where things stand. Thanks for your interest in the book and please share any questions and comments you may have!