PHP Advanced for the World Wide Web: Visual QuickPro Guide-->Errata
Unfortunately, despite the best efforts of myself, the technical editor, the copy editor, and the line editor, despite the multiple revisions, errors still occur. This page lists all the errors found in the book.
Note: errors are corrected in subsequent printings and therefore your particular copy may not contain all of the following.
You may also find the solution to your problem by using the book's corresponding forum. Signficant changes in the technology will be addressed there and you can also find problems and solutions encountered by other readers.
Known Errors in the Book:
| Chapter | Page # | Description | Date Added |
| 1: Advanced PHP Programming | 10 | At bottom of first column, the function function print_albums ($value, $key) { echo $value. " \n } is missing the closing "; which concludes the echo statement. |
March 05, 2002 |
| 1: Advanced PHP Programming | 13 | In Script 1.5 on line 41, the closing </td> is missing. The error is repeated in step 15 on page 17. | January 29, 2003 |
| 1: Advanced PHP Programming | 20 | In Script 1.6 the comment on line 21 (Read the file into an array) is a misprint. That line is actually opening a file for writing. The same applies to page 27, Script 1.9, line 31. | February 14, 2002 |
| 1: Advanced PHP Programming | 23 | In the last tip, the title of Chapter 4 is spelled wrong. It should be Security. | January 10, 2005 |
| 1: Advanced PHP Programming | 37 | Script 1.11 is missing the intial <head> tag. This also applies to Step 1 on page 36. | February 09, 2003 |
| 2: Object-Oriented Programming | 46 | The fourth paragraph which begins Now the variable $class exists ... should actually say Now the variable $object exists.... This mistake is repeated soon thereafter where $class->FunctionName(); should be $object->FunctionName();. | March 20, 2002 |
| 2: Object-Oriented Programming | 56 | In Script 2.7 on line 8, it should be leftmargin="0". | September 09, 2004 |
| 2: Object-Oriented Programming | 61 | In Script 2.11 on line 10, the comment should read Set the CSS file.. | August 17, 2003 |
| 2: Object-Oriented Programming | 63 | The third tip should statate that PHP does not support mutliple inheritances--building a class based upon more than one other classes. PHP does support multiple levels of inheritance. | February 28, 2002 |
| 2: Object-Oriented Programming | 64 | In Script 2.12, line 7 has an extra semi-colon. | February 16, 2003 |
| 2: Object-Oriented Programming | 64 | In Script 2.12 on line 10, there's an extra V in the code. It should begin $page->SetParameter.... | August 17, 2003 |
| 2: Object-Oriented Programming | 68 | In Script 2.13 on line 27, the comment should read ...Right Navigation.... | August 17, 2003 |
| 3: Databases | 109 | Line 86 in Script 3.4 is superfluous (I changed methodologies without removing it). This also applies to Step 27 on page 112. | June 20, 2003 |
| 3: Databases | 117 | In Script 3.6 on line 19, the close A tag is missing it's slash. The same applies to Step 36 on page 118. | August 18, 2003 |
| 3: Databases | 118 | In Table 3.5, the term %l should have the result Hour as one or two digits and not House as.... | April 11, 2003 |
| 4: Security | 160 | Script 4.8, line 11 reads (strstr($PHP_SELF, "login.php")) but should have an if before it, as written in step 6 on page 162. if (strstr($PHP_SELF, "login.php")) |
February 08, 2002 |
| 5: Dynamic Web Applications | 173 | In Step 5 and in Figure 5.4 , the password column should have a maximum length of 16, not 13. | July 24, 2003 |
| 5: Dynamic Web Applications | 175 | In the second tip, there should be no comma after INDEX (group_name). | April 13, 2002 |
| 5: Dynamic Web Applications | 199 | In step 4 and in the corresponding Script 5.7, the closing </form> tag is missing. | July 20, 2002 |
| 5: Dynamic Web Applications | 201 | On pages 201-202, in Script 5.9, lines 19, 22, 25, and 27 (written in Step 12) mistakingly use $this->$error_message instead of the proper $this->error_message. | April 18, 2002 |
| 5: Dynamic Web Applications | 201 | In Script 5.9 on line 20, the code if (isarray($message)) { should be if (is_array($message)) {. The error is repeated in step 12 on page 202. | December 23, 2002 |
| 5: Dynamic Web Applications | 203 | In Script 5.10 the parentheses are missing for the require_once() function. | July 20, 2002 |
| 5: Dynamic Web Applications | 203 | On line 80 of Scripts 5.10, 5.13, and 5.16 should refer to $HTTP_POST_VARS[pass1] and not $HTTP_POST_VARS[password]. | November 05, 2002 |
| 5: Dynamic Web Applications | 216 | On pages 216 and 225, in Scripts 5.13 and 5.16, the variable $HTTP_SESSION_VARS['first_name'] is twice erroneously referred to as $HTTP_SESSION_VARS['firstname']. | April 25, 2002 |
| 5: Dynamic Web Applications | 221 | Script 5.14 is missing a closing </td>. It should appear before the closing row tag on line 36 of the script. | December 06, 2003 |
| 5: Dynamic Web Applications | 226 | In Script 5.17, SID on line 27 will not have a value because session_start() is only called if the user is sucessfully logged in. (To be frank, I cannot recall right now exactly why I set it up this way.) As it stands you should either remove the $sid_value from lines 27-28 or move the session_start() line to the very beginning of the page. | February 14, 2002 |
| 5: Dynamic Web Applications | 230 | On page 230, in the right hand column, the
line if ($level = "development") { should read if ($level == "development") { , an embarrassing but all too common mistake. |
March 20, 2002 |
| 5: Dynamic Web Applications | 230 | In the right hand column, there are an uneven number of curly braces. There should be another end brace before set_error_handler(). | August 15, 2002 |
| 6: E-Commerce | 248 | Line 79 of Script 6.6 (page 248 and also in step
10 on page 250) is missing the closing </select> tag. The line
should end No</option></select></ td></tr> |
November 14, 2002 |
| 7: Networking With PHP | 283 | Script 7.2, line Item 5 should use the include_once() function and not require_once(). This mistake is repeated in the steps on page 282, step 6. | March 20, 2002 |
| 7: Networking With PHP | 283 | In seems that the definition of phpSniff has changed so that line 11 ( $browser->init();) is no longer necessary. This also applies in Step 7 on page 282. | July 08, 2005 |
| 8: PHP and the Server | 309 | In Script 8.6, line 18 should read: $fp = fopen ($filename, 'w'); |
November 28, 2001 |
| 8: PHP and the Server | 313 | In Script 8.7, the Yahoo! URL has changed. It would now be http://dir.yahoo.com/Computers_and_Internet/Progra mming_and_Development/Languages/Python/. Also some people are seeing warnings because $n is not initialized before use on line 36. This can be solved by setting $n = 0; on line 31. | March 06, 2002 |
| 10: Image Generation | 346 | In the last paragraph, the line coordinates of 10,50 means that the upper-right portion of the first character in the string will begin should say that the upper-left portion of the first character in the string will begin.... | February 16, 2002 |
| 11: Creating PDFs | 393 | At the top of the left column, it has the pdf_show_xy() function's
parameters in the wrong order. It should be: pdf_show_xy($pdf, $text, $x, $y) The usage in the following script is correct. |
December 12, 2002 |
| Appendix A: Installation | 464 | The steps for installing PHP on Mac OS X have changed. Marc Liyanage now provides a downloadable installer. Please see www.entropy.ch/software/macosx/php for instructions. | January 10, 2004 |
| Appendix B: Databases | 475 | Table B.4, the row for ENUM is out of alignment. The 1 or 2 bytes line should be under the Length column and left should be under Example. | January 02, 2002 |
| Appendix B: Databases | 476 | The sidebar should be titled Common Database Mistakes, not Command Database Mistakes. | April 23, 2002 |
| Click here to view the errata in the order they were submitted. Click here to view the most recent errors first. Click here to view the errata by page number. |
|||
Submit an Error:

Newsletter #16 Sent
Newsletter #16 just went out today after a long delay. It's a bigger one but there's lots of good stuff in there. You can read it online at http://www.dmcinsights.com/newsletter.php if you're not subscribed to receive it via email.(October 23, 2008)
Ruby: Visual QuickStart Guide Complete!
I'm very happy to announce that I've completed my Ruby: Visual QuickStart Guide. The book should be available in about three weeks or so (around early November 2008). The book turned out well, I think, and it should hopefully be a nice addition to the relatively small catalog of Ruby books that are available. In particular, I think that the Ruby on Rails chapter is really nice. I was able to develop a real-world example that demonstrates many aspects of the Rails framework. It also covers Rails 2.1, which has some significant changes from the 1.x version of Rails. More news about this book to come in future newsletters and on this site!(October 7, 2008)
Newsletter #15 Released
Newsletter #15 went out in early August but I've been remiss in posting this update about it. It's relatively short, with most of the discussion on the business side of creating your own business. You can read it online at http://dmcinsights.com/newsletter.php. The next newsletter should go out in a few days.(September 2, 2008)
