If you know some Perl and some MySQL, please, DO by
"MySQL and Perl for the Web" by Paul DeBois and figure out
how those fancy web applications out there are made and learn
how to be able to write one.
Paul's "MySQL and Perl for the Web" touches upon some topics
that NONE OF THE BOOKS out there ever covered in so much details.
The style and examples are amazing. He makes use of Perl5's Object
Oriented features which itself tells you that it's a professional
textbook for professional web-programmers.
The book teaches you neither Perl nor MySQL from basics. It
assumes you already have some basic knowledge of Perl and MySQL.
So it starts off at the most fun part without waisting neither his nor
the readers' time.
Here I'll go over the chapters in case the table of contents
don't tell you much (they didn't to me).
Chapter 1 and chapter 2 go over some basic things that you need
in order to understand and/or try out the examples in the book.
Chapter 2 goes over configurting your MySQL and Apache. I believe
if you are on a hosting service, this should've been done for you already.
It also teaches you to write "A Simple Web-Based Application - To-do List
Maintenance". Although the application doesn't require a lot of
brains to create, but it does cover some basic concepts that
you'll be using all the time in web-programming.
Chapter 3 gives some information on "Improving Performance with mod_perl"
and how to write scripts that work in mod_perl compiled servers.
Chapter 4, "Generating and Proccessing Forms" goes over "Form Anatomy"
and does introduce some concepts of "Form Desgin Issues"
Chapter 5, "Writing form-Based applications" is probably the wealthiest
chapter of the book. Following sections are available under this chapter:
"Product registration", "Using Email from Within Applications", "Running a
Giveaway contest", "Conducting a Poll", "Storing and Retriving Images",
"Electronic Greeting Cards - Send a Friend a Greeting".
This chapter lasts over 80 pages.
Chapter 6, "Automating the Form-Handling process" introduces some
concepts that you can make use of in order to automate the form handling
process through the use of MySQL's table metadata, which is available
through DESC table_name ( or SHOW COLUMNS FROM table_name ) query.
Using his concept I introduced a new module to CPAN.org, MySQL::TableInfo.
Chapter 7, "Performing Searches" covers "Writing a Form-Based Serch
Application" and "Extending" it. It also introduces the concept of
"Link-Based Navigation". It also teaches you how to split the results of the search
over several pages; suppose you have a result of 100 rows in your search, and
you show only 20 results at a page, and provide [previos] and [next] links
so that users could navigate over your pages. Neat, isn't it?
Cahpter 8, "Session Management" was the one I have been wating for so long.
It goes over some "State Maintenance Techqniques" used in web applications, then
introduces the most favorite one, "Active Client Identification" method.
The sections the chapter covers are: "State Maintenance Techqniques", "Implementing
Session Support", "Expiring Sessions", "Storing User Prefernces", "Implementing Resumable
Sessions" and "When Sessions aren't enough"
Chapter 9, "Security and Privacy" teaches you the ways of precaution you could
take against "bad guys" ( hackers? ) to insure the security of your site/database.
Also shows you how to write a login page to provide access to some sensitive information
using the techniques he just mentioned.
Chapter 10, "E-Commerce Applications" covers such topics as Shopping carts,
credit card validation and in the end of the chapter completed a fully operating
Although the book concentrates on MySQL, I wrote several applications that make use of
Berkeley Database using the same techniques as Paul suggested. I tell you, I lerned a lot....