867 values upload.php, 340, 625 uploaded file listing, code, 345-346 uploading files displaying, 344 FTP functions, 372 HTML, 337-339 PHP, writing, 339-340, 343-344 problems, 344-345 online newsletters, 657-660, 665 UPS (uninterruptible power supply), 268, 292 url variable, 771 url_encode() function, 361 url_fns.php, 476 USAGE privilege, 188 user auth fns.php, 562 user authentication input data, validating, 484-485 logging in, 487-491 logging out, 491-492 passwords, 492-499 registering, 481, 484-486 user declared variables, 24 user defined sorts, multidimensional arrays, 82-83 user feedback (commercial Web sites), 264 user input, screening, 322-323 user interface design (commercial Web sites), 267 user personalization bookmarks, 475, 500-505 defined, 473 recommendations, implementing, 506-509 solution components, 474-475 system requirements, 474 usernames, 474 user privileges, database security, 248 user table, 242-243 user view (Shopping Cart application), 513 userfile field (HTML form), 339 usernames, 474 users administrative users, 188-189 authentication, 304-309 access control, implementing, 294-302 basic authentication. See basic authen- tication digest authentication, 302 encrypting passwords, 300-301 identifying users, 293-294 mod_auth_mysql module, 310-313 multiple pages, protecting, 301-302 storing passwords, 297-300 Web sites, 313 privileges, 185-190 secure transactions, 316-317 setting up in MySQL, 184-185, 189-190 votes, 404-405 user_auth_fns.php, 476, 625 user_auth_fns.php library, check_auth_user() function, 598 Using mkdir() function, 347 usort() function, 82-83 utilities myisamchk, 253-254 PHP Web application projects, 448 utilityfunctions.php file, 757 V valid email() function, 484-485 validating user authentication input data, 484-485 values array elements, 72 assigning to variables, 24-25 atomic column values (databases), 175- 176 columns, EXPLAIN statement, 253 default, database optimization, 255 null values, avoiding (Web databases), 176-177 returning, 30, 83, 139-140 tables, 171 How can we make this index more useful? Email us at indexes@samspublishing.com 41 525x index 1/24/03 3:39 PM Page 867 868 variables variable functions, 38-40 variable names, code, 443 variable scope, 27-28, 135-137 variable status, testing, 39 variable variables, 26 variables arrays, 71 applying functions to elements, 90-92 associative arrays, 74-76 converting to scalar variables, 92-94 counting elements, 92 elements, 72 indexes, 72 loading from files, 86-89 multidimensional arrays, 77-80 navigating within an array, 90 numerically indexed arrays, 72-74 reordering, 84-86 sorting, 80-82 two-dimensional arrays, 79 browse, 770 browseNode, 756 debugging, 463-465 drawing, code, 407 environment, functions, 354-355 file, 339-340 form variables, accessing, 20-24 global variables, 135 identifiers, 24 local variables, 135 mode, 756, 771 page, 756, 771 scalar variables, 71, 92-94 session variables, 417-420, 527 superglobals, 27 type, 770 types, 25-26 url, 771 user declared variables, 24 values, assigning, 24-25 verifications connection, MySQL database, 245 request, MySQL database, 246 VeriSign, 287 VeriSign Web site, 280 version control (code), 446-447 View Mail button, 665 viewing databases in MySQL, 195 list archives, 649-650 lists, 642-649 message headers (Warm Mail applica- tion), 614-615 tables in MySQL, 195 vieworders.php interface, 60-61 views, File Details, 349 vote database, 405 vote.html file, 404 votes, 404-405 W w file mode, 55 w+ file mode, 55 W3C (World Wide Web Consortium) Web site, 376, 740 Warm Mail application (email client), 585 Accounts, 600-608 application architecture, 588 database, setting up, 588-590 deleting email, 615-616 extensions, 620 files, 588 IMAP function library, 586-587 interface, 587-588 logging in, 597-600 logging out, 600 reading mail mailbox contents, viewing, 608-611 message headers, viewing, 614-615 messages, 611-614 selecting accounts, 605-608 script architecture, 590, 596 sending mail, 616-620 solutions, 586-588 WBMP (Wireless Bitmap), 389 41 525x index 1/24/03 3:39 PM Page 868 869 Web sites Web application projects content, separating from logic, 450 development environment, 448 documentation, 448-449 logic, 450 optimizations, 451-452 planning, 440-441 prototypes, 449-450 rewriting code, 441-442 software engineering, 440 testing code, 452-453 version control, 447-448 writing maintainable code, 442-446 Web browsers authentication, 283 secure transactions, 316-317 Web database architecture, 178 Web databases architecture, 177-179, 224-226 designing, 173-177 querying connections, setting up, 228-229 disconnecting from databases, 232 input data, 227-228 inserting new information into data- bases, 232-236 mysql_query() function, 230-231 retrieving results, 231-232 selecting databases, 230 selecting in MySQL, 190 tables column types, 193-201 creating, 191-195 keywords, 192-193 viewing, 195 users, setting up, 190 viewing in MySQL, 195 Web development, Philip and Alex’s Guide to Web Publishing Web site, 815 Web forum application, 675, 698, 704 article list, 681 displaying articles, 686-687 individual articles, viewing, 694-696 new articles, adding, 696-703 plus symbols, 682 threads, 682-686 treenode class, 687-694 database design, 678-680 extensions, 703 files, 678 posters, 678 solutions, 676-678 tree of articles, 691 tree structure, 676-677 tree_node class, 677 Web forums, 675, 704 Web issues, database security, 248-249 Web pages, authentication (protecting multiple pages), 301-302 Web servers Apache. See Apache Web server authentication, 283 commands, functions, 352-354 file upload, PHP, writing, 339-340, 343- 344 IIS (Internet Information Server), 308-309 secure storage, 323-325 Secure Web servers, 288-289 Web database architecture, 178 Web Services. See also SOAP (Simple Object Access Protocol) adding to Web pages, 358-361 defined, 744-746 interfaces (Amazon), 746-747 protocols, 744-745 Web Services Description Language (WSDL), 745 Web site templates, require() statement, 120-125 Web sites. See also commercial Web sites Adobe Acrobat, 711 Adobe, FDF, 722 AMANDA, 291 Amazon.com, 270 Analog, 264 ANSI, SQL standard, 220 How can we make this index more useful? Email us at indexes@samspublishing.com 41 525x index 1/24/03 3:39 PM Page 869 870 Web sites Apache, 791 Apache Software, 815 Apache Today, 815 Apache Week, 815 authentication documentation, 313 Bill Gates Wealth Clock, 361 boo.com, 270 Boutell, 387, 412 BUGTRAQ archives, exploits, 344 Burn All Gifs, 390 C2Net, 288 Calendar Conversions Overview, 386 CGI specification, 355 ClibPDF library, 712 Codewalkers, 814 cURL, 376 cURL library functions, 792 CVS (Concurrent Versions System), 447 DatabaseCentral.com, 815 Developer Shed, 116 Devshed, 412 DevShed.com, 813 e-gineer, 814 EPA, 291 Equifax Secure, 287-288 Evil Walrus, 814 FastTemplate, 451 FDF, 722 Fedex, 268 FishCartSQL, 553 Free Software, 389 FreeType library, downloading, 388 gd documentation, 412 Ghostscript, 709 GIF (Graphics Interchange Format), downloading, 389 GNU Privacy Guard, 325 Google, 744 graphs, 412 HotScripts.com, 814 IMAP Connection, 586 International PGP Home Page, 325 JPEG (Joint Photographic Experts Group), 388 JPEG library, 712 Microsoft Word, 707 MIT Distribution Center for PGP, 325 Mod_SSL, 791 MySQL, 182, 258, 310, 386, 791, 805, 811, 815 MySQL online manual, 202 MySQL Web, 221 Natural Order String Comparison, 106 Netscape, 333, 415 New York Times, 294 Oodie.com, 814 OpenSSL, 791 PDF, 709 PDF library, 792 PDFlib library, 712 PGP Security, 325 Philip and Alex’s Guide to Web Publishing, 815 PHP, 386, 442, 811 image support, 387 libraries, 791 online manual, Filesystem section, 69 PHP Application Tools, 815 PHP Base Library, 814 PHP Center, 814 PHP Classes Repository, 240, 814 PHP Club, 814 PHP Developer, 814 PHP Homepage, 814 PHP Kitchen, 815 PHP Resource, 814 PHP:Hypertext Preprocessor, 94 PHP.Net, 813 PHP4 Resource, 813 php4win, 586 phpautodoc, 449 PHPBuilder.com, 116, 813 phpDoc, 448 phpDocumentor, 449 41 525x index 1/24/03 3:39 PM Page 870 871 Zend Web site PHPIndex.com, 814 PHPLib, 413 PHPSlash, 704 PHPWizard.net, 813 PNG (Portable Network Graphics), 389 Postnuke, 815 PX-PHP Code Exchange, 813 RFC Editor, 357, 376 Slashdot, 294, 675 Source Forge, 814 SourceForge, 376, 449 SQL Course, 815 Summary, 264 SYSTRAN, 813 Thawte, 280, 287 TIFF library, 712 Tripwire, 278 UNISYS, 389 UPS, 268 VeriSign, 280, 287 W3C, 740 Webalizer, 264 WeberDev.com, 814 WebMonkey.com, 814 whatis?com, 240 World Wide Web Consortium (W3C), protocols, 376 Zend, 116, 310, 412, 452 ZEND.Com, 813 Webalizer Web site, 264 WeberDev.com Web site, 814 WebMonkey.com Web site, 814 whatis?com Web site, 240 WHERE clause, 207-210 while loops, 46-47 whitespace, 17-18, 98 wildcard character (%), 245 Windows installing Apache, 805-806 MySQL, 801-804 PHP, 807-808 testing, PHP, 809 Wireless Bitmap (WBMP), 389 word processor formats, 707 World Wide Web Consortium (W3C) Web site, protocols, 376 writing code for classes, 165 attributes, 156-157 functions, 157-158 meta tags, 157 operations, 158 Page class code listing, 158, 162 ServicesPage class, 163-164 TLA Consulting home page, generat- ing, 162-163 files, runtime errors, 459 maintainable code, 442-446 PHP, file uploads, 339-340, 343-344 text onto buttons, 403 to files, 53, 59-60 WSDL (Web Services Description Language), 745 X-Z XML (Extensible Markup Language) Amazon, 739-740, 770-777 defined, 740-744 DTD (Document Type Definition), 743 elements, 743 example, 740-742 parsing (Amazon), 747 root elements, 743 SGML (Standard Generalized Markup Language), 740 tags (closing and opening), 743 XML Namespaces, 743 XML style (PHP tags), 16 xml_parser_create() function, 772 Zend Web site, 116, 310, 412, 452, 813 How can we make this index more useful? Email us at indexes@samspublishing.com 41 525x index 1/24/03 3:39 PM Page 871 . 29 3-2 94 mod_auth _mysql module, 31 0-3 13 multiple pages, protecting, 30 1-3 02 storing passwords, 29 7-3 00 Web sites, 313 privileges, 18 5-1 90 secure transactions, 31 6-3 17 setting up in MySQL, 18 4-1 85,. server authentication, 283 commands, functions, 35 2-3 54 file upload, PHP, writing, 33 9-3 40, 34 3- 344 IIS (Internet Information Server), 30 8-3 09 secure storage, 32 3-3 25 Secure Web servers, 28 8-2 89 Web database. 814 PHP Classes Repository, 240, 814 PHP Club, 814 PHP Developer, 814 PHP Homepage, 814 PHP Kitchen, 815 PHP Resource, 814 PHP: Hypertext Preprocessor, 94 PHP. Net, 813 PHP4 Resource, 813 php4 win,