Unfortunately, despite the best efforts of myself, the technical editor, the copy editor, the line editor, the proofreader, and despite the multiple revisions, errors still occur. This page lists all the errors found in the book since it went to print.
Note: errors are corrected in subsequent printings and therefore your particular copy may not contain all of the following. You may also be experiencing problems not caused by a mistake in the book. If so, you may find the solution to your problem by using the book’s corresponding forum. Significant 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:
Click on a column heading to sort the table by that column.
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 5, 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 9, 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 soonthereafter 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 9, 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 |
February 8, 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 5, 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 6, 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 |
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 8, 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 6, 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, |
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 |
January 2, 2002 |
Appendix B: Databases | 476 | The sidebar should be titled Common Database Mistakes, not Command Database Mistakes. |
April 23, 2002 |