PHP Hacks: Tips & Tools for Creating Dynamic Web Sites by Jack D. Herrington This errata page lists errors corrected in the most recent printing. If you have technical questions or error reports, you can send them to booktech@oreilly.com. Please specify the printing date of your copy. This page was updated July 28, 2008. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification [61] For hack 16 it should be noted that: The startlink function fails to increment nextid. It now reads: function start_link( $text ) { global $nextid; $nextid++; (102, 103) Second Paragragh; The author uses the imagecopyresized() function to make image thumbnails, but in practice this results in terrible-looking images. Switching to the function imagecopyresampled(), takes the same arguments and produces a much better looking image. Side by side, the difference between the functions is quite astounding, especially when looking at an image that you only cut the dimensions in half. Replaced imagecopyresized with imagecopyresampled. {233} 3rd line in "Running the Hack"; "mydb" is incorrect since "transtest" is used in trans.php. 'mydb' has been changed to 'transtest' {239} Example 6-18. The logout handler; the code now reads: (247, 249) Last paragraph in p.247 and 1st paragraph in p.249; management.php now reads manage.php. [272] Sampe code for using Net_Get(); After $geo = new Net_Geo(); added the line: $res = $geo->getRecord($ip); (407) Just below middle of the page, in the "foreach ($images as $img)" loop; The last line of the loop code looks like: img: "" }, The "," at the end causes a web browser to stop printing icons after the first iteration. The comma has been removed and now results in the correct code execution. Note that the download code from the O'Reilly site dated 05-Dec-2006 also has this bug in it. Removing this comma verified proper functionality.