About this book
You want to make your websites more dynamic by adding a feedback form, creating a private area where members can upload images that are automatically resized, or perhaps storing all your content in a database. The problem is, you're not a programmer and the thought of writing code sends a chill up your spine. Or maybe you've dabbled a bit in PHP and MySQL, but you can't get past baby steps. If this describes you, then you've just found the right book.
PHP and the MySQL database are deservedly the most popular combination for creating dynamic websites. They're free, easy to use, and provided by many web hosting companies in their standard packages. Unfortunately, most PHP books either expect you to be an expert already or force you to go through endless exercises of little practical value. In contrast, this book gives you real value right away through a series of practical examples that you can incorporate directly into your sites, optimizing performance and adding functionality such as file uploading, email feedback forms, image galleries, content management systems, and much more. Each solution is created with not only functionality in mind, but also visual design.
But this book doesn't just provide a collection of ready-made scripts: each PHP solution builds on what's gone before, teaching you the basics of PHP and database design quickly and painlessly. By the end of the book, you'll have the confidence to start writing your own scripts, or if you prefer to leave that task to others, to adapt existing scripts to your own requirements.
Right from the start, you're shown how easy it is to protect your sites by adopting secure coding practices. The book has been written with an eye on forward and backward compatibility recommending PHP 5 techniques, but providing alternative solutions for servers still running PHP 4.3. All database examples demonstrate how to use the original MySQL extension, MySQL Improved, or the PHP Data Objects (PDO) introduced in PHP 5.1, letting you choose the most suitable option for your setup.