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

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. ”

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 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 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
and not House
April 11, 2003
4: Security 160 Script 4.8, line 11 reads

but should have an if
before it, as written in step 6 on page 162.
if (strstr($PHP_SELF,

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


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
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
very beginning of the page.

February 14, 2002
5: Dynamic Web Applications 230 On page 230, in the right hand column, the
if ($level = “development”)

should read
if ($level == “development”)

, an embarrassing but all too common
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
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
March 20, 2002
7: Networking With PHP 283 In seems that the definition of phpSniff has
changed so that line 11 (
) 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,
November 28, 2001
8: PHP and the Server 313 In Script 8.7, the Yahoo! URL has changed. It
would now be
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
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,

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
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 2, 2002
Appendix B: Databases 476 The sidebar should be titled Common Database
, not Command
Database Mistakes
April 23, 2002