852 PDF (Portable Document Format) function libraries, Web sites, 712 generating certificates, 722, 725 headers, 737 PDFlib, 725-729, 733-736 personalized documents, creating, 706 software, 710-712 Web site, 709 pdf add outline() function, 727 pdf begin page() function, 727 pdf close() function, 729 pdf fill() function, 736 PDF library Web site, 792 pdf open() function, 726 pdf rect() function, 735 pdf replace() function, 723 pdf set info() function, 726 pdf setlinewidth() function, 735 pdf show xy() function, 735 pdf show() function, 728 pdf stringwidth() function, 735 pdf stroke() function, 735 pdf.php, 713 PDFlib generating a PDF document, 725-729 generating certificates, 729, 733-736 installation, 794 PDFlib library Web site, 712 pdflib.php, 713 PEAR, installation, 809-810 Permissions, database optimization, 255 persistent connections database optimization, 256 Web databases, 229 personalization, user bookmarks, 474, 500-505 defined, 473 recommendation, implementing, 506-509 solution components, 474-475 system requirements, 474 usernames, 474 personalized documents, 705 certification project files, 713 headers, 737 index.html, 713-715 PDF, 722, 725-729 PDFlib, 729, 733-736 RTF, 718-721 score.php, 715-717 creating, 706 formats, 706-710 requirements, 710-712 PGP (Pretty Good Privacy), 325 PGP Security Web site, 325 Philip and Alex’s Guide to Web Publishing Web site, 815 phorum, 704 PHP adding support to IIS, 808 adding to Apache configuration, 808 basic authentication (HTTP), 303-304 calling functions, 19 canvas images, creating, 391 configuring, 795 constants, 26-27 control structures, 40-49 database interfaces, 236-237 date and time calendar functions, 385-386 checkdate() function, 382 converting between PHP and MySQL formats, 383-384 date calculations, 384-385 date() function, 379-382 floor() function, 385 getdate() function, 382 mktime() function, 381-382, 385 PHP Web site, 386 date() function, 19 development environments, IDE (inte- grated development environments), 448 embedding in HTML, 14-18 41 525x index 1/24/03 3:39 PM Page 852 853 PHP environment variables, functions, 354-355 evaluating strings, 430-431 extensions, loading dynamically, 434 function names in code, 443 functions dl() function, 434 eval() function, 430-431 getlastmod() function, 434 get_current_user() function, 433 get_extension_funcs(), 433 get_loaded_extensions() function, 433 get_magic_quotes_gpc() function, 430 highlight_file(), 435 highlight_string() function, 435 ini_get() function, 434-435 ini_set() function, 434-435 serialize() function, 431-432 set_magic_quotes_runtime() function, 430 show_source() functions, 435 unserialize() function, 432 gd documentation, Web site, 412 images base canvas, setting up, 399 creating, 390-391, 394-396, 399-404 formats, 388 generating automatically, 395 GIF (Graphics Interchange Format), 389-390 JPEG (Joint Photographic Experts Group), 388 outputting, 393-394 PNG (Portable Network Graphics), 389 supporting, 387-388 text, 391-393, 399-403 WBMP (Wireless Bitmap), 389 Web site support, 387 installation, 795 binary installations, 790-791 for Windows, 807-808 source installations, 791 jpeg-6b, downloading, FTP site, 388 language constructs, 431 libraries, Web sites, 791 magic quotes, 429-430 modular names in code, 444 myErrorHandler() function, 469 mysql connect() function, 460 mysql errno() function, 460 mysql error() function, 460 mysql pconnect() function, 460 mysql query() function, 460 mysql select db() function, 460 network lookup functions, 361-365 online manual, Filesystem section, 69 operators arithmetic operators, 28-29 assignment operators, 24, 29-31 associativity, 37 bitwise operators, 33-34 comma operator, 34 comparison operators, 32-33 error suppression operator, 34-35 execution operator, 35 logical operators, 33 precedence, 37-38 string operators, 29 ternary operator, 34 totaling forms, 35-36 optimizations, 451-452 resources, 813-814 rewriting code, 441-442 running, 790 scripts, 431-434 debugging variables, 463-465 error reporting levels, 465-468 errors, 468-471 programming errors, 455-463 serialization, 431-432 session control. See session control sessions. See sessions set error handler() function, 468 Snoopy class, 376 How can we make this index more useful? Email us at indexes@samspublishing.com 41 525x index 1/24/03 3:39 PM Page 853 854 PHP statements, 17 Support, testing, 799 syntax highlighter, 435 tags, 16-17, 120 testing, Windows environment, 809 variable functions, 38-40 variable names in code, 443 variables form variables, accessing, 20-24 identifiers, 24 scope, 27-28 types, 25-26 user declared variables, 24 values, assigning, 24-25 Web application projects, documentation, 448 Web site, 386, 442, 791, 811 writing for file upload, 339-340, 343-344 PHP Application Tools Web site, 815 PHP Base Library Web site, 814 PHP Center Web site, 814 PHP Classes Repository Web site, 240, 814 PHP Club Web site, 814 PHP Developer Web site, 814 PHP Developer’s Network Unified forum, 815 PHP Homepage Web site, 814 PHP Kitchen Web site, 815 PHP Resource Web site, 814 PHP SOAP libraries, 747 PHP XML library, 747 PHP:Hypertext Preprocessor Web site, 94 php.ini file auto_append_file, 125-126 auto_prepend_file, 125-126 directives, editing, 434-435 PHP.Net Web site, 813 PHP4 Resource Web site, 813 php4win Web site, 586 phpautodoc Web site, 449 PHPBookmark application creating, 473 database schema, 477-478 diagrams, 475 front page, 478-481 function libraries, 476 files, 476 PHPBuilder.com Web site, 116, 813 PHPCertifcation.pdf, 713 PHPCertification.rtf, 713 phpDoc Web site, 448 phpDocumentor Web site, 449 PHPIndex.com Web site, 814 phpinfo() command, 27 phpinfo() function, 355, 712 PHPLib Web site, 413 phpslash, 704 PHPSlash Web site, 704 PHPWizard.net Web site, 813 plain text encryption, 284 online newsletters, 623 planning software engineering, 440-441 plus symbol (+) regular expressions, 112 Web forum articles, 682 PNG (Portable Network Graphics), Web site, 389 poll database, setting up, code, 404-405 polls, users, 405 pollsetup.sql file, 404 polygons, ImagePolygon() function, 412 polymorphism (object-oriented develop- ment), 147 POP (Post Office Protocol), 358 POP3 (Post Office Protocol version 3), 585-586 Portable Document Format. See PDF Portable Network Graphics (PNG), Web site, 389 positioning text onto buttons, 402-403 POSIX regular expressions. See regular expressions posix_getgrgid() function, 350 posix_getpwuid() function, 350 Post Office Protocol (POP), 358 41 525x index 1/24/03 3:39 PM Page 854 855 protocols Post Office Protocol version 3 (POP3), 585-586 post-increment operator, 31 posters (Web forum application), 678 Postnuke Web site, 815 PostScript, 708-709 PostScript Type 1 fonts, downloading (FTP site), 388 power failures, 292 pre-increment operator, 31 precedence, operators, 37-38 preprocessing script architecture, 627 Pretty Good Privacy (PGP), 325 pretty() function, 648 prev() function, 90 previewing online newsletters, 665-666 PRIMARY KEY keyword, 192 primary keys (databases), 171 principle of least privilege, 185 print() function, 98 printf() function, 99-100 printing strings, 98-100 text on images, 391-393 privacy policies, 266 private key encryption, 285 private keys, Gnu Privacy Guard (GPG), 326 privilege system, 241 columns_priv table, 244-245 db table, 243-244 grant table, 245-246 host table, 243-244 privileges, updating, 246 tables_priv table, 244-245 user table, 242-243 privileges FILE, 248 GRANT, 248 MySQL, 190 global privileges, 186 GRANT command, 185-186, 189 principle of least privilege, 185 REVOKE command, 188-189 types, 186-188 PROCESS, 248 updating, 246 user, database security, 248 problems, file uploads, 344-345 PROCESS privilege, 188, 248 process.php script (Shopping Cart applica- tion), 542-543 processing HTML forms, Bob’s Auto Parts application, 12-14 Product.php class, 776 progex.php file, 353 programming errors, 455 logic errors, 462-463 runtime errors, 457 database interaction, 459-461 functions that don’t exist, 458-459 input data, 462 network connections, 461-462 reading/writing files, 459 syntax errors, 456-457 properties of files, changing, 350-351 protocol stacks, 319-320 protocols. See also SOAP (Simple Object Access Protocol) application layer protocols, 320 File Transfer Protocol (FTP), 365, 374 anonymous login, 368 filetime() function, 370 file_exists() function, 370 ftp_connect() function, 369 ftp_fget() function, 371 ftp_fput() function, 372 ftp_get() function, 372 ftp_login() function, 369 ftp_mdtm() function, 370 ftp_nlist() function, 373 ftp_put() function, 372 ftp_quit() function, 372 ftp_size() function, 373 How can we make this index more useful? Email us at indexes@samspublishing.com 41 525x index 1/24/03 3:39 PM Page 855 856 protocols mirroring files, 366, 368-372 opening files, 56 set_time_limit() function, 373 timeouts, avoiding, 373 uploading files, 372 HTTP (Hypertext Transfer Protocol), 56, 320-321 IMAP (Internet Message Access Protocol), 358, 585-586 IP (Internet Protocol), 320 POP (Post Office Protocol), 358 POP3 (Post Office Protocol version 3), 585-586 RFCs (Requests for Comments), 357-358 SMTP (Simple Mail Transfer Protocol), 358, 586 TCP (Transmission Control Protocol), 320 Web Services, 744-745 World Wide Web Consortium (W3C) Web site, 376 Prototypes code, 449-450 functions, 129 public key encryption, 285-286 public keys, Gnu Privacy Guard (GPG), 326-328 publish story.php, 563 publish.php, 563 purchase.php script (Shopping Cart appli- cation), 537, 541 putenv() function, 354-355 PX-PHP Code Exchange Web site, 813 Q Queries, EXPLAIN statement, 251-254 query select() function, 575 querying Web databases connections, setting up, 228-229 disconnecting from databases, 232 input data, 227-228 inserting new information into databases, 232-236 mysql_query() function, 230-231 retrieving results, 231-232 selecting databases, 230 quotes, magic quotes, 429-430, 516 R r+ file mode, 55 RAID (Redundant Array of Inexpensive Disks), 291 range() function, 72 RDBMS (relational database management systems), 69, 203 readdir($dir) function, 346 readdir() function, 346 readfile() function, 63 reading files, 53, 348-350 feof() function, 62 fgetc() function, 64 fgetcsv() function, 62-63 fgets() function, 62 fgetss() function, 62 file() function, 63 fopen() function, 62 fpassthru() function, 63 fread() function, 64 readfile() function, 63 runtime errors, 459 vieworders.php interface, 60-61 from directories, 345-347 reading e-mail (Warm Mail application), 358 mailbox contents, viewing, 608-611 message headers, viewing, 614-615 messages, 611-614 selecting accounts, 605-608 real-world objects, modeling (Web data- bases), 173 recommend urls() function, 507 recommend.php, 476 41 525x index 1/24/03 3:39 PM Page 856 . 33 9-3 40, 34 3-3 44 PHP Application Tools Web site, 815 PHP Base Library Web site, 814 PHP Center Web site, 814 PHP Classes Repository Web site, 240, 814 PHP Club Web site, 814 PHP Developer Web. 713 PHPCertification.rtf, 713 phpDoc Web site, 448 phpDocumentor Web site, 449 PHPIndex.com Web site, 814 phpinfo() command, 27 phpinfo() function, 355, 712 PHPLib Web site, 413 phpslash, 704 PHPSlash. Preprocessor Web site, 94 php. ini file auto_append_file, 12 5-1 26 auto_prepend_file, 12 5-1 26 directives, editing, 43 4-4 35 PHP. Net Web site, 813 PHP4 Resource Web site, 813 php4 win Web site, 586 phpautodoc