Introduction When the first edition of PHP Solutions was published, I was concerned that the subtitle, Dynamic Web Design Made Easy, sounded overambitious. PHP is not difficult, but nor is it like an instant cake mix: just add water and stir. Every website is different, so it s impossible to grab a script, paste it into a web page, and expect it to work. My aim was to help web designers with little or no knowledge of programming gain the confidence to dive into the code and adjust it to their own requirements. The enduring popularity of the first edition suggests that many readers took up the challenge. Part of the book s success stemmed from the use of clear, straightforward language, highlighting points where you might make mistakes, with advice on how to solve problems. Another factor was its emphasis on forward and backward compatibility. The solutions were based on PHP 5, but alternatives were provided for readers still stuck on PHP 4. Time has moved on. PHP 5 is now a mature and stable platform. This new edition of PHP Solutions requires PHP 5.2 and MySQL 4.1 or later. Some code will work with earlier versions, but most of it won t. The emphasis on future compatibility remains unchanged. All the code in this book avoids features destined for removal when work resumes on PHP 6 (at the time of this writing, it s not known when that will be).