<<

24_575872 bindex.qxd 5/27/05 6:28 PM Page 417

Index

PHP, 53 • A • security, 41 abstract classes, 403–404 Security Sockets Layer (SSL), 41 abstraction, 387–388 application development accessing consistency in coding style, 376 methods, 395–396, 399–400 constants, 376 MySQL databases, 33–34 discussion lists, 378 MySQL from PHP scripts, 37 documentation, 378 properties, 395–396 PHP , 377 Account class (HTTP authentication application) planning, 19–22, 375 code, 66–68 readability of code, 376 comparePassword method, 69–70 resource planning, 21–22 constructor, 68–69 reusable code, 377 properties, 66 schedule, 21 selectAccount method, 69 separating page layout from function, 377 Account class (user login application) testing code incrementally, 376 comparePassword method, 112 application scripts constructor, 111 accessing MySQL, 37 Admin-OO. createNewAccount method, 112–114 , 303–307 Admin.php getMessage method, 112 , 269–274 Auth-OO.php selectAccount method, 111 , 73–76 Catalog-oo.php accounts (MySQL) , 155–157 CompanyHome-OO.php creating, 35–36 , 294–300 CompanyHome.php modifying, 35 , 253–262 passwords, 35–36 error handling, 32–33 Login-OO.php permissions, 35 , 119–125, 293 login.php root, 35 , 92–100, 246–249 Orders-oo.php activating MySQL, 12–13 , 224–230 addCart method, 220 outside sources, 25–30 postMessage-OO.php AddField method, 327 , 361–363 postMessage.php addItem method, 214 , 339–342 postReply-OO.php addslashes function, 39COPYRIGHTED MATERIAL, 364–368 postReply.php Admin-OO.php script, 303–307 , 342–345 ProcessOrder.php Admin.php script, 269–274 , 200–207 ShopCatalog.php AllowOverride Authconfig directive, 50 , 193–194, 196–197 ShoppingCart.php AllowOverride None directive, 50 , 197–200 Apache Web server system calls, 31–32 viewForums-OO.php configuration file, 49 , 359–360 viewForums.php encryption, 41 , 337–338 viewThread-OO.php .htaccess file, 50–51 , 361 viewThread.php HTTP authentication, 49–52 , 338–339 viewTopic-OO.php password file, 51 , 360 viewTopic.php, 338 24_575872 bindex.qxd 5/27/05 6:28 PM Page 418

418 PHP & MySQL Everyday Apps For Dummies

applications Brown, David William (An Introduction to Object- content management system (CMS), 235–236 Oriented Analysis: Objects and UML in Plain HTTP authentication application, 52 English, 2nd Edition), 275 mailing list application, 414 built-in functions object-oriented code, 15–16 addslashes, 39 online catalog application, 131–132 MySQL extension, 12–13, 407–409 procedural code, 15–16 MySQL Improved extension, 12–13, 407–409 shopping cart application, 159–161 strip_tags, 110, 222, 292, 359 user login application, 77–78 trim, 110, 222, 292, 359 Web forum, 309 Arachnoid Web site, 17 programming editor, 17 • • attributes (objects), 386–387 cart application authentication. See HTTP authentication Add Items to Shopping Cart button, 167 authentication application Cancel Order button, 169 Account object, 60, 66–70 Catalog class, 208–210 Auth-OO.php script, 73–76 confirmation of order Web page, 170 Database object, 60, 62–66 Continue Shopping button, 168–169 features, 52 cookies, 161 functionality, 54 credit card handling, 160 object-oriented code, 60–73 customer feedback, 161 PasswordPrompter object, 60–62 customer login, 159–160, 231 procedural code, 56–60 database, 162–166 user database, 54–56 Database class, 216 WebPage object, 60, 71–73 databases, 161 welcome page, 59–60 Edit Shipping Information button, 169 AuthName section (.htaccess file), 50 Email class, 223 Auth-OO.php script, 73–76 fields_cart.inc file, 175–177 author control (Web forum), 336 fields_cart-oo.inc file, 179–182 author’s Web site, 414–415 fields_products_page.inc file, 171–172 AuthType section (.htaccess file), 50 fields_ship_info.inc file, 182–184 fields_ship_info-oo.inc file, 184–185 fields_summary.inc file, 188–190 • B • fields_summary-oo.inc file, 190 backups for MySQL databases, 40–41 functionality, 161 backward compatibility, 10 inventory, 231 Barebones Web site, 17–18 Item class, 210–212 BaseInfo class Order class, 216–221 code, 278–279 order tracking, 231 constructor, 279 Orders-oo.php script, 223–230 description, 276 PayPal, 160 getConnection method, 279 ProcessOrder.php script, 200–207 getId method, 279 product information Web page, 166–167 getName method, 279 purchasing methods, 160 properties, 278 session variables, 161 BBCode, 372 shipping fees, 160 BBEdit programming editor, 17 shipping form Web page, 168–169 body control (Web forum), 336 ShopCatalog.php script, 193–197 bonus chapter (CD-ROM), 414 shopping cart Web page, 168 24_575872 bindex.qxd 5/27/05 6:28 PM Page 419

Index 419

ShoppingCart class, 212–215 system requirements, 411 ShoppingCart.php script, 197–200 technical support, 415 shopping_product_page.inc file, 171–175 troubleshooting, 414–415 single_form.inc file, 182, 185–187 Chambers, Mark L. (iMacs For Dummies, 4th Edition), storing contents, 161 411–412 Submit Order button, 168–169 checkAddress method, 110 summary of order Web page, 169–170 checkEmail method, 110 summary_form.inc file, 188 checkForBlanks method (WebForm class) summary_page.inc file, 190–192 content management system, 292 table_page.inc file, 175, 177–179 shopping cart application, 222 table_page-oo.inc file, 179 user login application, 108 Update Cart button, 168 Web forum application, 358 View Shopping Cart button, 167 checkName method, 110 WebForm class, 221–222 checkPhone method, 110 WebPage class, 222 checkState method, 110 catalog application checkZip method, 110 Catalog class, 150–155, 157–158 child classes, 388–389 Catalog-oo.php script, 155–157 class files, 13 database, 132–135 class statement functionality, 131–132 accessing methods/properties, 395–396 functions_main.inc file, 148–149 class code, 392 index Web page, 136–140, 145 constructor, 396–397 object-oriented code, 149–155 format, 391 procedural code, 145–149 methods, 394–395 products Web page, 137, 140–145 naming classes, 392 Catalog class (catalog application) properties, 392–394 adding functionality, 157–158 classes code, 150–153 abstract classes, 403–404 constructor, 153–154 Account class (HTTP authentication application), displayAllofType method, 155 66–70 displayCategories method, 154 Account class (user login application), 111–114 getAllofType method, 154 BaseInfo class, 276, 278–279 getCategoryAndTypes method, 154 Catalog class (catalog application), 150–155 properties, 150 Catalog class (shopping cart application), 208–210 selectCatalog method, 154 child classes, 388–389 Catalog class (shopping cart application) ContentDownload class, 276, 289–291 constructor, 208 ContentItem class, 276, 283–289 getConnection method, 208 ContentType class, 276, 282–283 getName method, 208–210 Database class (content management system), getPrice method, 208–210 276, 292 useDatabase method, 208 Database class (HTTP authentication application), Catalog-oo.php script, 155–157 62–66 CD-ROM Database class (shopping cart application), 216 bonus chapter, 414 Database class (user login application), 110–111 helpful Web site links, 413–414 Database class (Web forum application), 357–358 installing, 412 defined, 386 license agreement, 412 Department class, 275–276, 279–281 ReadMe file, 411 Email class (shopping cart application), 223 source code files, 412–413 Email class (user login application), 117–119 24_575872 bindex.qxd 5/27/05 6:28 PM Page 420

420 PHP & MySQL Everyday Apps For Dummies

classes (continued) home Web page, 243–244 Exception class, 400–401 intranet, 236 inheritance, 398–399 keyword search, 307 instantiation, 390 login Web page, 243–244 Item class, 210–212 Login-OO.php script, 293 master class, 388 login.php script, 246–249 methods, 387, 394–395, 399–400 paging navigation, 307 naming, 392 permissions, 236 Order class, 216–221 uploading files, 236 parent class, 388 WebForm class, 276, 292 PasswordPrompter class, 61–62 code. See also PHP source code Post class, 355–357 Account class (HTTP authentication application), properties, 400 66–68 Session class, 114–117 BaseInfo class, 278–279 ShoppingCart class, 212–215 Catalog class (catalog application), 150–153 subclasses, 388–389 consistency, 376 TableAccessor class, 349–353 constants, 376 Thread class, 353–354 ContentDownload class, 289–291 WebForm class (content management system), ContentItem class, 284–288 276, 292 ContentType class, 282–283 WebForm class (shopping cart application), 221–222 conventions, 1–2 WebForm class (user login application), 102–110 Database class (HTTP authentication application), WebForm class (Web forum application), 358–359 62–64 WebPage class (HTTP authentication application), Database class (user login application), 110 71–73 Department class, 280–281 WebPage class (shopping cart application), 222 Email class, 117–118 CMS (content management system) Item class, 210–211 Admin-OO.php script, 303–307 object-oriented code, 15–16 Admin.php script, 269–274 Order class, 216–219 BaseInfo class, 276, 278–279 PasswordPrompter class, 61 CompanyHome-OO.php script, 294–300 Post class, 355–356 CompanyHome.php script, 253–262 procedural code, 15–16 company.inc file, 262–265 readability, 376 company-OO.inc file, 301–303 reusable code, 377 content detail Web page, 243, 245–246 separating page layout from function, 377 content list Web page, 243, 245 Session class, 114–115 content types, 235–236 ShoppingCart class, 212–214 ContentDownload class, 276, 289–291 TableAccessor class, 349–351 content_form.inc file, 266–268, 294, 303 testing code incrementally, 376 ContentItem class, 276, 283–289 Thread class, 353–354 ContentType class, 276, 282–283 WebForm class, 102–107 database, 236–243 WebPage class (HTTP authentication application), Database class, 276, 292 71–72 defined, 235 Codewalkers Web site, 380–381 Department class, 275–276, 279–281 CompanyHome-OO.php script, 294–300 department Web page, 243–244 CompanyHome.php script, 253–262 double_form.inc file, 249–252 company.inc file, 262–265 enhancements, 307 company-OO.inc file, 301–303 fields_content.inc file, 265–266, 294, 303 comparePassword method, 69–70, 112 24_575872 bindex.qxd 5/27/05 6:28 PM Page 421

Index 421

constants, 376 Database class, 276, 292 constructors defined, 235 Account class (HTTP authentication application), Department class, 275–276, 279–281 68–69, 111 department Web page, 243–244 Account class (user login application), 111 double_form.inc file, 249–252 BaseInfo class, 279 enhancements, 307 Catalog class (catalog application), 153–154 fields_content.inc file, 265–266, 294, 303 Catalog class (shopping cart application), 208 home Web page, 243–244 ContentDownload class, 291 intranet, 236 ContentItem class, 288 keyword search, 307 ContentType class, 283 login Web page, 243–244 Database class (content management system), 292 Login-OO.php script, 293 Database class (HTTP authentication application), login.php script, 246–249 64–65 paging navigation, 307 Database class (shopping cart application), 216 permissions, 236 Database class (user login application), 111 uploading files, 236 Database class (Web forum application), 358 WebForm class, 276, 292 Department class, 281 ContentDownload class Email class, 119 code, 289–291 Item class, 212 constructor, 291 names, 397 delete method, 291 Order class, 220 description, 276 PasswordPrompter class, 62 findByContentId method, 291 PHP constraints/requirements, 396 findById method, 291 Session class, 114, 116 properties, 289 ShoppingCart class, 214 save method, 291 TableAccessor class, 351–352 content_form.inc file, 266–268, 294, 303 WebForm class (content management system), 292 ContentItem class WebForm class (shopping cart application), 221 code, 284–288 WebForm class (user login application), 107 constructor, 288 WebForm class (Web forum application), 358 delete method, 288 WebPage class (HTTP authentication application), 72 description, 276 WebPage class (shopping cart application), 222 findByDeptType method, 288 content management system (CMS) findById method, 288 Admin-OO.php script, 303–307 getContentDate method, 288 Admin.php script, 269–274 getContentItem method, 289 BaseInfo class, 276, 278–279 getCreationDate method, 288 CompanyHome-OO.php script, 294–300 getLastUpDate method, 288 CompanyHome.php script, 253–262 getLastUpdBy method, 288 company.inc file, 262–265 properties, 283–284 company-OO.inc file, 301–303 save method, 288 content detail Web page, 243, 245–246 setContentDate method, 288 content list Web page, 243, 245 setCreationDate method, 288 content types, 235–236 setDescription method, 288 ContentDownload class, 276, 289–291 setLastUpdBy method, 288 content_form.inc file, 266–268, 294, 303 setName method, 288 ContentItem class, 276, 283–289 ContentType class ContentType class, 276, 282–283 code, 282–283 database, 236–243 constructor, 283 24_575872 bindex.qxd 5/27/05 6:28 PM Page 422

422 PHP & MySQL Everyday Apps For Dummies

ContentType class (continued) properties, 63 description, 276 useDatabase method, 65–66 findAll method, 283 Database class (shopping cart application), 216 findById method, 283 Database class (user login application) properties, 282 code, 110 controls (Web forum) constructor, 111 author, 336 getConnection method, 111 body, 336 useDatabase method, 111 freplyto, 337 Database class (Web forum application), 357–358 fresponse, 336 Database Management System (DBMS), 33 fsubject, 337 databases conventions used for PHP code, 1–2 accessing, 33–34 cookies backups, 40–41 customer information, 30 catalog database, 132–135 shopping cart application, 161 content management system (CMS), 236–243 copying objects, 401–402 customer information, 30 createNew method, 354 MySQL security database, 34–35 createNewAccount method, 112–114 shopping cart application, 161–166 createOrder method, 220 User database, 78–81 creating Web forum application, 311–317 .htaccess file, 50–51 DBMS (Database Management System), 33 MySQL accounts, 35–36 DDL (data definition language), 242 objects, 390, 399 delete method, 288, 291 password file, 51 Department class credit card handling, 160 code, 280–281 current directory, 14 constructor, 281 customer feedback, 161 description, 275–276 customer information findAll method, 281 cookies, 30 findById method, 281 databases, 30 getDescription method, 281 security, 30–32 properties, 279 session variables, 30 destroying objects, 402–403 text files, 30 directives customer login (shopping cart application), AllowOverride Authconfig, 50 159–160, 231 AllowOverride None, 50 directories current directory, 14 • D • include directory, 14 data definition language (DDL), 242 discussion application Database class (content management system) author control, 336 constructor, 292 BBCode, 372 description, 276 body control, 336 getConnection method, 292 database, 311–317 useDatabase method, 292 Database class, 357–358 Database class (HTTP authentication application) enhancements, 371–372 code, 62–64 file uploads/downloads, 372 constructor, 64–65 forum management, 372 getConnection method, 65 Forums Web page, 317–318, 321–322 freplyto control, 337 24_575872 bindex.qxd 5/27/05 6:28 PM Page 423

Index 423

fresponse control, 336 DisplayThreadsHeader method, 327 fsubject control, 337 DisplayTopics method, 324 functionality, 309 documentation, 378 functions_main.inc file, 346, 368–369 double_form.inc file functions_post.inc file, 346–347 shopping cart application, 249–252 functions_post-OO.inc file, 369–371 user login application, 83, 86–90 messageFields.inc file, 331–332 Dreamweaver MX, 19 messageForm.inc file, 331–334 Messages Web page, 317, 319, 328–330 New Message Web page, 317, 319–320, 331–334 • E • Post class, 355–357 editors postMessage-OO.php script, 361–363 Arachnophilia, 17 postMessage.php script, 339–342 BBEdit, 17 postReply-OO.php script, 364–368 common features, 17 postReply.php script, 342–345 demos, 16 Reply Web page, 317, 319–321, 334–335 EditPlus, 17 replyFields.inc file, 335–337 , 17 search tools, 372 HomeSite, 18 security, 310 HTML-Kit, 18 TableAccessor class, 349–353 TextWrangler, 18 Thread class, 353–354 , 18 threading, 371 EditPlus programming editor, 17 threads, 309–310 Emacs programming editor, 17 Threads Web page, 317–318, 324–327 Email class (shopping cart application), 223 topics, 310 Email class (user login application) user registration/authentication, 371 code, 117–118 viewForums.inc file, 321–323 constructor, 119 viewForums-OO.php script, 359–360 properties, 117 viewForums.php script, 337–338 sendEmail method, 119 viewThread.inc file, 328–330 setAddr method, 119 viewThread-OO.php script, 361 setMessage method, 119 viewThread.php script, 338–339 setSubj method, 119 viewTopic.inc file, 324–327 encryption, 41 viewTopic-OO.php script, 360 error handling, 32–33 viewTopic.php script, 338 escaping quotes, 39–40 WebForm class, 358–359 Exception class, 400–401 discussion lists, 378 exceptions, 400–401 displayAllofType method, 155 displayCart method, 215 displayCategories method, 154 • F • displayForm method (WebForm class) factory method, 276 content management system, 292 fields_cart.inc file, 175–177 shopping cart application, 222 fields_cart-oo.inc file, 179–182 user login application, 107 fields_content.inc file, 265–266, 294, 303 Web forum application, 358 fields_login.inc file, 83–85 DisplayForumsHeader method, 323 fields_products_page.inc file, 171–172 displayOrderSummary method, 221 fields_ship_info.inc file, 182–184 displayPage method, 73, 222 fields_ship_info-oo.inc file, 184–185 displayPrompt method, 62 fields_summary.inc file, 188–190 24_575872 bindex.qxd 5/27/05 6:28 PM Page 424

424 PHP & MySQL Everyday Apps For Dummies

fields_summary-oo.inc file, 190 postReply-OO.php script, 364–368 files postReply.php script, 342–345 class files, 13 Reply Web page, 317, 319–321, 334–335 image files, 14 replyFields.inc file, 335–337 include files, 13–14 search tools, 372 password-protected files, 47–48 security, 310 PHP script files, 13 TableAccessor class, 349–353 uploading files (CMS), 236 Thread class, 353–354 findAll method threading, 371 ContentType class, 283 threads, 309–310 Department class, 281 Threads Web page, 317–318, 324–327 findByContentId method, 291 topics, 310 findByDeptType method, 288 user registration/authentication, 371 findById method viewForums.inc file, 321–323 ContentDownload class, 291 viewForums-OO.php script, 359–360 ContentItem class, 288 viewForums.php script, 337–338 ContentType class, 283 viewThread.inc file, 328–330 Department class, 281 viewThread-OO.php script, 361 finder methods, 276–277 viewThread.php script, 338–339 forgotten passwords, 126–127 viewTopic.inc file, 324–327 forms viewTopic-OO.php script, 360 content management system, 276, 292 viewTopic.php script, 338 shopping cart application, 221–222 WebForm class, 358–359 user login application, 102–110 Forums Web page, 317 Web forum application, 358–359 Forums Web page (Web forum), 318, 321–322 forum application Free PHP and MySQL Hosting Directory Web site, 382 author control, 336 freplyto control (Web forum), 337 BBCode, 372 fresponse control (Web forum), 336 body control, 336 fsubject control (Web forum), 337 database, 311–317 functions Database class, 357–358 addslashes, 39 enhancements, 371–372 MySQL extension, 12–13, 407–409 file uploads/downloads, 372 MySQL Improved extension, 12–13, 407–409 forum management, 372 strip_tags, 110, 222, 292, 359 Forums Web page, 317–318, 321–322 trim, 110, 222, 292, 359 freplyto control, 337 functions_main.inc file fresponse control, 336 online catalog application, 148–149 fsubject control, 337 Web forum application, 346, 368–369 functionality, 309 functions_post.inc file, 346–347 functions_main.inc file, 346, 368–369 functions_post-OO.inc file, 369–371 functions_post.inc file, 346–347 functions_post-OO.inc file, 369–371 messageFields.inc file, 331–332 • G • messageForm.inc file, 331–334 getAllFields method, 108 Messages Web page, 317, 319, 328–330 getAllItems method, 215 New Message Web page, 317, 319–320, 331–334 getAllofType method, 154 Post class, 355–357 getCatalogNumber method, 212 postMessage-OO.php script, 361–363 getCategoryAndTypes method, 154 postMessage.php script, 339–342 24_575872 bindex.qxd 5/27/05 6:28 PM Page 425

Index 425

getConnection method fresponse control, 336 BaseInfo class, 279 fsubject control, 337 Catalog class, 208 functionality, 309 Database class (content management system), 292 functions_main.inc file, 346, 368–369 Database class (HTTP authentication application), 65 functions_post.inc file, 346–347 Database class (shopping cart application), 216 functions_post-OO.inc file, 369–371 Database class (user login application), 111 messageFields.inc file, 331–332 Database class (Web forum), 358 messageForm.inc file, 331–334 TableAccessor class, 353 Messages Web page, 317, 319, 328–330 getContentDate method, 288 New Message Web page, 317, 319–320, 331–334 getContentItem method, 289 Post class, 355–357 getCreationDate method, 288 postMessage-OO.php script, 361–363 getDescription method, 281 postMessage.php script, 339–342 getId method, 279 postReply-OO.php script, 364–368 getItemInfo method, 220–221 postReply.php script, 342–345 getLastUpDate method, 288 Reply Web page, 317, 319–321, 334–335 getLastUpdBy method, 288 replyFields.inc file, 335–337 getMessage method, 112, 116, 215, 353 search tools, 372 getName method security, 310 BaseInfo class, 279 TableAccessor class, 349–353 Catalog class, 208–210 Thread class, 353–354 Item class, 212 threading, 371 getOrderInfo method, 220 threads, 309–310 getPrice method Threads Web page, 317–318, 324–327 Catalog class, 208–210 topics, 310 Item class, 212 user registration/authentication, 371 getQuantity method, 212 viewForums.inc file, 321–323 getter methods, 277 viewForums-OO.php script, 359–360 getValues method, 352 viewForums.php script, 337–338 getVariable method, 116 viewThread.inc file, 328–330 Gookin, Dan (PCs For Dummies, 9th Edition), 411 viewThread-OO.php script, 361 GRANT queries, 35–36 viewThread.php script, 338–339 group file (.htaccess file), 50 viewTopic.inc file, 324–327 viewTopic-OO.php script, 360 viewTopic.php script, 338 • H • WebForm class, 358–359 handling errors, 32–33 HotScripts Web site, 381 HomeSite programming editor, 18 .htaccess file hosted discussion application AuthName section, 50 author control, 336 AuthType section, 50 BBCode, 372 creating, 50–51 body control, 336 group file, 50 database, 311–317 passwords, 50 Database class, 357–358 HTML controls (Web forum) enhancements, 371–372 author, 336 file uploads/downloads, 372 body, 336 forum management, 372 freplyto, 337 Forums Web page, 317–318, 321–322 fresponse, 336 freplyto control, 337 fsubject, 337 24_575872 bindex.qxd 5/27/05 6:28 PM Page 426

426 PHP & MySQL Everyday Apps For Dummies

HTML-Kit programming editor, 18 functions_post.inc file, 346–347 HTTP authentication functions_post-OO.inc file, 369–371 Apache Web server, 49–52 location of, 13–14 behavior, 45 messageFields.inc file, 331–332 look and feel, 45 messageForm.inc file, 331–334 passwords, 46 replyFields.inc file, 335–337 HTTP authentication application shopping_product_page.inc file, 171–175 Account object, 60, 66–70 single_form.inc file, 182, 185–187 Auth-OO.php script, 73–76 summary_form.inc file, 188 Database object, 60, 62–66 summary_page.inc file, 190–192 features, 52 table_page.inc file, 175, 177–179 functionality, 54 table_page-oo.inc file, 179 object-oriented code, 60–73 viewForums.inc file, 321–323 PasswordPrompter object, 60–62 viewThread.inc file, 328–330 procedural code, 56–60 viewTopic.inc file, 324–327 user database, 54–56 index Web page (catalog), 136–140, 145 WebPage object, 60, 71–73 information hiding, 389–390 welcome page, 59–60 inheritance, 388–389, 398–399 HTTP headers, 46–47 installing CD-ROM, 412 instantiation, 390 Integrated Development Environment (IDE) • I • common features, 18–19 IDE (Integrated Development Environment) demos, 16 common features, 18 Dreamweaver MX, 19 demos, 16 Komodo, 19 Dreamweaver MX, 19 Maguma, 19 Komodo, 19 PHPEdit, 19 PHPEdit, 19 , 19 Zend Studio, 19 interfaces, 404 iMacs For Dummies, 4th Edition (Mark L. Chambers), intranet application 411–412 Admin-OO.php script, 303–307 image files, 14 Admin.php script, 269–274 include directory, 14 BaseInfo class, 276, 278–279 include files CompanyHome-OO.php script, 294–300 company.inc file, 262–265 CompanyHome.php script, 253–262 company-OO.inc file, 301–303 company.inc file, 262–265 content_form.inc file, 266–268, 294, 303 company-OO.inc file, 301–303 defined, 13–14 content detail Web page, 243, 245–246 double_form.inc file, 83, 86–90, 249–252 content list Web page, 243, 245 fields_cart.inc file, 175–177 content types, 235–236 fields_cart-oo.inc file, 179–182 ContentDownload class, 276, 289–291 fields_content.inc file, 265–266, 294, 303 content_form.inc file, 266–268, 294, 303 fields_login.inc file, 83–85 ContentItem class, 276, 283–289 fields_products_page.inc file, 171–172 ContentType class, 276, 282–283 fields_ship_info.inc file, 182–184 database, 236–243 fields_ship_info-oo.inc file, 184–185 Database class, 276, 292 fields_summary.inc file, 188–190 defined, 235 fields_summary-oo.inc file, 190 Department class, 275–276, 279–281 functions_main.inc file, 148–149, 346, 368–369 department Web page, 243–244 24_575872 bindex.qxd 5/27/05 6:28 PM Page 427

Index 427

double_form.inc file, 249–252 object-oriented code, 101–119 enhancements, 307 procedural code, 91–100 fields_content.inc file, 265–266, 294, 303 Session class, 101–102, 114–117 home Web page, 243–244 session variables, 100–101, 126 keyword search, 307 User database, 78–81 login Web page, 243–244 WebForm class, 101–110 Login-OO.php script, 293 login method, 116–117 login.php script, 246–249 Login-OO.php script paging navigation, 307 content management system (CMS), 293 permissions, 236 user login application, 119–125 uploading files, 236 login.php script WebForm class, 276, 292 content management system (CMS), 246–249 An Introduction to Object- Oriented Analysis: Objects and user login application, 92–100 UML in Plain English, 2nd Edition (David William Brown), 275 inventory (shopping cart application), 231 • M • Item class Macromedia code, 210–211 Dreamweaver MX, 19 constructor, 212 HomeSite, 18 getCatalogNumber method, 212 Web site, 18–19 getName method, 212 Macs For Dummies, 8th Edition (David Pogue), 411 getPrice method, 212 magic quotes, 39–40, 98, 113 getQuantity method, 212 Maguma IDE, 19 properties, 210 mailing list application, 414 master class, 388 messageFields.inc file, 331–332 • K • messageForm.inc file, 331–334 keyword search (content management system), 307 Messages Web page (Web forum), 317, 319, 328–330 Komodo IDE, 19 methods accessing, 395–396, 399–400 addCart, 220 • L • AddField, 327 LeBlanc, Dee-Ann ( For Dummies, 6th Edition), 412 addItem, 214 license agreement (CD-ROM), 412 checkAddress, 110 Linux For Dummies, 6th Edition (Dee-Ann LeBlanc), 412 checkEmail, 110 literal characters (regular expressions), 28–29 checkForBlanks, 108, 222, 292, 358 login application checkName, 110 Account class, 101, 111–114 checkPhone, 110 account management features, 127 checkState, 110 Database class, 101, 110–111 checkZip, 110 double_form.inc file, 83, 86–90 class statements, 394–395 Email class, 102, 117–119 comparePassword, 69–70, 112 features, 77 createNew, 354 fields_login.inc file, 83–85 createNewAccount, 112–114 Forgotten password button, 126–127 createOrder, 220 functionality, 78 defined, 387 login Web page, 82–91 delete, 288, 291 Login-OO.php script, 119–125 displayAllofType, 155 login.php script, 92–100 displayCart, 215 24_575872 bindex.qxd 5/27/05 6:28 PM Page 428

428 PHP & MySQL Everyday Apps For Dummies

methods (continued) setDescription, 288 displayCategories, 154 setFieldsNotRequired, 107 displayForm, 107, 222, 292, 358 setLastUpdBy, 288 DisplayForumsHeader, 323 setMessage, 119 displayOrderSummary, 221 setName, 288 displayPage, 73, 222 setSubj, 119 displayPrompt, 62 setter methods, 277 DisplayThreadsHeader, 327 static methods, 276–277, 395 DisplayTopics, 324 storeVariable, 116 factory method, 276 updateCart, 215 findAll, 281, 283 updateOrderInfo, 221 findByContentId, 291 updateReplies, 354 findByDeptType, 288 updateTimeStamp, 354 findById, 281, 283, 288, 291 useDatabase, 65–66, 111, 208, 216, 292, 358 finder method, 276–277 verifyData, 108–110, 222, 292, 358–359 getAllFields, 108 modifying getAllItems, 215 MySQL accounts, 35 getAllofType, 154 source code, 16 getCatalogNumber, 212 multiple inheritance, 405 getCategoryAndTypes, 154 MySQL getConnection, 65, 111, 208, 216, 279, 292, 353, 358 accessing from PHP scripts, 37 getContentDate, 288 activating, 12–13 getContentItem, 289 data definition language (DDL), 242 getCreationDate, 288 reserved words, 162 getDescription, 281 security, 33–35 getId, 279 MySQL accounts getItemInfo, 220–221 creating, 35–36 getLastUpDate, 288 modifying, 35 getLastUpdBy, 288 passwords, 35–36 getMessage, 112, 116, 215, 353 permissions, 35 getName, 208–210, 212, 279 root, 35 getOrderInfo, 220 MySQL databases getPrice, 208–210, 212 accessing, 33–34 getQuantity, 212 backups, 40–41 getter methods, 277 catalog database, 132–135 getValues, 352 content management system (CMS), 236–243 getVariable, 116 customer information, 30 login, 116–117 MySQL security database, 34–35 postMessage, 357 shopping cart application, 161–166 postReply, 357 User database, 78–81 save, 288, 291 Web forum application, 311–317 selectAccount, 69, 111 MySQL extension, 12–13, 407–409 selectByID, 352 MySQL Improved extension, 12–13, 407–409 selectByID method, 357 MySQL versions selectOrder, 220 backward compatibility, 10 sendEmail, 119 MySQL 4.0, 11 setAddr, 119 MySQL 4.1, 11 setContentDate, 288 MySQL 5.0, 11 setCreationDate, 288 mysqldump utility, 40–41 24_575872 bindex.qxd 5/27/05 6:28 PM Page 429

Index 429

object-oriented code, 149–155 • N • procedural code, 145–149 naming products Web page, 137, 140–145 classes, 392 online ordering application constructors, 397 Add Items to Shopping Cart button, 167 New Message Web page (Web forum), 319–320, 331–334 Cancel Order button, 169 Catalog class, 208–210 confirmation of order Web page, 170 • O • Continue Shopping button, 168–169 cookies, 161 object-oriented code, 15–16 credit card handling, 160 object-oriented programming (OOP) customer feedback, 161 abstract classes, 403–404 customer login, 159–160, 231 abstraction, 387–388 database, 162–166 accessing methods, 399–400 Database class, 216 attributes, 386–387 databases, 161 class statement, 391–394 Edit Shipping Information button, 169 classes, 386 Email class, 223 constructor, 396–397 fields_cart.inc file, 175–177 copying objects, 401–402 fields_cart-oo.inc file, 179–182 creating objects, 399 fields_products_page.inc file, 171–172 defined, 385 fields_ship_info.inc file, 182–184 destroying objects, 402–403 fields_ship_info-oo.inc file, 184–185 exceptions, 400–401 fields_summary.inc file, 188–190 information hiding, 389–390 fields_summary-oo.inc file, 190 inheritance, 388–389, 398–399 functionality, 161 instantiation, 390 inventory, 231 interfaces, 404 Item class, 210–212 methods, 387, 394–395 Order class, 216–221 multiple inheritance, 405 order tracking, 231 objects, 386 Orders-oo.php script, 223–230 polymorphism, 405 PayPal, 160 properties, 386–387, 395 ProcessOrder.php script, 200–207 testing objects, 405 product information Web page, 166–167 objects purchasing methods, 160 attributes, 386–387 session variables, 161 copying, 401–402 shipping fees, 160 creating, 390, 399 shipping form Web page, 168–169 defined, 386 ShopCatalog.php script, 193–197 destroying, 402–403 shopping cart Web page, 168 methods, 387 ShoppingCart class, 212–215 properties, 386–387 ShoppingCart.php script, 197–200 testing, 405 shopping_product_page.inc file, 171–175 online catalog application single_form.inc file, 182, 185–187 Catalog class, 150–155, 157–158 storing contents, 161 Catalog-oo.php script, 155–157 Submit Order button, 168–169 database, 132–135 summary of order Web page, 169–170 functionality, 131–132 summary_form.inc file, 188 functions_main.inc file, 148–149 summary_page.inc file, 190–192 index Web page, 136–140, 145 24_575872 bindex.qxd 5/27/05 6:28 PM Page 430

430 PHP & MySQL Everyday Apps For Dummies

online ordering application (continued) password file, creating, 51 table_page.inc file, 175, 177–179 PasswordPrompter class table_page-oo.inc file, 179 code, 61–62 Update Cart button, 168 constructor, 62 View Shopping Cart button, 167 displayPrompt method, 62 WebForm class, 221–222 properties, 61 WebPage class, 222 passwords OOP (object-oriented programming) forgotten passwords, 126–127 abstract classes, 403–404 .htaccess file, 50 abstraction, 387–388 HTTP authentication, 46 accessing methods, 395–396, 399–400 MySQL accounts, 35–36 attributes, 386–387 password-protected files, 47–48 class statement, 391–394 PayPal Web site, 160 classes, 386 PCs For Dummies, 9th Edition (Dan Gookin), 411 constructor, 396–397 -compatible regular expressions, 30 copying objects, 401–402 permissions creating objects, 399 content management system (CMS), 236 defined, 385 MySQL accounts, 35 destroying objects, 402–403 phone number for Wiley Product Technical exceptions, 400–401 Support, 415 information hiding, 389–390 PHP Builder Web site, 381 inheritance, 388–389, 398–399 PHP Classes Web site, 380 instantiation, 390 PHP Freaks Web site, 382 interfaces, 404 PHP script files, 13 methods, 387 PHP scripts multiple inheritance, 405 accessing MySQL, 37 objects, 386 Admin-OO.php, 303–307 polymorphism, 405 Admin.php, 269–274 properties, 386–387, 395 Auth-OO.php, 73–76 testing objects, 405 Catalog-oo.php, 155–157 Order class CompanyHome-OO.php, 294–300 addCart method, 220 CompanyHome.php, 253–262 code, 216–219 error handling, 32–33 constructor, 220 Login-OO.php, 119–125, 293 createOrder method, 220 login.php, 92–100, 246–249 displayOrderSummary method, 221 Orders-oo.php, 223–230 getItemInfo method, 220–221 outside sources, 25–30 getOrderInfo method, 220 postMessage-OO.php, 361–363 properties, 216 postMessage.php, 339–342 selectOrder method, 220 postReply-OO.php, 364–368 updateOrderInfo method, 221 postReply.php, 342–345 order tracking (shopping cart application), 231 ProcessOrder.php, 200–207 Orders-oo.php script, 223–230 ShopCatalog.php, 193–194, 196–197 outside information, 25–30 ShoppingCart.php, 197–200 system calls, 31–32 viewForums-OO.php, 359–360 • P • viewForums.php, 337–338 paging navigation (content management system), 307 viewThread-OO.php, 361 parent class, 388 viewThread.php, 338–339 24_575872 bindex.qxd 5/27/05 6:28 PM Page 431

Index 431

viewTopic-OO.php, 360 object-oriented code, 149–155 viewTopic.php, 338 procedural code, 145–149 PHP source code products Web page, 137, 140–145 application development, 377 product inventory (shopping cart application), 231 CD-ROM, 412–413 programming editors class files, 13 Arachnophilia, 17 Codewalkers Web site, 380–381 BBEdit, 17 conventions, 1–2 common features, 17 Free PHP and MySQL Hosting Directory Web site, 382 demos, 16 HotScripts Web site, 381 EditPlus, 17 include files, 13–14 Emacs, 17 modifying, 16 HomeSite, 18 PHP Builder Web site, 381 HTML-Kit, 18 PHP Classes Web site, 380 TextWrangler, 18 PHP Freaks Web site, 382 Vim, 18 PHP script files, 13 properties PX Web site, 382 accessing, 395–396 SourceForge.net Web site, 379 Account class, 66 WeberDev Web site, 380 BaseInfo class, 278 Zend Web site, 381–382 Catalog class, 150 PHP versions class statements, 392–395 backward compatibility, 10 ContentDownload class, 289 PHP 4, 11–12 ContentItem class, 283–284 PHP 5, 11–12 ContentType class, 282 PHPEdit, 19 Database class, 63 planning for application development, 19–22, 375 defined, 386–387 Pogue, David (Macs For Dummies, 8th Edition), 411 Department class, 279 polymorphism, 405 Email class, 117 Post class Item class, 210 code, 355–356 Order class, 216 postMessage method, 357 PasswordPrompter class, 61 postReply method, 357 private properties, 393 selectByID method, 357 public properties, 392–393 postMessage method, 357 Session class, 114 postMessage-OO.php script, 361–363 ShoppingCart class, 212 postMessage.php script, 339–342 TableAccessor class, 349 postReply method, 357 values, 394 postReply-OO.php script, 364–368 WebForm class, 102 postReply.php script, 342–345 WebPage class, 71 private properties, 393 public properties, 392–393 procedural code, 15–16 publishing system ProcessOrder.php script, 200–207 Admin-OO.php script, 303–307 product catalog application Admin.php script, 269–274 Catalog class, 150–155, 157–158 BaseInfo class, 276, 278–279 Catalog-oo.php script, 155–157 CompanyHome-OO.php script, 294–300 database, 132–135 CompanyHome.php script, 253–262 functionality, 131–132 company.inc file, 262–265 functions_main.inc file, 148–149 company-OO.inc file, 301–303 index Web page, 136–140, 145 content detail Web page, 243, 245–246 24_575872 bindex.qxd 5/27/05 6:28 PM Page 432

432 PHP & MySQL Everyday Apps For Dummies

publishing system (continued) resource planning for application development, 21–22 content list Web page, 243, 245 restricted access to Web sites, 77 content types, 235–236 reusable code, 377 ContentDownload class, 276, 289–291 root account (MySQL), 35 content_form.inc file, 266–268, 294, 303 ContentItem class, 276, 283–289 ContentType class, 276, 282–283 • S • database, 236–243 save method, 288, 291 Database class, 276, 292 schedule for application development, 21 defined, 235 scripts Department class, 275–276, 279–281 accessing MySQL, 37 department Web page, 243–244 Admin-OO.php, 303–307 double_form.inc file, 249–252 Admin.php, 269–274 enhancements, 307 Auth-OO.php, 73–76 fields_content.inc file, 265–266, 294, 303 Catalog-oo.php, 155–157 home Web page, 243–244 CompanyHome-OO.php, 294–300 intranet, 236 CompanyHome.php, 253–262 keyword search, 307 error handling, 32–33 login Web page, 243–244 Login-OO.php, 119–125, 293 Login-OO.php script, 293 login.php, 92–100, 246–249 login.php script, 246–249 Orders-oo.php, 223–230 paging navigation, 307 outside sources, 25–30 permissions, 236 postMessage-OO.php, 361–363 uploading files, 236 postMessage.php, 339–342 WebForm class, 276, 292 postReply-OO.php, 364–368 purchasing methods (shopping cart application), 160 postReply.php, 342–345 PX Web site, 382 ProcessOrder.php, 200–207 ShopCatalog.php, 193–194, 196–197 ShoppingCart.php, 197–200 • Q • system calls, 31–32 queries with GRANT, 35–36 viewForums-OO.php, 359–360 quotes (magic quotes), 39–40, 98, 113 viewForums.php, 337–338 viewThread-OO.php, 361 viewThread.php, 338–339 • • viewTopic-OO.php, 360 Rathbone, Andy viewTopic.php, 338 Windows 98 For Dummies, 412 search tools (Web forum), 372 Windows 2000 Professional For Dummies, 412 security Windows XP For Dummies, 2nd Edition, 412 customer information, 30–32 readability of code, 376 DBMS (Database Management System), 33 ReadMe file (CD-ROM), 411 error handling, 32–33 regular expressions importance of, 23 checking outside information, 28–30 MySQL, 33–35 literal characters, 28–29 outside information, 25–30 Perl-compatible, 30 secure Web servers, 41 special characters, 28–29 SQL injection attack, 38–40 Reply Web page (Web forum), 317, 319–321, 334–335 Web forum, 310 replyFields.inc file, 335–337 Web servers, 41 reserved words (MySQL), 162 Web sites, 23–24 24_575872 bindex.qxd 5/27/05 6:28 PM Page 433

Index 433

Security Sockets Layer (SSL), 41 fields_cart-oo.inc file, 179–182 selectAccount method, 69, 111 fields_products_page.inc file, 171–172 selectByID method fields_ship_info.inc file, 182–184 Post class, 357 fields_ship_info-oo.inc file, 184–185 TableAccessor class, 352 fields_summary.inc file, 188–190 selectOrder method, 220 fields_summary-oo.inc file, 190 sendEmail method, 119 functionality, 161 separating page layout from function, 377 inventory, 231 Session class Item class, 210–212 code, 114–115 Order class, 216–221 constructor, 116 order tracking, 231 getMessage method, 116 Orders-oo.php script, 223–230 getVariable method, 116 PayPal, 160 login method, 116–117 ProcessOrder.php script, 200–207 properties, 114 product information Web page, 166–167 storeVariable method, 116 purchasing methods, 160 session variables session variables, 161 customer information, 30 shipping fees, 160 shopping cart application, 161 shipping form Web page, 168–169 user login application, 100–101, 126 ShopCatalog.php script, 193–197 setAddr method, 119 shopping cart Web page, 168 setContentDate method, 288 ShoppingCart class, 212–215 setCreationDate method, 288 ShoppingCart.php script, 197–200 setDescription method, 288 shopping_product_page.inc file, 171–175 setFieldsNotRequired method, 107 single_form.inc file, 182, 185–187 setLastUpdBy method, 288 storing contents, 161 setMessage method, 119 Submit Order button, 168–169 setName method, 288 summary of order Web page, 169–170 setSubj method, 119 summary_form.inc file, 188 setter methods, 277 summary_page.inc file, 190–192 shipping fees (shopping cart application), 160 table_page.inc file, 175, 177–179 ShopCatalog.php script, 193–194, 196–197 table_page-oo.inc file, 179 shopping cart application Update Cart button, 168 Add Items to Shopping Cart button, 167 View Shopping Cart button, 167 Cancel Order button, 169 WebForm class, 221–222 Catalog class, 208–210 WebPage class, 222 confirmation of order Web page, 170 ShoppingCart class Continue Shopping button, 168–169 addItem method, 214 cookies, 161 code, 212–214 credit card handling, 160 constructor, 214 customer feedback, 161 displayCart method, 215 customer login, 159–160, 231 getAllItems method, 215 database, 162–166 getMessage method, 215 Database class, 216 properties, 212 databases, 161 updateCart method, 215 Edit Shipping Information button, 169 ShoppingCart.php script, 197–200 Email class, 223 shopping_product_page.inc file, 171–175 fields_cart.inc file, 175–177 single_form.inc file, 182, 185–187 24_575872 bindex.qxd 5/27/05 6:28 PM Page 434

434 PHP & MySQL Everyday Apps For Dummies

source code telephone number for Wiley Product Technical application development, 377 Support, 415 CD-ROM, 412–413 testing class files, 13 code, 376 Codewalkers Web site, 380–381 objects, 405 conventions, 1–2 TextWrangler programming editor, 18 Free PHP and MySQL Hosting Directory Web site, 382 Thread class HotScripts Web site, 381 code, 353–354 include files, 13–14 createNew method, 354 modifying, 16 updateReplies method, 354 PHP Builder Web site, 381 updateTimeStamp method, 354 PHP Classes Web site, 380 threads (Web forum), 309–310 PHP Freaks Web site, 382 Threads Web page (Web forum), 317–318, 324–327 PHP script files, 13 topics (Web forum), 310 PX Web site, 382 tracking orders (shopping cart application), 231 SourceForge.net Web site, 379 trim function, 110, 222, 292, 359 WeberDev Web site, 380 troubleshooting CD-ROM, 414–415 Zend Web site, 381–382 SourceForge.net Web site, 379 special characters (regular expressions), 28–29 • U • SQL injection attack, 38–40 updateCart method, 215 SSL (Security Sockets Layer), 41 updateOrderInfo method, 221 static methods, 276–277, 395 updateReplies method, 354 status line (Web servers), 47 updateTimeStamp method, 354 storeVariable method, 116 uploading files strip_tags function, 110, 222, 292, 359 content management system, 236 subclasses, 388–389 Web forum, 372 summary_form.inc file, 188 useDatabase method summary_page.inc file, 190–192 Catalog class, 208 syntax Database class (content management system), 292 MySQL extension, 408–409 Database class (HTTP authentication application), MySQL Improved extension, 407–409 65–66 system calls, 31–32 Database class (shopping cart application), 216 system requirements for CD-ROM, 411 Database class (user login application), 111 Database class (Web forum), 358 • T • user login application TableAccessor class Account class, 101, 111–114 code, 349–351 account management features, 127 constructor, 351–352 Database class, 101, 110–111 getConnection method, 353 double_form.inc file, 83, 86–90 getMessage method, 353 Email class, 102, 117–119 getValues method, 352 features, 77 properties, 349 fields_login.inc file, 83–85 selectByID method, 352 Forgotten password button, 126–127 table_page.inc file, 175, 177–179 functionality, 78 table_page-oo.inc file, 179 login Web page, 82–91 technical support for CD-ROM, 415 Login-OO.php script, 119–125 login.php script, 92–100 24_575872 bindex.qxd 5/27/05 6:28 PM Page 435

Index 435

object-oriented code, 101–113, 115–119 fresponse control, 336 procedural code, 91–100 fsubject control, 337 Session class, 101–102, 114–117 functionality, 309 session variables, 100–101, 126 functions_main.inc file, 346, 368–369 User database, 78–81 functions_post.inc file, 346–347 WebForm class, 101–110 functions_post-OO.inc file, 369–371 messageFields.inc file, 331–332 messageForm.inc file, 331–334 • V • Messages Web page, 317, 319, 328–330 values of properties, 394 New Message Web page, 317, 319–320, 331–334 verifyData method (WebForm class) Post class, 355–357 content management system, 292 postMessage-OO.php script, 361–363 shopping cart application, 222 postMessage.php script, 339–342 user login application, 108–110 postReply-OO.php script, 364–368 Web forum application, 358–359 postReply.php script, 342–345 versions of MySQL Reply Web page, 317, 319–321, 334–335 backward compatibility, 10 replyFields.inc file, 335–337 MySQL 4.0, 11 search tools, 372 MySQL 4.1, 11 security, 310 MySQL 5.0, 11 TableAccessor class, 349–353 versions of PHP Thread class, 353–354 backward compatibility, 10 threading, 371 PHP 4, 11–12 threads, 309–310 PHP 5, 11–12 Threads Web page, 317–318, 324–327 viewForums.inc file, 321–323 topics, 310 viewForums-OO.php script, 359–360 user registration/authentication, 371 viewForums.php script, 337–338 viewForums.inc file, 321–323 viewThread.inc file, 328–330 viewForums-OO.php script, 359–360 viewThread-OO.php script, 361 viewForums.php script, 337–338 viewThread.php script, 338–339 viewThread.inc file, 328–330 viewTopic.inc file, 324–327 viewThread-OO.php script, 361 viewTopic-OO.php script, 360 viewThread.php script, 338–339 viewTopic.php script, 338 viewTopic.inc file, 324–327 Vim programming editor, 18 viewTopic-OO.php script, 360 viewTopic.php script, 338 WebForm class, 358–359 • W • Web pages (catalog) index, 136–140, 145 Web forum application products, 137, 140–145 author control, 336 Web pages (content management system) BBCode, 372 content detail, 243, 245–246 body control, 336 content list, 243, 245 database, 311–317 department, 243–244 Database class, 357–358 home, 243–244 enhancements, 371–372 login, 243–244 file uploads/downloads, 372 Web pages (Web forum) forum management, 372 Forums, 317–318, 321–322 Forums Web page, 317–318, 321–322 Messages, 317, 319, 328–330 freplyto control, 337 New Message, 319–320, 331–334 24_575872 bindex.qxd 5/27/05 6:28 PM Page 436

436 PHP & MySQL Everyday Apps For Dummies

Web pages (continued) WebForm class (shopping cart application) Reply, 317, 319–321, 334–335 checkForBlanks method, 222 Threads, 317–318, 324–327 constructor, 221 Web servers displayForm method, 222 encryption, 41 displayPage method, 222 security, 41 strip_tags function, 222 status line, 47 trim function, 222 Web site security, 23–24 verifyData method, 222 Web sites WebForm class (user login application) Arachnoid, 17 checkAddress method, 110 author’s, 414–415 checkEmail method, 110 Barebones, 17–18 checkForBlanks method, 108 Codewalkers, 380–381 checkName method, 110 EditPlus, 17 checkPhone method, 110 Emacs, 17 checkState method, 110 Free PHP and MySQL Hosting Directory, 382 checkZip method, 110 HotScripts, 381 code, 102–107 HTML-Kit, 18 constructor, 107 Komodo, 19 displayForm method, 107 Macromedia, 18–19 getAllFields method, 108 PayPal, 160 properties, 102 PHP Builder, 381 setFieldsNotRequired method, 107 PHP Classes, 380 strip_tags function, 110 PHP Freaks, 382 trim function, 110 PHPEdit, 19 verifyData method, 108–110 PX, 382 WebForm class (Web forum application), 358–359 restricted access, 77 WebPage class (HTTP authentication application) SourceForge.net, 379 code, 71–72 Vim, 18 constructor, 72 WeberDev, 380 displayPage method, 73 Wiley Product Technical Support, 415 properties, 71 Zend, 381–382 WebPage class (shopping cart application), 222 Zend Studio, 19 Wiley Product Technical Support, 415 WeberDev Web site, 380 Windows 98 For Dummies (Andy Rathbone), 412 WebForm class (content management system) Windows 2000 Professional For Dummies (Andy checkForBlanks method, 292 Rathbone), 412 constructor, 292 Windows XP For Dummies, 2nd Edition (Andy description, 276 Rathbone), 412 displayForm method, 292 strip_tags function, 292 trim function, 292 • Z • verifyData method, 292 Zend Studio, 19 Zend Web site, 381–382