Larry Ullman

Translating Geek Into English

“PHP Advanced for the World Wide Web: Visual QuickPro Guide” Errata

5 mins to read

[PHP Advanced

for the World Wide Web:
Visual QuickPro Guide](/books/php-advanced-for-the-world-wide-web-visual-quickpro-guide/)

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. ChapterPage #DescriptionDate Added1: Advanced PHP Programming10At 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, 20021: Advanced PHP Programming13In Script 1.5 on line 41, the closing is missing. The error is repeated in step 15 on page 17.January 29, 20031: Advanced PHP Programming20In 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, 20021: Advanced PHP Programming23In the last tip, the title of Chapter 4 is spelled wrong. It should be Security.January 10, 20051: Advanced PHP Programming37Script 1.11 is missing the intial tag. This also applies to Step 1 on page 36.February 9, 20032: Object-Oriented Programming46The 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, 20022: Object-Oriented Programming56In Script 2.7 on line 8, it should be leftmargin=“0”.September 9, 20042: Object-Oriented Programming61In Script 2.11 on line 10, the comment should read Set the CSS file..August 17, 20032: Object-Oriented Programming63The 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, 20022: Object-Oriented Programming64In Script 2.12, line 7 has an extra semi-colon.February 16, 20032: Object-Oriented Programming64In Script 2.12 on line 10, there’s an extra V in the code. It should begin $page->SetParameter….August 17, 20032: Object-Oriented Programming68In Script 2.13 on line 27, the comment should read …Right Navigation….August 17, 20033: Databases109Line 86 in Script 3.4 is superfluous (I changed methodologies without removing it). This also applies to Step 27 on page 112.June 20, 20033: Databases117In 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, 20033: Databases118In Table 3.5, the term %l should have the result Hour as one or two digits and not House as….April 11, 20034: Security160Script 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 8, 20025: Dynamic Web Applications173In Step 5 and in Figure 5.4 , the password column should have a maximum length of 16, not 13.July 24, 20035: Dynamic Web Applications175In the second tip, there should be no comma after

INDEX (group_name).April 13, 20025: Dynamic Web Applications199In step 4 and in the corresponding Script 5.7, the closing

\[pass1\]

and not

\[password\]\['first\_name'\]\['firstname'\]

.April 25, 20025: Dynamic Web Applications221Script 5.14 is missing a closing . It should appear before the closing row tag on line 36 of the script.December 6, 20035: Dynamic Web Applications226In 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, 20025: Dynamic Web Applications230On 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, 20025: Dynamic Web Applications230In the right hand column, there are an uneven number of curly braces. There should be another end brace before set_error_handler().August 15, 20026: E-Commerce248Line 79 of Script 6.6 (page 248 and also in step 10 on page 250) is missing the closing tag. The line should end
No</ td>November 14, 20027: Networking With PHP283Script 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, 20027: Networking With PHP283In 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, 20058: PHP and the Server309In Script 8.6, line 18 should read:
$fp = fopen ($filename, ‘w’);November 28, 20018: PHP and the Server313In 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, 200210: Image Generation346In 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, 200211: Creating PDFs393At 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, 2002Appendix A: Installation464The 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, 2004Appendix B: Databases475Table 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 2, 2002Appendix B: Databases476The sidebar should be titled Common Database Mistakes, not Command Database Mistakes.April 23, 2002