Web issues, database security 865 messages, 643-647 selecting accounts, 637-640 script architecture, 623-629 sending mail, 649-652 forwarding messages, 651-652 new messages, 649-651 replying to messages, 651-652 solution components, 619-620 solution overview, 620-621 WBMP (Wireless Bitmap), 403 Web application projects content, 471 separating from logic, 472 development environment, 469 documentation, 470 logic, 471 separating from content, 472 optimizations, 472-473 Zend Optimizer, 473 planning, 461-462 prototypes, 471 rewriting code, 462-463 software engineering, 460 testing code, 474-475 version control, 467-468 writing maintainable code, 463 coding standards, 463-467 directory structures, 467 functions, 467 Web browsers authentication, 292-293 secure transactions, 329-330 Web database architecture, 180-181 Web databases architecture, 180-181, 228-231 designing, 176-180 atomic column values, 178 keys, creating, 179 null values, avoiding, 179-180 real-world objects, modeling, 176 redundant data, avoiding, 176-178 table types, 180 update anomalies, avoiding, 177-178 querying, 232 connections, setting up, 234-235 disconnecting from databases, 238 input data, 232-233 inserting new informa- tion into databases, 238-241 mysql_db_query() function, 236 mysql_query() function, 235-236 retrieving results, 236-237 selecting databases, 235 selecting in MySQL, 193 tables column types, 196-205 creating, 194-199 keywords, 196 viewing, 198-199 users, setting up, 193 viewing in MySQL, 198-199 Web development, Philip and Alex’s Guide to Web Publishing Web site, 806 Web forum application, 712 article list, 718-731 collapsing threads, 719, 723 displaying articles, 724 expanding threads, 719-723 individual articles, viewing, 731-734 new articles, adding, 734-741 plus symbols, 719 treenode class, 725-731 database design, 716-718 extensions, 741 files, 715 posters, 716 solution components, 712-714 solution overview, 714-715 tree of articles, 729 tree structure, 713-714 tree_node class, 713 Web forum projects phorum, 741 phpslash, 741 Web forums, threads, 712 Web issues, database security, 253-254 40 7842 index 3/6/01 4:22 PM Page 865 Web pages, protecting multiple pages 866 Web pages, protecting multiple pages, 312 Web servers Apache. See Apache Web server authentication, 292-293 commands, functions, 365-367 file upload (PHP), 354-357 IIS (Internet Information Server) basic authentication, 319-321 configuring with Internet Services Manager, 319-321 secure storage, 336-337 credit card numbers, 338 Secure Web servers, 298- 299 Web database architecture, 180-181 Web services, adding to Web pages, 371-374 Web site templates, require() statement, 121-126 Web sites Adobe Acrobat, 750 Adobe, FDF, 763 AMANDA, 301 Amazon.com, 278 Analog, 271 ANSI (SQL standard), 226 Apache, 784 Apache Software, 806 Apache Today, 806 Apache Week, 806 authentication documenta- tion, 324 Bill Gates Wealth Clock, 374 boo.com, 278 Boutell, 402, 428 BUGTRAQ archives, exploits, 357 Burn All Gifs, 404 C2Net, 298 Calendar Conversions Overview, 400 CERT Advisory, 782 CGI specification, 368 ClibPDF library, 751 commercial Web sites. See commercial Web sites cURL, 390 CVS (Concurrent Versions System), 468 DatabaseCentral.com, 806 Developer Shed, 116 Devshed, 428 DevShed.com, 804 e-gineer, 806 EPA, 302 Equifax Secure, 297 Evil Walrus, 805 FastTemplate, 472 FDF, 763 Fedex, 276 FishCartSQL, 584 Free Software, 403 FreeType library, downloading, 402 gd documentation, 428 Ghostscript, 748 GIF (Graphics Interchange Format), downloading, 404 GNU Privacy Guard, 339 Google, 787 graphs, 428 HotScripts.com, 805 IDE (integrated develop- ment environments), 469 IMAP Connection, 618 International PGP Home Page, 339 JPEG (Joint Photographic Experts Group), 403 JPEG library, 751 KPHPDevelop, 469 Lycos, 787 Microsoft Word, 746 MIT Distribution Center for PGP, 338 Mod_SSL, 784 MySQL, 185, 263, 322, 784, 795, 802, 806 date and time functions, 400 MySQL online manual, 206 MySQL Web, 226 Natural Order String Comparison, 105 Netscape cookie specification, 432 SSL 3.0 Specification, 347 New York Times, 304 Oodie.com, 805 OpenSSL, 784 PDF, 748 PDFlib library, 751 PGP Security, 338 Philip and Alex’s Guide to Web Publishing, 806 PHP, 462, 766, 784, 802 calendar functions, 400 date and time functions, 400 40 7842 index 3/6/01 4:22 PM Page 866 ZEND.Com Web site 867 PHP Base Library, 805 PHP Center, 805 PHP Classes Repository, 805 Metabase, 243 PHP Club, 805 PHP Developer, 805 PHP Homepage, 805 PHP image support, 402 PHP libraries, 783 PHP online manual, Filesystem section, 67 PHP Resource, 805 PHP:Hypertext Preprocessor, 92 PHP.Net, 804 PHP4 Resource, 804 php4win, 619 phpautodoc, 470 PHPBuilder.com, 116, 804 PHPCoder, 469 phpDoc, 470 phpDocumentor, 470 PHPEdit, 469 PHPGem, 469 PHPIndex.com, 805 PHPInfo.net, 805 PHPLib, 430 PHPSlash, 741 PHPWizard.net, 804 PNG (Portable Network Graphics), 403 PX-PHP Code Exchange, 804 RFC Editor, 370, 389 RSARef, 784 Slashdot, 304, 712 SourceForge, 389, 470, 806 SQL Course, 806 SQL Pro, 806 SQL tutorial, 806 Summary, 271 SYSTRAN, 804 Thawte, 289, 297 TIFF library, 751 Tripwire, 286 UNISYS, 404 UPS, 276 VeriSign, 289, 297 Webalizer, 271 WeberDev.com, 804 WebMonkey.com, 805 whatis?com, 243 World Wide Web Consortium (W3C), protocols, 389 Zend, 116, 322, 428, 473 ZEND.Com, 804 Webalizer Web site, 271 WeberDev.com Web site, 804 WebMonkey.com Web site, 805 whatis?com Web site, 243 WHERE clause, 212 join condition, 215 WHERE clauses, compari- son operators, 212-213 while loops, 44-45 whitespace, 16 trimming from strings, 96-97 wildcard character (%), 250 Windows, 793 Apache for, 798-799 installing Apache, 795-796 MySQL, 793 PHP, 799-800 running Apache, 796 testing PHP, 800 Windows 2000, 794 Windows 95/98, 794 Windows NT, 794 Windows 2000, 794 Windows 95/98, 794 Windows NT, 794 Wireless Bitmap. See WBMP word processor formats, 746 World Wide Web Consortium (W3C) Web site, protocols, 389 writing code for classes, 159 attributes, 159-160 functions, 160-161 maintainable code, 463-467 meta tags, 160 operations, 161 Page class code listing, 161-165 ServicesPage class, 166-167 TLA Consulting home page, generating, 165-166 files, runtime errors, 482 maintainable code, 463- 467 PHP, file uploads, 354-357 text onto buttons, 419 to files, 52 file formats, 58 fwrite() function, 57 XML style (PHP tags), 15 Zend Web site, 116, 322, 428, 473 ZEND.Com Web site, 804 40 7842 index 3/6/01 4:22 PM Page 867 . 804 PHPCoder, 469 phpDoc, 470 phpDocumentor, 470 PHPEdit, 469 PHPGem, 469 PHPIndex.com, 805 PHPInfo.net, 805 PHPLib, 430 PHPSlash, 741 PHPWizard.net, 804 PNG (Portable Network Graphics), 403 PX -PHP Code. PM Page 866 ZEND.Com Web site 867 PHP Base Library, 805 PHP Center, 805 PHP Classes Repository, 805 Metabase, 243 PHP Club, 805 PHP Developer, 805 PHP Homepage, 805 PHP image support, 402 PHP. libraries, 783 PHP online manual, Filesystem section, 67 PHP Resource, 805 PHP: Hypertext Preprocessor, 92 PHP. Net, 804 PHP4 Resource, 804 php4 win, 619 phpautodoc, 470 PHPBuilder.com, 116, 804 PHPCoder,