Index

Symbols

  1. + (addition) operator, 199, 200, 220, 337–338, 438, 439, 587
  2. && (AND) operator, 215–216, 217–219, 220, 230, 439, 485
  3. @ sign, 315
  4. (backslash), 51, 442
  5. {} (braces), 82, 227, 251, 358
  6. [] symbol, 584–585
  7. [^] symbol, 585
  8. ^ symbol, 588
  9. + (concatenation), 205, 220
  10. -- (decrement) operator, 199, 202, 220, 239, 438
  11. / (division) operator, 199, 202–204, 220, 438
  12. $ (dollar sign), 368, 438, 588–589
  13. . (dot) symbol, 439, 583–584, 589
  14. .. (double dots), 630
  15. ““ (double quotation marks), 192
  16. \ (double-slash), 180
  17. = (equal) operator, 439, 483
  18. = (equal sign), 198, 358–359
  19. == (equality operator), 208–209, 220, 358–359
  20. ** (exponentiation) operator, 438
  21. > (greater than) operator, 208, 209, 220, 347, 439, 483
  22. >= (greater than or equal) operator, 208, 210, 220, 439, 483
  23. # (hashtag symbol), 98, 610
  24. - (hyphen), 407
  25. === (identity) operator, 208, 212, 220, 358–359, 439
  26. ++ (increment) operator, 199, 200–201, 220, 438
  27. < (less than) operator, 208, 209–210, 220, 439, 483
  28. <= (less than or equal) operator, 208, 210–211, 220, 439, 483
  29. % (modulus) operator, 199, 204, 220, 438
  30. * (multiplication) operator, 198, 199, 202, 220, 438, 586–587
  31. !== (non-identity) operator, 208, 212–213, 220, 439
  32. ! (NOT) operator, 215, 217, 220, 439, 485
  33. != (not equal) operator, 208, 209, 220, 439
  34. <> (not equal to) operator, 483
  35. || (OR) operator, 215, 216–217, 217–219, 220, 230, 439, 485
  36. | symbol, 589
  37. ? symbol, 586
  38. ; (semicolon), 178, 347
  39. - (subtraction/negation) operator, 199, 201–202, 220, 438
  40. ?: (ternary) operator, 214, 221
  41. ~ (tilde) symbol, 550

A

  1. A script on this pager is causing [browser name] to run slowly… error message, 361
  2. <a> tag, 62–63, 64, 106, 129
  3. abs() method, 339
  4. absolute, 120
  5. absolute measurement unit, 88
  6. absolute positioning, 122–124
  7. accessibility, of web apps, 605–608
  8. accessing
    1. data on servers, 16
    2. local web servers, 27–29, 31–33
    3. PHP error log, 464–465
  9. accordions
    1. about, 403–406, 424
    2. hiding content with, 422–424
    3. showing content with, 422–424
  10. ad requirements, as a web hosting consideration, 39
  11. adaptive layout, for web apps, 603–604
  12. addClass() method, 382–383, 384–385, 385–386, 522
  13. adding
    1. app controls, 745–754
    2. box controls, 750–751
    3. classes
      1. about, 289–290, 382–383
      2. to elements, 289–290
    4. color controls, 752–754
    5. comments to code, 180
    6. data
      1. to MySQL tables, 479
      2. to storage, 735–736
    7. data items, 649–652
    8. elements
      1. to arrays, 303–304
      2. in jQuery, 374–375
      3. to pages, 287–290
    9. files to web servers, 28, 32
    10. folders to web servers, 28, 32
    11. form buttons, 537–538
    12. headings, 60–61
    13. JQuery Mobile to web apps, 730–731
    14. line breaks, 440–441
    15. menu separator, 418
    16. methods to classes, 460–461
    17. padding, 107–108
    18. properties to classes, 459–460
    19. quotations, 61–62
    20. selection lists, 551–555
    21. structure, 13–14
    22. styles
      1. about, 14–15, 83–87
      2. to web pages, 83–87
    23. table data with INSERT query, 490–491
    24. tags to elements, 288
    25. text, 56–57
    26. text controls, 747–750
    27. text to elements, 288
    28. titles to web pages, 54–56
    29. users to databases, 689–690
    30. watch expressions, 354–355
    31. web forms, 697–700
  14. addition (+) operator, 199, 200, 220, 337–338, 438, 439, 587
  15. administration interface, as a web hosting consideration, 39
  16. age, determining, 333–334
  17. Ajax
    1. about, 510–511
    2. joining PHP and JavaScript with JSON and, 509–532
    3. making calls with jQuery, 511–526
    4. request for data, 654
    5. returning Ajax data as JSON text, 528–532
  18. Ajax engine, 510
  19. alert() method, 178, 207, 245, 280–281, 283
  20. aligning
    1. flex items
      1. along primary axis, 139–140
      2. along secondary axis, 140–141
    2. grid items, 160–161
    3. paragraph text, 92
  21. align-self property, 161
  22. Alphabet (website), 594
  23. alternative text, 59
  24. ancestor element, 96
  25. anchor, 64
  26. anchor object, 270
  27. AND (&&) operator, 215–216, 217–219, 220, 230, 439, 485
  28. animate() method, 406–408, 410
  29. animation
    1. about, 387–388
    2. building pages with, 398–410
    3. controlling duration and pace, 402
    4. CSS properties, 406–408
    5. running code after ending of, 408–410
  30. Apache, 23, 29
  31. Apache Friends, 24, 28, 32
  32. app data, 597
  33. app functions, of web apps, 595
  34. append() method, 374–375, 375–376
  35. appending elements as children, 288
  36. Applications link, 28, 32
  37. applyFilters() function, 658–661
  38. applying
    1. basic text tags, 58–62
    2. effects, 424–425
    3. font families, 89–91
    4. interactions, 428–429
  39. apps. See also mobile web apps
    1. about, 19, 593–594, 619
    2. accessibility of, 605–608
    3. adding jQuery Mobile to, 730–731
    4. appearance of pages, 598–599
    5. Atom editor, 34
    6. back-end code, 626–630
    7. building home pages for, 635
    8. Coda, 34
    9. creating
      1. back-end initialization files, 631–632
      2. data, 643–652
      3. databases, 624–625
      4. front-end common files, 633–634
      5. startup files for, 630–635
      6. tables, 624–625
    10. data requirements for, 596–597
    11. defending, 612–618
    12. deleting data, 668–672
    13. displaying data, 652–661
    14. editing data, 661–668
    15. functionality of, 595–596
    16. mobile, 19–20
    17. Notepad++, 34
    18. page requirements for, 597–598
    19. planning, 595–599
    20. reading data, 652–661
    21. responsiveness of, 599–605
    22. role of
      1. MySQL in, 494–495
      2. PHP in, 494–495
    23. security for, 608–618
    24. setting up directory structure, 620–624
    25. starting Data class, 639–640
    26. Sublime Text, 34
    27. TextMate, 34
    28. updating data, 661–668
  40. arguments
    1. with Date object, 324
    2. defined, 250, 255, 457
    3. end, 322
  41. ARIA label, 607
  42. arithmetic assignment operators, 199–200, 204–205
  43. arithmetic operators, 199–200, 438
  44. Array(), 293–294, 319–320
  45. array literals, 296
  46. array objects, 269, 300–310
  47. arrays
    1. about, 291–293
    2. adding elements to, 303–304
    3. array objects, 300–310
    4. associative, 446–447
    5. declaring, 293–294, 295–296, 445–446
    6. inserting elements, 308–310
    7. multidimensional, 299–300, 450–451
    8. one-dimensional, 299
    9. ordering elements, 306–308
    10. outputting values, 447–448
    11. PHP, 445–451
    12. populating
      1. about, 295–297
      2. with data, 294–299
      3. using loops, 296–297
    13. removing elements, 303, 305, 308–310
    14. replacing elements, 308–310
    15. returning subsets of, 305–306
    16. reversing order of elements, 304–305
    17. sorting, 448–449
    18. storing query results in, 500–501
    19. two-dimensional, 299
    20. values, 450
    21. working with data using loops, 297–299
  48. arsort() function, 449
  49. <article> tag, 74, 104, 106, 764
  50. <aside> tag, 75, 114, 634
  51. asort() function, 449
  52. assigning grid items to rows/columns, 157–160
  53. associative arrays, 446–447
  54. asynchronous, 510
  55. Asynchronous JavaScript and XML (Ajax)
    1. about, 510–511
    2. joining PHP and JavaScript with JSON and, 509–532
    3. making calls with jQuery, 511–526
    4. request for data, 654
    5. returning Ajax data as JSON text, 528–532
  56. @ sign, 315
  57. Atom (website), 34
  58. attr() method, 385–386
  59. attributes
    1. class attribute, 382–383, 385–386
    2. id attribute, 64, 278, 279, 284–285
    3. onclick attribute, 255, 256
    4. srcset attribute, 733
    5. style attribute, 83
    6. for tags, 52–53
    7. width attribute, 52
  60. auditory impairments, 606
  61. automatic looping, through jQuery sets, 372

B

  1. b symbol, 585–586
  2. B symbol, 586
  3. <b> tag, 60
  4. back end
    1. defined, 12
    2. MySQL, 15–16
    3. PHP, 15–16
    4. web apps, 677–682
  5. back() method, 274
  6. back-end code, for web apps, 626–630
  7. back-end initialization files, 631–632
  8. background-color property, 94–95
  9. backgrounds, coloring, 94–95
  10. backing up MySQL data, 473
  11. backslash (), 51, 442, 589
  12. bandwidth, as a web hosting consideration, 38
  13. baseline value, 141
  14. Berners-Lee, Tim (inventor of the web), 20
  15. BETWEEN…AND operator, 484
  16. bin2hex() function, 628, 689
  17. binary() function, 617
  18. blind effect, 426
  19. block statement, 227
  20. block syntax, 227
  21. block-level elements, 113
  22. <blockquote> tag, 62, 104
  23. blur() method, 392, 559–560
  24. blurring elements, 559–560
  25. body element, 253–254
  26. body section, 54
  27. <body> tag, 54, 56, 95–96, 151, 162, 743
  28. bold control, 749
  29. bolding text, 91
  30. Boolean literals, 193
  31. border property, 109–110
  32. borders
    1. as a box component, 104
    2. building, 109–110
    3. values of, 109
  33. bottom property, 121
  34. bounce effect, 426
  35. box controls, adding, 750–751
  36. box styles, 745
  37. braces ({}), 82, 227, 251, 358
  38. Brackets (website), 34
  39. break mode
    1. about, 348
    2. entering, 348–350
    3. exiting, 350
    4. stepping into code, 351
  40. break statement, exiting loops using, 243–245
  41. breakpoint, setting, 349
  42. browsers
    1. displaying Console in, 346
    2. handling, 176
    3. storing user data in, 734–737
    4. validating web form data in, 566–574
    5. window events, 390
  43. bugs, 343
  44. buildGradient() function, 764
  45. buildHover() function, 764
  46. building
    1. app menus, 745
    2. back-end initialization files, 631–632
    3. borders, 109–110
    4. bulleted lists, 65–68
    5. Button Builder app, 740–767
    6. comparison expressions, 208–214
    7. custom classes, 459
    8. data, 643–652
    9. data handler scripts, 640–641
    10. databases, 624–625
    11. elements, 287
    12. external JavaScript files, 181–182
    13. forms, 643–647
    14. front-end common files, 633–634
    15. grid gaps, 155–156
    16. home pages for web apps, 635
    17. HTML5 web forms, 536–537
    18. links, 62–65
    19. logical expressions, 215–219
    20. margins, 110–113
    21. multidimensional arrays, 299–300, 450–451
    22. MySQL databases, 473–480
    23. MySQL tables, 477–479
    24. navigation menus, 418–420
    25. numbered lists, 65–68
    26. numeric expressions, 199–205
    27. objects, 461
    28. PHP expressions, 438–439
    29. primary keys, 479–480
    30. queries, 504–505
    31. scripts, 175–180
    32. SELECT queries, 481–482, 499–500
    33. startup files for web apps, 630–635
    34. string expressions, 205–207
    35. strings, 302–303
    36. tables in MySQL databases, 473–480, 624–625
    37. user handling script, 679–682
    38. web forms, 683–685
    39. web page accordions, 403–406
    40. web pages with animation, 398–410
  47. bulleted lists, building, 65–68
  48. Button Builder app, 740–767
  49. button text control, 749
  50. <button> tag, 256, 537

C

  1. calculateProfitSharing() function, 266
  2. calculating days between dates, 334–335
  3. callback function, 389
  4. calling functions, 252–255
  5. camelCase, 188
  6. carriage return, 57
  7. cascade (CSS), 100–101
  8. Cascading Style Sheets (CSS)
    1. about, 12–13, 14–15
    2. absolute positioning, 123
    3. adding styles to web pages, 83–87
    4. animation of properties, 406–408
    5. assigning grid items to rows/columns, 158–159
    6. basics of, 80–81
    7. Button Builder app, 754–757
    8. cascade, 81, 100–101
    9. case-sensitivity for properties, 289
    10. centering elements, 142
    11. collapsing
      1. containers, 119
      2. margins, 111–112
    12. colors, 93–95
    13. controlling horizontal space, 129
    14. creating
      1. for mobile-first web development, 727
      2. web page accordions, 403
    15. defined, 14
    16. fixed positioning, 125
    17. inline blocks for macro page layouts, 134–135
    18. laying out
      1. content columns with flexbox, 149–150
      2. content columns with Grid, 161–162
      3. navigation bar with flexbox, 143
    19. measurement units, 88–89
    20. modifying with jQuery, 377–385
    21. page elements with inline blocks, 133
    22. properties, 378–382, 406–408
    23. relative positioning, 121
    24. rules and declarations, 81–83
    25. setting up flex container, 138
    26. sheets, 80–81
    27. shrinking flex items, 147
    28. specifying grid rows/columns, 154
    29. styles, 80
    30. styling
      1. invalid fields, 572
      2. page text, 87–93
      3. web pages with, 79–101
    31. text properties, 88
    32. using jQuery's shortcut event handlers, 392
    33. using selectors, 96–100
    34. web page family, 95–96
  9. case, 231
  10. case-sensitivity
    1. in comparison expressions, 213
    2. in CSS, 82
    3. CSS properties, 289
    4. of JavaScript, 357
    5. for tags, 54
  11. CDNs (content delivery networks), 367
  12. cell() method, 339
  13. centering elements, 141–142
  14. chaining, 372, 408–410
  15. changing
    1. CSS with jQuery, 377–385
    2. element styles, 288–289
    3. selected options, 555
    4. table data with UPDATE query, 491
    5. values of properties, 273
    6. web files, 45
  16. character entities, 68
  17. character reference, 69
  18. characters, handling, 77–78
  19. charAt() method, 316–317
  20. charCodeAt() method, 316
  21. checkboxes
    1. coding, 543–548
    2. getting state, 546–547
    3. referencing, 546
    4. setting state, 547–548
  22. checking
    1. data types, 613–614
    2. for required fields, 575–578
    3. for signed-in users, 696–697
    4. user credentials, 700–703
    5. users, 690–695
  23. child element, 96
  24. child selector, 97, 99–100
  25. child selector (jQuery), 371
  26. choosing
    1. elements with jQuery, 369–373
    2. “non-mobile” breakpoints, 727–729
    3. text editors, 33–34
  27. Chrome
    1. adding watch expressions, 354
    2. displaying Console in, 346
    3. opening web development tools in, 344
    4. stepping into code, 351
    5. stepping out of code, 352
    6. stepping over code, 352
    7. viewing all variable values, 353
  28. class attribute, 382–383, 385–386
  29. class selector, 97–98, 370
  30. classes
    1. adding
      1. about, 382–383
      2. to elements, 289–290
      3. methods to, 460–461
      4. properties to, 459–460
    2. creating custom, 459
    3. defined, 97
    4. Invoice class, 459
    5. manipulating, 382–385
    6. members of, 459
    7. offset-image class, 122
    8. removing, 383–384
    9. specifying elements by names, 286
    10. toggling, 384–385
    11. ui-accordion class, 424
    12. ui-accordion-content class, 424
    13. ui-accordion-header class, 424
    14. ui-dialog class, 422
    15. ui-dialog-container class, 422
    16. ui-dialog-title class, 422
    17. ui-dialog-titlebar class, 422
    18. ui-menu class, 420
    19. ui-menu-item class, 420
    20. ui-menu-wrapper class, 420
    21. User class, 678–679
  31. clear property, 117
  32. clearing floats, 116–117
  33. clearInterval() method, 279, 280
  34. clearTimeout() method, 278
  35. .click() method, 557–561
  36. client-side programming language, 174
  37. clip effect, 426
  38. close() method, 499
  39. CNET Web Hosting Solutions (website), 41
  40. Coda (website), 34, 44
  41. code
    1. adding comments to, 180
    2. back-end, 626–630
    3. for checkboxes, 543–548
    4. completion in text editors, 34
    5. debugging. See debugging
    6. executing in Console, 347
    7. including from other PHP files, 629–630
    8. indenting, 355–356
    9. jQuery, 368–369
    10. looping, 234–235
    11. pausing, 348–350
    12. PHP, 451–456
    13. previewing in text editors, 33
    14. running, 408–410, 765
    15. running after animation ends, 408–410
    16. stepping through, 350–352
  42. cognitive impairments, 606
  43. collapsing
    1. containers, 117–120
    2. margins, 111–113
  44. collation, 474
  45. color controls, adding, 752–754
  46. color keyword, 93, 109
  47. color picker, 555–556
  48. color property, 94
  49. color styles, 746
  50. colors
    1. about, 93
    2. backgrounds, 94–95
    3. specifying, 93–94
    4. text, 94
  51. column (flex-direction property), 137
  52. column-reverse (flex-direction property), 137
  53. columns
    1. assigning to, 157–160
    2. MySQL, 468
    3. MySQL data, 475–476
  54. comma-delimited strings, 319
  55. comments
    1. adding to code, 180
    2. debugging and, 356
    3. defined, 180
  56. communicating
    1. with server with .get() method, 523–526
    2. with server with .post() method, 523–526
  57. comparison expressions
    1. building, 208–214
    2. using strings in, 213
  58. comparison operators, 211–212, 439, 482–484
  59. compound criteria, 484–485
  60. compound statement, 227
  61. concat() method, 301–302
  62. concatenating, 205, 301–302
  63. concatenation (+), 205, 220
  64. configuring
    1. header, 744
    2. home pages, 674–677
    3. php.ini for debugging, 463–464
  65. confirm() method, 274, 281–282, 283
  66. connecting, to MySQL database, 497–499
  67. Console
    1. displaying in browsers, 346
    2. executing code in, 347
    3. logging data to, 346–347
  68. console property, 276
  69. Console tab, 344
  70. Console window, debugging with, 345–347
  71. console.log() method, 247, 261, 346–347
  72. console.table() method, 346–347
  73. constants, 334, 626–627
  74. construct() function, 459
  75. constructor, 293–294
  76. contact forms. See web forms
  77. containers, collapsing, 117–120
  78. content
    1. as a box component, 104
    2. dividing into tabs, 415–418
    3. hiding with accordions, 422–424
    4. scaling, 726–727
    5. showing with accordions, 422–424
  79. content columns
    1. laying out with flexbox, 149–152
    2. laying out with Grid, 161–162
  80. content delivery networks (CDNs), 367
  81. content first approach, 725–726
  82. continue statement, 245–246
  83. control structures, JavaScript, 226
  84. controlling
    1. animation duration and pace, 402
    2. browsers, 176
    3. characters, 77–78
    4. flow of PHP code, 451–456
    5. JavaScript, 170–171
    6. JSON data returned by server, 530–532
    7. loop execution, 243–246
    8. order of precedence, 221–223
    9. POST requests in PHP, 513–514
    10. shrinkage, 148–149
    11. web form events, 557–561
    12. words, 77–78
  85. convergence, 264
  86. converting
    1. data, 613
    2. getDay() method into day name, 329–330
    3. getMonth() method into month names, 328–329
    4. server data to JSON format, 528–530
    5. between strings and numbers, 336–338
  87. copying custom CSS, 766–767
  88. cos() method, 339
  89. countdown() function, 280
  90. cPanel, 45
  91. createData() method, 649–652
  92. createUser() method, 686, 689–690
  93. creating
    1. app menus, 745
    2. back-end initialization files, 631–632
    3. borders, 109–110
    4. bulleted lists, 65–68
    5. Button Builder app, 740–767
    6. comparison expressions, 208–214
    7. custom classes, 459
    8. data, 643–652
    9. data handler scripts, 640–641
    10. databases, 624–625
    11. elements, 287
    12. external JavaScript files, 181–182
    13. forms, 643–647
    14. front-end common files, 633–634
    15. grid gaps, 155–156
    16. home pages for web apps, 635
    17. HTML5 web forms, 536–537
    18. links, 62–65
    19. logical expressions, 215–219
    20. margins, 110–113
    21. multidimensional arrays, 299–300, 450–451
    22. MySQL databases, 473–480
    23. MySQL tables, 477–479
    24. navigation menus, 418–420
    25. numbered lists, 65–68
    26. numeric expressions, 199–205
    27. objects, 461
    28. PHP expressions, 438–439
    29. primary keys, 479–480
    30. queries, 504–505
    31. scripts, 175–180
    32. SELECT queries, 481–482, 499–500
    33. startup files for web apps, 630–635
    34. string expressions, 205–207
    35. strings, 302–303
    36. tables in MySQL databases, 473–480, 624–625
    37. user handling script, 679–682
    38. web forms, 683–685
    39. web page accordions, 403–406
    40. web pages with animation, 398–410
  94. cross-site scripting (XSS), 611–612
  95. CRUD approach, to handling data, 638–642
  96. CSS (Cascading Style Sheets)
    1. about, 12–13, 14–15
    2. absolute positioning, 123
    3. adding styles to web pages, 83–87
    4. animation of properties, 406–408
    5. assigning grid items to rows/columns, 158–159
    6. basics of, 80–81
    7. Button Builder app, 754–757
    8. cascade, 81, 100–101
    9. case-sensitivity for properties, 289
    10. centering elements, 142
    11. collapsing
      1. containers, 119
      2. margins, 111–112
    12. colors, 93–95
    13. controlling horizontal space, 129
    14. creating
      1. for mobile-first web development, 727
      2. web page accordions, 403
    15. defined, 14
    16. fixed positioning, 125
    17. inline blocks for macro page layouts, 134–135
    18. laying out
      1. content columns with flexbox, 149–150
      2. content columns with Grid, 161–162
      3. navigation bar with flexbox, 143
    19. measurement units, 88–89
    20. modifying with jQuery, 377–385
    21. page elements with inline blocks, 133
    22. properties, 378–382, 406–408
    23. relative positioning, 121
    24. rules and declarations, 81–83
    25. setting up flex container, 138
    26. sheets, 80–81
    27. shrinking flex items, 147
    28. specifying grid rows/columns, 154
    29. styles, 80
    30. styling
      1. invalid fields, 572
      2. page text, 87–93
      3. web pages with, 79–101
    31. text properties, 88
    32. using jQuery's shortcut event handlers, 392
    33. using selectors, 96–100
    34. web page family, 95–96
  97. CSS Box Model, 104–105
  98. CSS code, 746, 763–764
  99. CSS colors, 753
  100. CSS declaration, 82
  101. CSS Flexible Box (flexbox), 128
  102. CSS Grid
    1. about, 128
    2. browser support, 163–164
    3. shaping page layout with, 153–164
  103. css() method, 372, 378–382
  104. ctype_alpha() function, 578, 614
  105. customer_id property, 462
  106. CuteFTP (website), 44
  107. Cyberduck (website), 44

D

  1. d symbol, 582–583
  2. D symbol, 583
  3. data
    1. accessing on servers, 16
    2. adding
      1. to MySQL tables, 479
      2. to storage, 735–736
      3. to tables with INSERT query, 490–491
    3. app, 597
    4. columns of, 475–476
    5. converting, 613
    6. creating, 643–652
    7. deleting, 668–672
    8. displaying, 652–661
    9. editing, 661–668
    10. escaping the, 616
    11. filtering, 613, 657–661
    12. getting about events, 393–394
    13. getting from web storage, 736–737
    14. importing into MySQL, 471–473
    15. logging to Console, 346–347
    16. modifying in tables with UPDATE query, 491
    17. moving to web pages, 469
    18. outgoing, 616
    19. populating arrays with, 294–299
    20. preparing for submission, 563
    21. reading, 652–661
    22. removing
      1. from tables with DELETE query, 492
      2. from web storage, 737
    23. requirements for web apps, 596–597
    24. sanitizing incoming, 612–614
    25. sending to servers, 519–520, 685–688
    26. storing on servers, 16
    27. types of, 474–475
    28. updating, 661–668
    29. user-generated, 596
  4. data handler scripts, 640–641
  5. data management
    1. about, 637
    2. CRUD approach, 638–642
  6. data types
    1. checking, 613–614
    2. defined, 189
    3. literal, 189–193
    4. validating fields based on, 580–581
  7. database management system (DBMS), 468
  8. databases
    1. adding users to, 689–690
    2. creating, 624–625
    3. as a web hosting consideration, 39
  9. date argument, 324
  10. Date() function, 325
  11. Date object. See also dates
    1. about, 269
    2. arguments with, 324
    3. extracting information about dates, 325–328
    4. methods, 326, 330
    5. setting dates, 330–332
    6. working with, 324–325
  12. date picker, 556
  13. dates. See also Date object
    1. about, 322–335
    2. arguments with Date object, 324
    3. calculating days between, 334–335
    4. extracting information about, 325–328
    5. performing calculations for, 332–335
    6. performing complex calculations, 334
    7. setting, 330–332
    8. specifying any, 325
    9. specifying current, 324–325
    10. working with Date object, 324–325
  14. dbclick() method, 392
  15. DBMS (database management system), 468
  16. dd argument, 324
  17. debugger statement, 247, 350
  18. debugging
    1. about, 341
    2. configuring php.ini for, 463–464
    3. with the Console window, 345–347
    4. with echo statements, 465–466
    5. JavaScript errors, 342–343, 356–359
    6. monitoring script values, 352–355
    7. pausing code, 348–350
    8. PHP, 463–466
    9. stepping through code, 350–352
    10. strategies for, 355–356
    11. tools for, 344–345
    12. with var_dump() statements, 466
  19. Debugging tool tab, 345
  20. decision-making
    1. with if() statement, 452–453
    2. multiple, 229–234
    3. with switch() statement, 453–454
  21. declaration block, 82
  22. declarations (CSS), 81–83
  23. declaring
    1. arrays, 293–296, 445–446
    2. JSON variables, 527–528
    3. PHP variables, 438
    4. variables, 184–185
  24. decrement (--) operator, 199, 202, 220, 239, 438
  25. dedicated server, as a web hosting consideration, 39
  26. defense in depth, 612
  27. delegating events, 396–398
  28. DELETE query, 481, 492
  29. deleteData() method, 672
  30. deleteUser() method, 716–719
  31. deleting
    1. array elements, 303, 305, 308–310
    2. attributes, 386
    3. breakpoint, 349
    4. classes, 383–384
    5. data, 668–672
    6. data from web storage, 737
    7. elements in jQuery, 377
    8. queries, 504–505
    9. table data with DELETE query, 492
    10. users, 714–719
    11. watch expressions, 355
  32. deletion task, 309
  33. descendant element, 96
  34. descendant selector, 97, 99, 370
  35. designing MySQL database tables, 474–477
  36. determining
    1. age, 333–334
    2. length of String object, 312–313
  37. dialog widget, 420
  38. dialogs, displaying messages in, 420–422
  39. dimensions, as a box component, 104
  40. directory
    1. defined, 42
    2. setting up structure of, 620–624
  41. display_errors, 463
  42. display_header function, 464
  43. displaying
    1. Console in browsers, 346
    2. content with accordions, 422–424
    3. data, 652–661
    4. elements, 399
    5. messages
      1. in dialogs, 420–422
      2. to users, 177–179
      3. using alert() method, 280–281
  44. <div> tag, 76–77, 104, 105, 106, 394
  45. dividend, 202
  46. dividing content into tabs, 415–418
  47. division (/) operator, 199, 202–204, 220, 438
  48. divisor, 202
  49. DNS (domain name system)
    1. defined, 9
    2. as a web hosting consideration, 38
  50. Doctype declaration, 53
  51. document events, 389
  52. Document object, 180, 284–290
  53. Document Object Model (DOM), 368
  54. document property, 276
  55. document root, 620
  56. document subobject, 270
  57. document.body function, 253–254
  58. document.write() statement, 180
  59. dollar sign ($), 368, 438, 588–589
  60. DOM (Document Object Model), 368
  61. domain name system (DNS)
    1. defined, 9
    2. as a web hosting consideration, 38
  62. DOM-manipulation library, 368
  63. dot (.) symbol, 439, 583–584, 589
  64. double dots (..), 630
  65. double quotation marks (““), 192
  66. double-slash (\), 180
  67. do…while() loops, 241–242, 315, 456
  68. draggable interaction, 429–430
  69. drop effect, 426
  70. drop shadow, for buttons, 538
  71. droppable interaction, 430
  72. duration, of animation, 402
  73. dynamic web pages
    1. defined, 15, 18, 533
    2. how they work, 18–19

E

  1. echo output command, 437
  2. echo statement, 437, 440, 465–466
  3. ecommerce, as a web hosting consideration, 40
  4. editing
    1. data, 661–668
    2. watch expressions, 355
  5. effect() method, 424–425
  6. effects
    1. applying, 424–425
    2. jQuery UI, 424–428
    3. as a jQuery UI category, 412
  7. elements
    1. adding
      1. to arrays, 303–304
      2. class to, 289–290
      3. in jQuery, 374–375
      4. to pages, 287–290
      5. tags to, 288
      6. text to, 288
    2. appending as children, 288
    3. blurring, 559–560
    4. centering, 141–142
    5. changing styles of, 288–289
    6. creating, 287
    7. defined, 294
    8. fading, 400
    9. floating, 115–120
    10. hiding, 399
    11. inline, 77–78
    12. inserting in arrays, 308–310
    13. listening for changes, 560–561
    14. ordering for arrays, 306–308
    15. removing
      1. from arrays, 303, 305, 308–310
      2. in jQuery, 377
    16. replacing
      1. in arrays, 308–310
      2. HTML, 375–376
    17. reversing order of in arrays, 304–305
    18. selecting with jQuery, 369–373
    19. semantic, 76
    20. showing, 399
    21. sliding, 401
    22. specifying, 284–287
    23. updating with server data using .load() method, 514–522
    24. working with, 287–290
  8. em unit, 89
  9. <em> tag, 51, 60
  10. email addresses, as a web hosting consideration, 39
  11. email fields, validating, 569
  12. email forwarding, 39
  13. email type, 539
  14. embedded style sheet, 85
  15. embedding internal style sheets, 84–86
  16. emphasizing text, 58–59
  17. empty() function, 575–578
  18. end argument, 322
  19. end tag, 50
  20. Enter key, 57
  21. entering break mode, 348–350
  22. entity name, 69
  23. equal (=) operator, 439, 483
  24. equality operator (==), 208–209, 220, 358–359
  25. equal sign (=), 198, 358–359
  26. error log (PHP), 464–465
  27. error messages (JavaScript), 359–361
  28. error types (JavaScript), 342–343
  29. error_reporting, 464
  30. errors
    1. JavaScript, 356–359
    2. load-time, 342
    3. logic, 343
    4. runtime, 342–343
    5. syntax, 342
  31. escape sequences, 192–193
  32. escaping
    1. the data, 616
    2. quotation marks, 441–442
  33. even filter, 373
  34. event handlers
    1. about, 389
    2. setting up, 390–391
    3. shortcut jQuery, 391–393
    4. turning off, 398
  35. event listener, 389
  36. Event object, 393–394
  37. event-driven language, 388
  38. events
    1. about, 387–389
    2. building reactive pages with, 388–398
    3. calling functions in response to, 254–255
    4. delegating, 396–398
    5. getting data about, 393–394
    6. objects and, 268
    7. preventing default action, 394–395
    8. types of, 389–390
    9. web form, 557–561
  39. examples, in this book, 4
  40. executing code in Console, 347
  41. exiting
    1. break mode, 350
    2. loops using break statement, 243–245
  42. exp() method, 339
  43. Expected ( error message, 359
  44. Expected { error message, 359–360
  45. explode effect, 426
  46. exponential notation, 190–191
  47. exponentiation (**) operator, 438
  48. expressions
    1. about, 197
    2. building
      1. comparison expressions, 208–214
      2. logical expressions, 215–219
      3. string expressions, 205–207
    3. comparison, 208–214
    4. numeric, 199–205
    5. operator precedence, 219–223
    6. PHP, 438–439
    7. regular, 570, 571, 582–589
    8. structure of, 197–198
    9. using parentheses in, 222–223
    10. watch, 354–355
  49. expression-width pairs, 732
  50. external style sheets, linking to, 86–87
  51. extracting
    1. information about dates, 325–328
    2. substrings with methods, 315–323

F

  1. fade effect, 426
  2. fadeIn() method, 400, 402
  3. fadeOut() method, 400, 402
  4. fadeToggle() method, 400, 402, 405
  5. fading elements, 400
  6. FAQs link, 28, 32
  7. feature queries, 164
  8. file picker, 556
  9. File Transfer Protocol (FTP), 40, 44, 617
  10. files. See also folders
    1. adding to web servers, 28, 32
    2. external JavaScript, 181–182
    3. insecure uploads of, 612
    4. securing uploads, 617
    5. viewing on servers, 28, 32
    6. website, 44–45
  11. FileZilla (website), 44
  12. filter() method, 658–661
  13. filtering
    1. data, 613, 657–661
    2. jQuery sets, 372–373
  14. filter_var() function, 580–581
  15. finding
    1. free hosting providers, 37
    2. substrings, 313–315
    3. web hosts, 35–45, 40–41
  16. Firefox
    1. adding watch expressions, 354
    2. displaying Console in, 346
    3. opening web development tools in, 344
    4. stepping into code, 351
    5. stepping out of code, 352
    6. stepping over code, 352
    7. viewing all variable values, 354
  17. first filter, 373
  18. .first() method, 551
  19. fixed, 120
  20. fixed positioning, 125–126
  21. fixed-width layout, for web apps, 600
  22. flex container
    1. defined, 137
    2. setting up, 137–139
  23. flex items, 137
  24. flex property, 152
  25. flexbox
    1. browser support, 152–153
    2. flexible layouts with, 136–153
    3. laying out
      1. content columns with, 149–152
      2. navigation bar with, 143–144
  26. flex-direction property, 137
  27. flex-grow property, 144–146
  28. Flexible Box Layout Module. See Flexbox
  29. flexible layouts
    1. with Flexbox, 136–153
    2. for web apps, 602
  30. flex-shrink property, 146–149
  31. flex-start alignment, 140
  32. float property, 115–120
  33. floating elements, 115–120
  34. floating-point numbers, 190, 336
  35. floats
    1. about, 128
    2. page elements with, 128–132
  36. floor() method, 339
  37. focus, setting, 558
  38. focus() method, 558–559
  39. fold effect, 427
  40. folders. See also files
    1. adding to web servers, 28, 32
    2. viewing on servers, 28, 32
  41. font families
    1. applying, 89–91
    2. controls for, 749
  42. font size control, 749
  43. font-family property, 14, 88
  44. font-size property, 14, 88
  45. font-style property, 88
  46. font-weight property, 88
  47. <footer> tag, 75–76, 96, 114, 116–117
  48. footers, loading common, 516–517
  49. for() loops, 237–241, 296–297, 298, 317, 455
  50. for() statement, 236, 300
  51. foreach() loop, 450, 501
  52. form events, 389
  53. form object, 270
  54. <form> tag, 536
  55. formats, for images, 69
  56. forms
    1. about, 533–534, 565
    2. adding
      1. about, 697–700
      2. buttons, 537–538
      3. selection lists, 551–555
    3. building, 643–647, 683–685
    4. checking for required fields, 575–578
    5. conforming field values, 570–571
    6. handling events, 557–561
    7. how they work, 535
    8. HTML5, 536–537
    9. making fields mandatory, 566–567
    10. preventing default form submission, 562
    11. programming pickers, 555–557
    12. radio buttons, 548–551
    13. regular expressions, 582–589
    14. restricting text field length, 567–568
    15. setting maximum/minimum values on numeric fields, 568–569
    16. styling invalid fields, 571–574
    17. submitting
      1. about, 561–564
      2. data, 563–564
    18. text fields, 538–543
    19. triggering events, 557–561
    20. validating
      1. data in browsers, 566–574
      2. data on servers, 574–582
      3. email fields, 569
      4. fields based on data types, 580–581
      5. against patterns, 582
      6. text data, 578–580
  57. fr unit, 155
  58. frame subobject, 270
  59. frames property, 276
  60. front end
    1. creating common files, 633–634
    2. CSS, 12–13, 14–15
    3. defined, 12
    4. HTML, 12–13, 14–15
  61. FTP (File Transfer Protocol), 40, 44, 617
  62. FTP client, 44
  63. function() function, 390–391, 397
  64. function-level scope, 260
  65. functions
    1. about, 249–250
    2. advantages of using, 258
    3. applyFilters() function, 658–661
    4. arsort() function, 449
    5. asort() function, 449
    6. bin2hex() function, 628, 689
    7. binary() function, 617
    8. buildGradient() function, 764
    9. buildHover() function, 764
    10. calculateProfitSharing() function, 266
    11. calling, 252–255
    12. construct() function, 459
    13. countdown() function, 280
    14. ctype_alpha() function, 578, 614
    15. Date() function, 325
    16. defined, 178
    17. display_header function, 464
    18. document.body function, 253–254
    19. empty() function, 575–578
    20. filter_var() function, 580–581
    21. function() function, 390–391, 397
    22. generateButtonCode() function, 765, 766, 767
    23. getButtonValues() function, 766
    24. get_JSON() function, 530–532
    25. htmlentities() function, 613, 616
    26. initializeCreateDataForm() function, 647
    27. initializeUpdateDataForm() function, 663, 666
    28. isset() function, 496, 514
    29. json_encode() function, 528–530
    30. linear function, 402
    31. local vs. global variables, 259–262
    32. location of, 251
    33. logIt() function, 278
    34. mail() function, 689, 690
    35. monthName() function, 329
    36. Number() function, 234
    37. numericSort function, 307
    38. openssl_random_pseudo_bytes() function, 628, 689
    39. parseFloat() function, 337, 381–382
    40. parseInt() function, 336–337
    41. passing multiple values to, 257–258
    42. passing single values to, 256–257
    43. passing values to, 255–258, 457
    44. password_hash() function, 688
    45. password_verify() function, 703
    46. PHP, 456–458
    47. preg_match() function, 582
    48. print_r() function, 447–448
    49. readActivities() function, 654, 656–657
    50. recursive, 262–266
    51. returning values from, 258–259, 458
    52. rgb() function, 94
    53. rsoort() function, 448–449
    54. running after loads, 520–522
    55. session_start() function, 627
    56. setButtonValues() function, 767
    57. setting up, 307
    58. sort() function, 306–308, 448–449
    59. strlen() function, 578
    60. str_replace() function, 614
    61. structure of, 250–251
    62. time() function, 629
    63. var() function, 613

G

  1. generateButtonCode() function, 765, 766, 767
  2. generating
    1. app menus, 745
    2. back-end initialization files, 631–632
    3. borders, 109–110
    4. bulleted lists, 65–68
    5. Button Builder app, 740–767
    6. comparison expressions, 208–214
    7. custom classes, 459
    8. data, 643–652
    9. data handler scripts, 640–641
    10. databases, 624–625
    11. elements, 287
    12. external JavaScript files, 181–182
    13. forms, 643–647
    14. front-end common files, 633–634
    15. grid gaps, 155–156
    16. home pages for web apps, 635
    17. HTML5 web forms, 536–537
    18. links, 62–65
    19. logical expressions, 215–219
    20. margins, 110–113
    21. multidimensional arrays, 299–300, 450–451
    22. MySQL databases, 473–480
    23. MySQL tables, 477–479
    24. navigation menus, 418–420
    25. numbered lists, 65–68
    26. numeric expressions, 199–205
    27. objects, 461
    28. PHP expressions, 438–439
    29. primary keys, 479–480
    30. queries, 504–505
    31. scripts, 175–180
    32. SELECT queries, 481–482, 499–500
    33. startup files for web apps, 630–635
    34. string expressions, 205–207
    35. strings, 302–303
    36. tables in MySQL databases, 473–480, 624–625
    37. user handling script, 679–682
    38. web forms, 683–685
    39. web page accordions, 403–406
    40. web pages with animation, 398–410
  3. generic font, 90
  4. .get() method, 511, 523–526
  5. GET method, 496
  6. GET request
    1. about, 511–513
    2. preparing for data submission, 563
  7. getButtonValues() function, 766
  8. getDate() method, 326, 331
  9. getDay() method, 326, 329–330, 332
  10. getFullYear() method, 326, 333
  11. getHours() method, 326
  12. getItem() method, 736–737
  13. .getJSON(), 511
  14. get_JSON() function, 530–532
  15. getMilliseconds() method, 326
  16. getMinutes() method, 326
  17. getMonth() method, 326, 328–329, 331
  18. getSeconds() method, 326
  19. getTime() method, 326, 335
  20. getting started, with jQuery, 366–369
  21. GIF (Graphics Interchange Format), 69
  22. global scope, 261–262
  23. global variables, 259–262, 359
  24. glocal scope, 353
  25. Gmail (website), 594
  26. GoDaddy (website), 38
  27. Google (website), 594
  28. Google Chrome
    1. adding watch expressions, 354
    2. displaying Console in, 346
    3. opening web development tools in, 344
    4. stepping into code, 351
    5. stepping out of code, 352
    6. stepping over code, 352
    7. viewing all variable values, 353
  29. Google font, 91
  30. Google Maps (website), 594
  31. gradient effect, 752
  32. Graphics Interchange Format (GIF), 69
  33. greater than (>) operator, 208, 209, 220, 347, 439, 483
  34. greater than or equal (>=) operator, 208, 210, 220, 439, 483
  35. grid
    1. defined, 153
    2. elements in, 153–154
    3. laying out content columns with, 161–162
    4. specifying columns, 154–155
    5. specifying rows, 154–155
  36. grid container, 153, 154
  37. grid gaps, 155–156
  38. grid items
    1. about, 154
    2. aligning, 160–161
    3. assigning to rows/columns, 157–160
  39. grid template, 154
  40. grid-column-end, 157
  41. grid-column-start, 157
  42. grid-gap property, 156
  43. grid-row-end, 157
  44. grid-row-start, 157
  45. Grinstead, Brian (programmer), 741
  46. growing flex items, 144–146

H

  1. <h1…h4> tags, 61, 104
  2. handler, 255
  3. handling
    1. animation duration and pace, 402
    2. browsers, 176
    3. characters, 77–78
    4. flow of PHP code, 451–456
    5. JavaScript, 170–171
    6. JSON data returned by server, 530–532
    7. loop execution, 243–246
    8. order of precedence, 221–223
    9. POST requests in PHP, 513–514
    10. shrinkage, 148–149
    11. web form events, 557–561
    12. words, 77–78
  4. hard disk, mirroring, 42–44
  5. hashtag symbol (#), 98, 610
  6. head section, 53–54
  7. <head> tag, 54, 95
  8. <header> tag, 71–72, 96, 104, 105, 114, 376
  9. headers
    1. configuring, 744
    2. loading common, 516–517
  10. headings, adding, 60–61
  11. height, 105–106
  12. height() method, 381–382
  13. here document (heredoc) syntax, 444
  14. hexadecimal integer values, 191
  15. hh argument, 324
  16. hidden type, 540
  17. hide() method, 399, 402, 425
  18. hiding
    1. content with accordions, 422–424
    2. elements, 399
  19. highlight effect, 427
  20. history property, 276
  21. history subobject, 270
  22. home pages
    1. building for web apps, 635
    2. configuring, 674–677
    3. preparing for data, 652–654
    4. setting up skeleton, 741–743
  23. horizontal rule, 52
  24. horizontal space, controlling, 129
  25. host name, 516
  26. hostname property, 272
  27. hosts, web
    1. defined, 36
    2. finding, 35–45, 40–41
    3. providers, 36–40
    4. setting up, 35–45
  28. hover effect, 752
  29. How-To Guides link, 28, 32
  30. <hr> tag, 52
  31. HTML (HyperText Markup Language)
    1. about, 12–13, 14–15, 49
    2. absolute positioning, 124
    3. applying basic text tags, 58–62
    4. assigning grid items to rows/columns, 159
    5. basics of, 50–51
    6. building bulleted lists, 65–68
    7. building numbered lists, 65–68
    8. Button Builder app, 741–754
    9. centering elements, 142
    10. collapsing
      1. containers, 119
      2. margins, 112–113
    11. controlling horizontal space, 130
    12. converting
      1. into day names getDay() method, 329
      2. getMonth() method into month names, 328
    13. creating
      1. links, 62–65
      2. web page accordions, 403–405
    14. defined, 13
    15. delegating events, 396
    16. determining age, 333
    17. displaying messages to users, 177
    18. fixed positioning, 125–126
    19. getting data about events, 393–394
    20. inline blocks for macro page layouts, 135–136
    21. inserting
      1. images, 69–71
      2. special characters, 68–69
    22. keywords, 194–195
    23. laying out
      1. content columns with flexbox, 150–151
      2. content columns with Grid, 162
      3. navigation bar with flexbox, 143–144
    24. listening for element changes, 561
    25. manipulating attributes with jQuery, 385–386
    26. page elements with inline blocks, 133–134
    27. page structure, 71–78
    28. preventing default event action, 395
    29. relative positioning, 121–122
    30. replacing in elements, 375–376
    31. running code after animation ends, 409
    32. setting
      1. dates, 331
      2. focus, 558
    33. setting up
      1. event handler, 390
      2. flex container, 138–139
    34. shrinking flex items, 147
    35. specfiying grid rows/columns, 155
    36. structure
      1. of HTML5 web pages, 53–57
      2. vs. style, 57–58
      3. web pages with, 49–78
    37. styling invalid fields, 572–573
    38. using jQuery's shortcut event handlers, 391, 392
  32. HTML files, 436, 515–516
  33. html() method, 375–376
  34. HTML tags, 422
  35. HTML viewer tab, 344, 345
  36. <html> tag, 95
  37. HTML5 web forms, 536–537
  38. htmlentities() function, 613, 616
  39. hue, 753
  40. Hypertext, 50
  41. HyperText Markup Language (HTML)
  1. about, 12–13, 14–15, 49
  2. absolute positioning, 124
  3. applying basic text tags, 58–62
  4. assigning grid items to rows/columns, 159
  5. basics of, 50–51
  6. building
    1. bulleted lists, 65–68
    2. numbered lists, 65–68
  7. Button Builder app, 741–754
  8. centering elements, 142
  9. collapsing
    1. containers, 119
    2. margins, 112–113
  10. controlling horizontal space, 130
  11. converting
    1. into day names getDay() method, 329
    2. getMonth() method into month names, 328
  12. creating
    1. links, 62–65
    2. web page accordions, 403–405
  13. defined, 13
  14. delegating events, 396
  15. determining age, 333
  16. displaying messages to users, 177
  17. fixed positioning, 125–126
  18. getting data about events, 393–394
  19. inline blocks for macro page layouts, 135–136
  20. inserting
    1. images, 69–71
    2. special characters, 68–69
  21. keywords, 194–195
  22. laying out
    1. content columns with flexbox, 150–151
    2. content columns with Grid, 162
    3. navigation bar with flexbox, 143–144
  23. listening for element changes, 561
  24. manipulating attributes with jQuery, 385–386
  25. page elements with inline blocks, 133–134
  26. page structure, 71–78
  27. preventing default event action, 395
  28. relative positioning, 121–122
  29. replacing in elements, 375–376
  30. running code after animation ends, 409
  31. setting
    1. dates, 331
    2. focus, 558
  32. setting up
    1. event handler, 390
    2. flex container, 138–139
  33. shrinking flex items, 147
  34. specfiying grid rows/columns, 155
  35. structure
    1. of HTML5 web pages, 53–57
    2. vs. style, 57–58
    3. web pages with, 49–78
  36. styling invalid fields, 572–573
  37. using jQuery's shortcut event handlers, 391, 392
  1. hypertext reference, 63
  2. hyphen (-), 407

I

  1. <i> tag, 59
  2. icons, explained, 4
  3. id attribute, 64, 278, 279, 284–285
  4. id selector, 97, 98, 370
  5. IDE (integrated development environment), 22
  6. identifiers, 482
  7. identity (===) operator, 208, 212, 220, 358–359, 439
  8. if() statements
    1. about, 392
    2. decision-making with, 452–453
    3. making true/false statements with, 226–227
    4. nesting, 230–231
  9. if()…else statements, 228–229
  10. image object, 270
  11. images
    1. delivering responsively, 732–733
    2. formats for, 69
    3. inserting, 69–71
    4. making responsive, 731–732
    5. in mobile-first web development, 726, 731–733
  12. <img> tag, 70, 116–117, 124
  13. importing data into MySQL, 471–473
  14. IN operator, 484
  15. including jQuery in web pages, 366–368
  16. incorporating query string values in queries, 501–504
  17. increment (++) operator, 199, 200–201, 220, 438
  18. incrementing, 239
  19. incrementing the value, 200–201
  20. indenting
    1. code, 355–356
    2. paragraph's first line, 92–93
  21. index number, 293
  22. indexOf() method, 313–314
  23. infinite loops, avoiding, 246–247
  24. infinite recursion, avoiding, 265–266
  25. Infinity result, 203
  26. inheritance, CSS and, 100
  27. initializeCreateDataForm() function, 647
  28. initializeUpdateDataForm() function, 663, 666
  29. inline blocks, 107, 128, 132–136
  30. inline elements, 77–78, 113
  31. inline styles, 83–84
  32. inner join, 485–490
  33. innerHeight property, 276
  34. innerWidth property, 276
  35. <input> tag, 394, 537, 543–548, 548–551, 550, 567–568, 763
  36. INSERT query, 481, 490–491
  37. inserting
    1. array elements, 308–310
    2. elements in arrays, 310
    3. images, 69–71
    4. inline styles, 83–84
    5. queries, 504–505
    6. special characters, 68–69
  38. insertion task, 309
  39. installing
    1. XAMPP, 24–26
    2. XAMPP for OS X, 29–30
  40. instancing, 458, 461
  41. integers
    1. defined, 189, 336
    2. hexadecimal integer values, 191
  42. integrated development environment (IDE), 22
  43. interactions
    1. applying, 428–429
    2. jQuery UI, 428–431
    3. as a jQuery UI category, 412
    4. user, 280–284
    5. using, 429–431
  44. internal links, 63–65
  45. internal style sheets, embedding, 84–86
  46. Internet resources
    1. Alphabet, 594
    2. Apache Friends, 24
    3. Brackets, 34
    4. CNET Web Hosting Solutions, 41
    5. Coda, 44
    6. CuteFTP, 44
    7. Cyberduck, 44
    8. examples in this book, 4
    9. FileZilla, 44
    10. Gmail, 594
    11. GoDaddy, 38
    12. Google, 594
    13. Google Maps, 594
    14. jQuery Mobile icons, 744
    15. JSONLint, 528
    16. PC Magazine Web Site Hosting Services Reviews, 41
    17. phpMyAdmin, 470, 624
    18. Register, 38
    19. Review Hell, 41
    20. Review Signal Web Hosting Reviews, 41
    21. ThemeRoller page, 415
    22. Transmit, 44
    23. uploading files for, 44–45
    24. Web Coding Playground, 4, 93
    25. Web Hosting Talk, 40
    26. XAMPP Dashboard, 470
    27. YouTube, 594
  47. Internet service provider (ISP), 36–37
  48. interpolating, 443
  49. intervals, JavaScript, 276–280
  50. Invoice class, 459
  51. IS NULL operator, 484
  52. ISP (Internet service provider), 36–37
  53. isset() function, 496, 514
  54. italic control, 749
  55. italicizing text, 91

J

  1. JavaScript
    1. abilities of, 173–174
    2. about, 16–17, 169–170, 225, 510
    3. adding comments to code, 180
    4. as an event-driven language, 388
    5. arithmetic operators, 199
    6. avoiding infinite loops, 246–247
    7. braces ({}), 227
    8. Button Builder app, 757–767
    9. case-sensitivity of, 357
    10. code looping, 234–235
    11. comparison operators, 208
    12. constructing scripts, 175–180
    13. control structures, 226
    14. controlling
      1. about, 170–171
      2. loop execution, 243–246
    15. converting
      1. into day names getDay() method, 330
      2. getMonth() method into month names, 329
    16. creating external files, 181–182
    17. determining age, 333
    18. do…while() loops, 241–242
    19. errors, 342–343, 356–359, 359–361
    20. escape sequences, 192
    21. extracting information about dates, 326–327
    22. for() loops, 237–241
    23. getting started, 175
    24. handling browser without, 176
    25. if()…else statements, 228–229
    26. inabilities of, 174
    27. intervals, 276–280
    28. joining with Ajax and JSON, 509–532
    29. keywords, 194–195
    30. learning difficulty of, 172–173
    31. logical operators, 215
    32. making multiple decisions, 229–234
    33. making true/false decisions with if() statements, 226–227
    34. object hierarchy, 269–270
    35. order of precedence, 220–221
    36. reserved words, 188, 193–194
    37. setting dates, 331
    38. switch() statement, 231–234
    39. time in, 322
    40. timeouts, 276–280
    41. while() loops, 235–237
  2. JavaScript Object Notation (JSON)
    1. about, 526–528
    2. characteristics of, 526–527
    3. converting server data to, 528–530
    4. declaring variables, 527–528
    5. handling data returned by server, 530–532
    6. joining PHP and JavaScript with Ajax and, 509–532
    7. returning Ajax data as text in, 528–532
    8. syntax for, 526–527
  3. join() method, 302–303
  4. Joint Photographic Experts Group (JPEG), 69–70
  5. jQuery
    1. about, 17, 365
    2. adding elements in, 374–375
    3. basic selectors, 370–371
    4. Button Builder app, 757–767
    5. defined, 366
    6. delegating events, 396
    7. getting data about events, 394
    8. getting started, 366–369
    9. including in web pages, 366–368
    10. listening for element changes, 561
    11. location for code, 368–369
    12. making Ajax calls with, 511–526
    13. manipulating
      1. HTML attributes with, 385–386
      2. page elements with, 373–377
    14. modifying CSS with, 377–385
    15. preventing default event action, 395
    16. removing elements, 377
    17. running code after animation ends, 409–410
    18. selecting elements with, 369–373
    19. sets, 371–373
    20. setting focus, 558
    21. setting up event handler, 390
    22. using jQuery's shortcut event handlers, 391, 392
    23. using shortcut event handlers, 391–393
  6. jQuery Mobile, 729–731
  7. jQuery Mobile Collapsible widget, 746
  8. jQuery Mobile FlipSwitch widgets, 752
  9. jQuery Mobile icons (website), 744
  10. jQuery UI
    1. about, 411–412
    2. effects, 424–428
    3. getting started, 413–415
    4. interactions, 428–431
    5. working with widgets, 415–424
  11. JSON
    1. about, 526–528
    2. characteristics of, 526–527
    3. converting server data to, 528–530
    4. declaring variables, 527–528
    5. handling data returned by server, 530–532
    6. joining PHP and JavaScript with Ajax and, 509–532
    7. returning Ajax data as text in, 528–532
    8. syntax for, 526–527
  12. json_encode() function, 528–530
  13. JSONLint (website), 528
  14. justify-content property, 139–140
  15. justify-self property, 160

K

  1. keyboard events, 389
  2. keywords
    1. about, 60
    2. HTML, 194–195
    3. JavaScript, 194–195

L

  1. <label>, 541, 550
  2. landmarks, 607
  3. Language, 50
  4. last filter, 373
  5. lastIndexOf() method, 313–314
  6. left property, 121
  7. length property, 300–301, 312–313
  8. less than (<) operator, 208, 209–210, 220, 439, 483
  9. less than or equal (<=) operator, 208, 210–211, 220, 439, 483
  10. letter spacing control, 749
  11. <li> tag, 65
  12. library, 17, 366
  13. LIKE operator, 483
  14. line breaks, adding, 440–441
  15. line numbers, in text editors, 33, 34
  16. linear function, 402
  17. link object, 270
  18. <link> tag, 86–87
  19. links
    1. creating, 62–65
    2. to external style sheets, 86–87
    3. internal, 63–65
    4. styling, 91–92
  20. Linux, 39
  21. liquid layout, for web apps, 601
  22. listening for element changes, 560–561
  23. literals
    1. array, 296
    2. Boolean, 193
    3. defined, 189
    4. numeric, 189–191
    5. string, 191–193
  24. .load() method, 511
    1. loading
      1. common headers/footers, 516–517
      2. HTML files, 515–516
      3. output from PHP scripts, 517–518
      4. page fragments, 518–519
    2. running functions after loads, 520–522
    3. sending data to servers, 519–520
    4. updating elements with server data using, 514–522
  25. loading
    1. common headers/footers, 516–517
    2. HTML files, 515–516
    3. output from PHP scripts, 517–518
    4. page fragments, 518–519
  26. load-time errors, 342
  27. Local Lane route, 535
  28. local scope, 260–261, 353
  29. local variables, 259–262, 359
  30. local web development environment
    1. defined, 22
    2. needs for, 22–23
  31. local web servers, accessing, 27–29, 31–33
  32. localStorage property, 276, 735
  33. location property, 271, 272, 276
  34. location subobject, 270
  35. log() method, 339
  36. logging data to Console, 346–347
  37. logic errors, 343
  38. logical expressions, building, 215–219
  39. logical operators, 439, 484–485
  40. logIt() function, 278
  41. loop counter, 238
  42. loop execution, controlling, 243–246
  43. loop statements, bypassing using the continue statement, 245–246
  44. loops/looping
    1. with do…while() loops, 456
    2. with for() loops, 455
    3. populating arrays using, 296–297
    4. through query results, 501
    5. with while() loops, 454–455
    6. working with array data using, 297–299
  45. lossy compression, 69–70
  46. luminance, 753

M

  1. macro level, 128
  2. Macs
    1. configuring php.ini for debugging, 463
    2. displaying Console on, 346
    3. inserting special characters, 68
    4. opening web development tools in, 344
    5. setting up public subdirectory, 621
  3. magic constants, 466
  4. mail() function, 689, 690
  5. <main> tag, 73, 96
  6. Manage Servers tab, 31
  7. managing
    1. animation duration and pace, 402
    2. browsers, 176
    3. characters, 77–78
    4. flow of PHP code, 451–456
    5. JavaScript, 170–171
    6. JSON data returned by server, 530–532
    7. loop execution, 243–246
    8. order of precedence, 221–223
    9. POST requests in PHP, 513–514
    10. shrinkage, 148–149
    11. web form events, 557–561
    12. words, 77–78
  8. manipulating
    1. classes, 382–385
    2. HTML attributes with jQuery, 385–386
    3. page elements with jQuery, 373–377
    4. properties, 271–273
    5. text with String object, 311–323
    6. web pages, 268
  9. margin property, 110–111
  10. margins
    1. as a box component, 104
    2. collapsing, 111–113
    3. creating, 110–113
    4. resetting, 111
  11. MariaDB, 23, 29
  12. marking text, 59–60
  13. Markup, 50
  14. master table, 639
  15. Math object, about, 269
    1. about, 335–336
    2. converting between strings and numbers, 336–338
    3. methods, 338–339
    4. properties, 338–339
  16. max() method, 339
  17. measurement units (CSS), 88–89
  18. media query, 603
  19. menu separator, 418
  20. menu widget, 422
  21. messages
    1. displaying in dialogs, 420–422
    2. displaying to users, 177–179
    3. displaying using alert() method, 280–281
  22. <meta> tag, 68
  23. metaKey property, 393
  24. methods
    1. abs() method, 339
    2. addClass() method, 382–383, 384–385, 385–386, 522
    3. adding to classes, 460–461
    4. alert() method, 178, 207, 245, 280–281, 283
    5. animate() method, 406–408, 410
    6. append() method, 374–375, 375–376
    7. associated with objects, 268
    8. attr() method, 385–386
    9. back() method, 274
    10. blur() method, 392, 559–560
    11. cell() method, 339
    12. charAt() method, 316–317
    13. charCodeAt() method, 316
    14. clearInterval() method, 279, 280
    15. clearTimeout() method, 278
    16. .click() method, 557–561
    17. close() method, 499
    18. concat() method, 301–302
    19. confirm() method, 274, 281–282, 283
    20. console.log() method, 247, 261, 346–347
    21. console.table() method, 346–347
    22. cos() method, 339
    23. createData() method, 649–652
    24. createUser() method, 686, 689–690
    25. css() method, 372, 378–382
    26. Date object, 326, 330
    27. dbclick() method, 392
    28. defined, 178
    29. deleteData() method, 672
    30. deleteUser() method, 716–719
    31. effect() method, 424–425
    32. exp() method, 339
    33. extracting substrings with, 315–323
    34. fadeIn() method, 400, 402
    35. fadeOut() method, 400, 402
    36. fadeToggle() method, 400, 402, 405
    37. filter() method, 658–661
    38. .first() method, 551
    39. floor() method, 339
    40. focus() method, 558–559
    41. .get() method, 511, 523–526
    42. GET method, 496
    43. getDate() method, 326, 331
    44. getDay() method, 326, 329–330, 332
    45. getFullYear() method, 326, 333
    46. getHours() method, 326
    47. getItem() method, 736–737
    48. getMilliseconds() method, 326
    49. getMinutes() method, 326
    50. getMonth() method, 326, 328–329, 331
    51. getSeconds() method, 326
    52. getTime() method, 326, 335
    53. height() method, 381–382
    54. hide() method, 399, 402, 425
    55. html() method, 375–376
    56. indexOf() method, 313–314
    57. join() method, 302–303
    58. jQuery, 372
    59. lastIndexOf() method, 313–314
    60. .load() method
      1. about, 511
      2. loading common headers/footers, 516–517
      3. loading HTML files, 515–516
      4. loading output from PHP scripts, 517–518
      5. loading page fragments, 518–519
      6. running functions after loads, 520–522
      7. sending data to servers, 519–520
      8. updating elements with server data using, 514–522
    61. log() method, 339
    62. Math object, 338–339
    63. max() method, 339
    64. min() method, 339
    65. object, 273–275, 462
    66. off() method, 398
    67. on() method, 390–391, 397
    68. pop() method, 303, 522
    69. .post() method, 511, 523–526
    70. pow() method, 339
    71. prepend() method, 374–375, 375–376
    72. preventDefault() method, 394–395, 562
    73. prompt() method, 234, 236, 282–283
    74. push() method, 303–304
    75. query() method, 499–500, 500–501
    76. querySelectorAll() method, 286–287, 372
    77. random() method, 339
    78. readAllData() method, 655–656
    79. readDataItem() method, 664
    80. ready() method, 654
    81. remove() method, 377
    82. removeAttr() method, 386
    83. removeClass() method, 383–384, 384–385, 385–386
    84. removeItem() method, 737
    85. reverse() method, 304–305
    86. round() method, 339
    87. sendPasswordReset() method, 706–713
    88. setDate() method, 330, 332, 334
    89. setFullYear() method, 330, 332, 333
    90. setHours() method, 330
    91. setInterval() method, 278, 279
    92. setItem() method, 735–736, 766
    93. setMilliseconds() method, 330
    94. setMinutes() method, 330
    95. setMonth() method, 330, 332, 334
    96. setSeconds() method, 330
    97. setTime() method, 330
    98. shift() method, 305
    99. show() method, 399, 402, 425
    100. signInUser() method, 700–703
    101. sin() method, 339
    102. slice() method, 305–306, 316, 318
    103. slideDown() method, 401, 402
    104. slideToggle() method, 401, 402, 405, 406, 410
    105. slideUp() method, 401, 402
    106. splice() method, 308–310, 322–323
    107. split() method, 316, 318–320
    108. sqrt() method, 339
    109. String object, 313, 316
    110. substr() method, 316, 320–321, 322–323
    111. substring() method, 316, 321–322, 322–323
    112. tan() method, 339
    113. text() method, 376, 554
    114. toggle() method, 399, 402, 425
    115. toggleClass() method, 384–385, 385–386
    116. unshift() method, 310
    117. updateData() method, 667
    118. val() method, 542–543, 546–547
    119. verifyUser() method, 691–695, 708
    120. width() method, 381–382
  25. micro level, 128
  26. Microsoft Edge
    1. displaying Console in, 346
    2. opening web development tools in, 344
  27. min() method, 339
  28. min-height property, 151, 162
  29. mirroring hard disk, 42–44
  30. Missing ( error message, 359
  31. Missing ; error message, 360
  32. Missing { error message, 359–360
  33. Missing } error message, 360
  34. mixing quotation marks, 441–442
  35. mm argument, 324
  36. mobile web apps
    1. about, 19–20, 739–740
    2. adding app controls, 745–754
    3. building Button Builder app, 740–767
    4. creating menus, 745
    5. web help, 741
  37. mobile-first web development
    1. about, 20, 723–724
    2. images, 731–733
    3. jQuery Mobile, 729–731
    4. principles of, 725–729
    5. storing user data in browsers, 734–737
  38. modal dialog, 668
  39. modifying
    1. CSS with jQuery, 377–385
    2. element styles, 288–289
    3. selected options, 555
    4. table data with UPDATE query, 491
    5. values of properties, 273
    6. web files, 45
  40. modulus (%) operator, 199, 204, 220, 438
  41. monitoring
    1. blur events, 560
    2. focus events, 559
    3. script values, 352–355
  42. month argument, 324
  43. month picker, 557
  44. monthName() function, 329
  45. motor impairments, 606
  46. mouse events, 389
  47. moving data to web pages, 469
  48. Mozilla Firefox
    1. adding watch expressions, 354
    2. displaying Console in, 346
    3. opening web development tools in, 344
    4. stepping into code, 351
    5. stepping out of code, 352
    6. stepping over code, 352
    7. viewing all variable values, 354
  49. ms argument, 324
  50. mth argument, 324
  51. multidimensional arrays, creating, 299–300, 450–451
  52. multiple arguments, 257
  53. multiplication (*) operator, 198, 199, 202, 220, 438, 586–587
  54. MySQL. See also PHP
    1. about, 15–16
    2. backing up data, 473
    3. importing data into, 471–473
    4. role of in web apps, 494–495
    5. separating login credentials, 505–506
    6. using PHP to access data in, 493–505
  55. MySQL databases
    1. about, 468–469
    2. connecting to, 497–499
    3. creating, 473–480
    4. creating tables, 473–480
    5. phpMyAdmin, 470–473
    6. queries, 469–470
    7. querying data, 480–492
    8. tables, 468–469
  56. MySQL tables
    1. adding data to, 479
    2. creating, 477–479
  57. MySQLi (MySQL Improved), 497–499

N

  1. {n} symbol, 587
  2. {n,} symbol, 587–588
  3. naming variables, 187–189
  4. <nav> tag, 72–73, 96, 114
  5. navigating web home, 41–45
  6. navigation bar
    1. laying out with flexbox, 143–144
    2. for mobile-first web development, 726
  7. navigation menus, creating, 418–420
  8. navigator property, 276
  9. negation (-) operator, 199, 201–202, 220, 438
  10. nesting
    1. if() statements, 230–231
    2. tags, 60
  11. Network tab, 345
  12. newline character, 441
  13. symbol, 588
  14. non-identity (!==) operator, 208, 212–213, 220, 439
  15. “non-mobile” breakpoints, choosing, 727–729
  16. non-semantic content, 76–77
  17. <noscript> tag, 176
  18. not equal (!=) operator, 208, 209, 220, 439
  19. not equal (<>) operator, 483
  20. not() filter, 373
  21. NOT (!) operator, 215, 217, 220, 439, 485
  22. Notepad++ (website), 34
  23. no-width layout, for web apps, 600
  24. null string, 191
  25. Number() function, 234
  26. Number object, 269
  27. number type, 539
  28. numbered lists, building, 65–68
  29. numbers
    1. converting between strings and, 336–338
    2. floating-point, 336
    3. working with. See Math object
  30. numeric expressions, 199–205
  31. numeric literals, 189–191
  32. numericSort function, 307

O

  1. object methods, 273–275, 462
  2. object properties, 272–273, 461–462
  3. objects
    1. about, 267–269
    2. actions, 273–274
    3. anchor object, 270
    4. array, 300–310
    5. creating, 461
    6. Date object. See also dates
      1. about, 269
      2. arguments with, 324
      3. extracting information about dates, 325–328
      4. methods, 326, 330
      5. setting dates, 330–332
      6. working with, 324–325
    7. document subobject, 270
    8. Event object, 393–394
    9. form object, 270
    10. frame subobject, 270
    11. hierarchy of, 269–270
    12. history subobject, 270
    13. image object, 270
    14. link object, 270
    15. location subobject, 270
    16. manipulating properties, 271–273
    17. Math object
      1. about, 269, 335–336
      2. converting between strings and numbers, 336–338
      3. methods, 338–339
      4. properties, 338–339
    18. object methods, 273–275, 462
    19. PHP, 458–462
    20. programming document objects, 284–290
    21. as properties, 272–273, 461–462
    22. rolling, 458–461
    23. String object
      1. about, 269
      2. determining length of, 312–313
      3. manipulating text with, 311–323
      4. methods, 313, 316
    24. window, 275–284
    25. window object, 270, 735
  4. objectsXMLHttpRequest object, 512
  5. odd filter, 373
  6. off() method, 398
  7. offset-image class, 122
  8. offsets, 121
  9. <ol> tag, 67
  10. on() method, 390–391, 397
  11. onclick attribute, 255, 256
  12. one-dimensional arrays, 299
  13. on/off decision, 226
  14. openssl_random_pseudo_bytes() function, 628, 689
  15. operands, 198, 211, 482
  16. operating system, as a web hosting consideration, 39
  17. operator precedence, 219–223
  18. operators
    1. about, 198, 482
    2. addition (+) operator, 199, 200, 220, 337–338, 438, 439, 587
    3. AND (&&) operator, 215–216, 217–219, 220, 230, 439, 485
    4. arithmetic assignment operators, 199–200, 204–205
    5. arithmetic operators, 199–200, 438
    6. BETWEEN…AND operator, 484
    7. comparison operators, 211–212, 439, 482–484
    8. decrement (--) operator, 199, 202, 220, 239, 438
    9. division (/) operator, 199, 202–204, 220, 438
    10. equal (=) operator, 439, 483
    11. equality operator (==), 208–209, 220, 358–359
    12. exponentiation (**) operator, 438
    13. greater than (>) operator, 208, 209, 220, 347, 439, 483
    14. greater than or equal (>=) operator, 208, 210, 220, 439, 483
    15. identity (===) operator, 208, 212, 220, 358–359, 439
    16. increment (++) operator, 199, 200–201, 220, 438
    17. IS NULL operator, 484
    18. less than (<) operator, 208, 209–210, 220, 439, 483
    19. less than or equal (<=) operator, 208, 210–211, 220, 439, 483
    20. LIKE operator, 483
    21. logical operators, 439, 484–485
    22. modulus (%) operator, 199, 204, 220, 438
    23. multiplication (*) operator, 198, 199, 202, 220, 438, 586–587
    24. negation (-) operator, 199, 201–202, 220, 438
    25. non-identity (!==) operator, 208, 212–213, 220, 439
    26. not equal (!=) operator, 208, 209, 220, 439
    27. not equal (<>) operator, 483
    28. NOT (!) operator, 215, 217, 220, 439, 485
    29. IN operator, 484
    30. OR (||) operator, 215, 216–217, 217–219, 220, 230, 439, 485
    31. post-decrement operator, 203, 438
    32. post-increment operators, 201, 438
    33. pre-decrement operator, 203, 438
    34. pre-increment operators, 201, 438
    35. property access operator, 271
    36. strict equality operator, 212
    37. strict inequality operator, 212
    38. subtraction (-) operator, 199, 201–202, 220, 438
    39. ternary (?:) operator, 214, 221
  19. <option> tag, 551–555
  20. OR (||) operator, 215, 216–217, 217–219, 220, 230, 439, 485
  21. order of precedence, 220–223
  22. ordered list, 67
  23. ordering array elements, 306–308
  24. orders table, 476–477
  25. orders_details table, 477
  26. organization, of directory structure, 620
  27. OS X
    1. installing XAMPP for, 29–30
    2. setting up XAMPP for, 29–33
  28. outer join, 490
  29. outgoing data, 616
  30. outputting
    1. array values, 447–448
    2. long strings, 443–445
    3. text/tags, 439–445
    4. variables in strings, 442–443

P

  1. p element, 14
  2. <p> tag, 76, 104, 106, 405
  3. pace, of animation, 402
  4. padding
    1. adding, 107–108
    2. as a box component, 104
    3. resetting, 111
  5. padding property, 108
  6. page elements
    1. about, 103–104
    2. adding padding, 107–108
    3. creating
      1. borders, 109–110
      2. margins, 110–113
    4. CSS Box Model, 104–105
    5. floating elements, 115–120
    6. with floats, 128–132
    7. with inline blocks, 132–136
    8. page flow, 113–114
    9. positioning, 120–126
    10. styling sizes, 105–106
  7. page flow, 113–114
  8. page footer, 75–76
  9. page header, 71–72
  10. page layout
    1. about, 127–128
    2. fallbacks for, 164–165
    3. flexible layouts with Flexbox, 136–153
    4. levels of, 128
    5. page elements
      1. with floats, 128–132
      2. with inline blocks, 132–136
    6. shaping with CSS Grid, 153–164
  11. page-level scope, 261–262
  12. pages
    1. adding
      1. elements to, 287–290
      2. styles to, 83–87
      3. titles to, 54–56
    2. appearance of in web apps, 598–599
    3. building
      1. accordions, 403–406
      2. with animation, 398–410
      3. reactive pages with events, 388–398
    4. calling functions after loading, 253–254
    5. family, 95–96
    6. including jQuery in, 366–368
    7. loading fragments, 518–519
    8. manipulating, 268
    9. moving data to, 469
    10. requirements for web apps, 597–598
    11. structure of, 71–78
    12. structure of HTML5, 53–57
    13. structuring with HTML, 49–78
    14. styling text, 87–93
    15. styling with CSS, 79–101
    16. writing text to, 179–180
  13. pageX property, 393
  14. pageY property, 393
  15. paragraph text, aligning, 92
  16. parameterized statements/queries, 614–616
  17. parameters, 250
  18. parent element, 96
  19. parentheses
    1. mismatched, 357
    2. missing, 358
    3. using in expressions, 222–223
  20. parseFloat() function, 337, 381–382
  21. parseInt() function, 336–337
  22. parsing
    1. calling functions whtn <script> tag is, 252–253
    2. query strings, 495–497
  23. passing
    1. defined, 255
    2. values to functions, 255–258, 457
  24. password type, 540
  25. password_hash() function, 688
  26. passwords
    1. resetting, 704–713
    2. securing, 617–618
  27. password_verify() function, 703
  28. patterns
    1. matching, 570
    2. validating against, 582
  29. pausing code, 348–350
  30. PC Magazine Web Site Hosting Services Reviews (website), 41
  31. performing
    1. complex date calculations, 334
    2. date calculations, 332–335
  32. PHP. See also MySQL
    1. about, 15–16, 24, 29, 435
    2. accessing error log, 464–465
    3. arrays, 445–451
    4. building expressions, 438–439
    5. constants, 626–627
    6. controlling flow of code, 451–456
    7. debugging, 463–466
    8. functions, 456–458
    9. handling POST requests in, 513–514
    10. how scripts work, 436
    11. joining with Ajax and JSON, 509–532
    12. loading output from scripts, 517–518
    13. objects, 458–462
    14. outputting text/tags, 439–445
    15. role of in web app, 494–495
    16. scripts syntax, 436–438
    17. sessions, 627, 628–629
    18. using to access MySQL data, 493–505
    19. variables, 438
  33. PHP files, 436
  34. PHP processor, 436
  35. PHPInfo link, 28, 33
  36. php.ini, configuring for debugging, 463–464
  37. phpMyAdmin, 24, 29, 33, 470–473, 624
  38. pickers, programming, 555–557
  39. pixel (px), 89
  40. planning web apps, 595–599
  41. plug-ins, 412
  42. PNG (Portable Network Graphics), 70
  43. point (pt), 89
  44. pop() method, 303, 522
  45. populating
    1. arrays, 295–296
    2. arrays using loops, 296–297
    3. arrays with data, 294–299
  46. port number, 516
  47. Portable Network Graphics (PNG), 70
  48. position property, 120–126
  49. positioning
    1. absolute, 122–124
    2. as a box component, 104
    3. context, 123
    4. fixed, 125–126
    5. page elements, 120–126
    6. relative, 121–122
  50. .post() method, 511, 523–526
  51. POST request
    1. about, 496, 511–513
    2. handling in PHP, 513–514
    3. preparing for data submission, 563
  52. post-decrement operator, 203, 438
  53. post-increment operators, 201, 438
  54. pow() method, 339
  55. <pre> tag, 448
  56. precedence, operator, 219–223
  57. pre-decrement operator, 203, 438
  58. preg_match() function, 582
  59. pre-increment operators, 201, 438
  60. prepared statements, 614–616
  61. preparing data for submission, 563
  62. prepend() method, 374–375, 375–376
  63. preventDefault() method, 394–395, 562
  64. preventing default event action, 394–395
  65. primary axis, 137, 139–140
  66. primary keys, 476, 479–480
  67. print command, 439
  68. print_r() function, 447–448
  69. private subdirectory, setting up, 623–624
  70. programming
    1. document objects, 284–290
    2. pickers, 555–557
  71. programming language
    1. about, 171–172
    2. client-side, 174
    3. JavaScript as a, 171
  72. progressive enhancement, 164, 724
  73. prompt() method, 234, 236, 282–283
  74. properties
    1. adding to classes, 459–460
    2. align-self property, 161
    3. background-color property, 94–95
    4. border property, 109–110
    5. bottom property, 121
    6. Cascading Style Sheet (CSS), 378–382, 406–408
    7. changing values of, 273
    8. clear property, 117
    9. color property, 94
    10. column (flex-direction property), 137
    11. column-reverse (flex-direction property), 137
    12. console property, 276
    13. customer_id property, 462
    14. defined, 14, 407
    15. document property, 276
    16. flex property, 152
    17. flex-direction property, 137
    18. flex-grow property, 144–146
    19. flex-shrink property, 146–149
    20. float property, 115–120
    21. font-family property, 14, 88
    22. font-size property, 14, 88
    23. font-style property, 88
    24. font-weight property, 88
    25. frames property, 276
    26. grid-gap property, 156
    27. history property, 276
    28. hostname property, 272
    29. innerHeight property, 276
    30. innerWidth property, 276
    31. justify-content property, 139–140
    32. justify-self property, 160
    33. left property, 121
    34. length property, 300–301, 312–313
    35. localStorage property, 276, 735
    36. location property, 271, 272, 276
    37. manipulating, 271–273
    38. margin property, 110–111
    39. Math object, 338–339
    40. metaKey property, 393
    41. min-height property, 151, 162
    42. navigator property, 276
    43. of objects, 268
    44. objects as, 272–273, 461–462
    45. padding property, 108
    46. pageX property, 393
    47. pageY property, 393
    48. position property, 120–126
    49. referencing, 271–272
    50. right property, 121
    51. row (flex-direction property), 137
    52. row-reverse (flex-direction property), 137
    53. scrollX property, 276
    54. scrollY property, 276
    55. sessionStorage property, 276, 735
    56. shiftKey property, 393
    57. target property, 393
    58. text-align property, 88, 92
    59. text-declaration property, 88
    60. text-indent property, 88, 92–93
    61. top property, 121
    62. which property, 393
    63. width property, 14
    64. window objects, 275–276
    65. window property, 272
  75. properties parameter, 407
  76. property access operator, 271
  77. property-value pair, 82
  78. proprietary upload tools, 45
  79. protocol, 516
  80. providers, Internet, 36–37
  81. pseudo-element, 119
  82. pt (point), 89
  83. public subdirectory, setting up, 621–623
  84. puff effect, 427
  85. pulsate effect, 427
  86. push() method, 303–304
  87. px (pixel), 89

Q

  1. queries
    1. creating, 504–505
    2. criteria for, 482–485
    3. defined, 480
    4. deleting, 504–505
    5. incorporating query string values in, 501–504
    6. inserting, 504–505
    7. multiple tables, 485–490
    8. MySQL data, 480–492
    9. MySQL databases, 469–470
    10. running, 504–505
    11. storing results in arrays, 500–501
    12. types of, 480–481
    13. updating, 504–505
  2. query() method, 499–500, 500–501
  3. query strings
    1. defined, 494
    2. parsing, 495–497
    3. sending, 496
  4. querySelectorAll() method, 286–287, 372
  5. quotation marks, 191–192, 357, 407, 441–442
  6. quotations, adding, 61–62

R

  1. radio buttons
    1. about, 548–551
    2. getting state, 550
    3. as mandatory fields, 567
    4. setting state, 551
  2. random() method, 339
  3. RDBMS (relational database management system), 468, 476–477
  4. RE (regressive enhancement), 724
  5. reactive pages, building with events, 388–398
  6. readActivities() function, 654, 656–657
  7. readAllData() method, 655–656
  8. readDataItem() method, 664
  9. reading
    1. attribute values, 385
    2. CSS property value, 378–379
    3. data, 652–661
  10. “read-only” properties, 273
  11. ready() method, 654
  12. recursion
    1. defined, 262
    2. use of, 263
  13. recursive functions, 262–266
  14. referencing
    1. checkboxes, 546
    2. properties, 271–272
    3. radio buttons, 549–550
    4. selection lists, 554
    5. text fields by field type, 542
    6. window objects, 275
  15. Register (website), 38
  16. regressive enhancement (RE), 724
  17. regular domain name, 38
  18. regular expressions, 570, 571, 582–589
  19. relating tables, 476–477
  20. relational database management system (RDBMS), 468, 476–477
  21. relative, 120
  22. relative positioning, 121–122
  23. relative unit, 89
  24. rem (root em), 89
  25. Remember icon, 4
  26. remove() method, 377
  27. removeAttr() method, 386
  28. removeClass() method, 383–384, 384–385, 385–386
  29. removeItem() method, 737
  30. removing
    1. array elements, 303, 305, 308–310
    2. attributes, 386
    3. breakpoint, 349
    4. classes, 383–384
    5. data, 668–672
    6. data from web storage, 737
    7. elements in jQuery, 377
    8. queries, 504–505
    9. table data with DELETE query, 492
    10. users, 714–719
    11. watch expressions, 355
  31. replacement task, 309
  32. replacing
    1. array elements, 308–310
    2. element's HTML, 375–376
  33. require statement, 505
  34. reserved words, 188, 193–194
  35. “reset” feature, 758
  36. resetting
    1. CSS to default, 767
    2. margins, 111
    3. padding, 111
    4. passwords, 704–713
  37. resizable interaction, 430
  38. resources, Internet
  1. Alphabet, 594
  2. Apache Friends, 24
  3. Brackets, 34
  4. CNET Web Hosting Solutions, 41
  5. Coda, 44
  6. CuteFTP, 44
  7. Cyberduck, 44
  8. examples in this book, 4
  9. FileZilla, 44
  10. Gmail, 594
  11. GoDaddy, 38
  12. Google, 594
  13. Google Maps, 594
  14. jQuery Mobile icons, 744
  15. JSONLint, 528
  16. PC Magazine Web Site Hosting Services Reviews, 41
  17. phpMyAdmin, 470, 624
  18. Register, 38
  19. Review Hell, 41
  20. Review Signal Web Hosting Reviews, 41
  21. ThemeRoller page, 415
  22. Transmit, 44
  23. uploading files for, 44–45
  24. Web Coding Playground, 4, 93
  25. Web Hosting Talk, 40
  26. XAMPP Dashboard, 470
  27. YouTube, 594
  1. responsive images, for web apps, 604–605
  2. responsive typography, for web apps, 605
  3. responsiveness, of web apps, 599–605
  4. restricting text field length, 567–568
  5. return statement, 259, 458
  6. returning
    1. Ajax data as JSON text, 528–532
    2. subsets of arrays, 305–306
    3. values from functions, 458
  7. reverse() method, 304–305
  8. reversing array elements order, 304–305
  9. Review Hell (website), 41
  10. Review Signal Web Hosting Reviews (website), 41
  11. RGB code, 94
  12. rgb() function, 94
  13. right property, 121
  14. rolling objects, 458–461
  15. root directory, 41
  16. root em (rem), 89
  17. round() method, 339
  18. rounded corners, for buttons, 538
  19. row (flex-direction property), 137
  20. row-reverse (flex-direction property), 137
  21. rows, assigning assigning to, 157–160
  22. rsoort() function, 448–449
  23. rules
    1. Cascading Style Sheets (CSS), 81–83
    2. for naming variables, 187–188
    3. in programming languages, 171
  24. running
    1. code, 408–410, 765
    2. code after animaton ends, 408–410
    3. functions after loads, 520–522
    4. queries, 504–505
    5. SELECT query, 499–500
    6. XAMPP Application Manager, 30–31
    7. XAMPP for Windows Control Panel, 26–27
  25. runtime errors, 342–343

S

  1. s symbol, 584
  2. S symbol, 584
  3. Safari
    1. displaying Console in, 346
    2. opening web development tools in, 344
  4. same precedence, 221
  5. same-origin policy, 516
  6. sanitizing incoming data, 612–614
  7. saturation, 753
  8. saving custom CSS, 765–766
  9. scalability, as a web hosting consideration, 40
  10. scale effect, 427
  11. scaling content, 726–727
  12. scope
    1. defined, 259–260, 353
    2. global, 261–262, 353
    3. local, 260–261, 353
  13. <script> tag, 175–176, 176–177, 250
    1. calling functions when parsing, 252–253
  14. scripts
    1. constructing, 175–180
    2. data handler, 640–641
    3. monitoring values, 352–355
    4. PHP, 436–438
  15. scrollX property, 276
  16. scrollY property, 276
  17. search type, 540
  18. secondary axis, 137, 140–141
  19. <section> tag, 74–75, 104, 114, 405, 660
  20. security
    1. of directory structure, 620
    2. PHP sessions, 628–629
    3. for web apps, 608–618
  21. SELECT query
    1. about, 481
    2. creating, 481–482, 499–500
    3. running, 499–500
  22. <select> tag, 551–555, 763
  23. selectable interaction, 431
  24. selecting
    1. elements with jQuery, 369–373
    2. “non-mobile” breakpoints, 727–729
    3. text editors, 33–34
  25. selection lists
    1. adding, 551–555
    2. getting options, 554–555
    3. as mandatory fields, 567
    4. referencing, 554
  26. selectors
    1. Cascading Style Sheet (CSS), 96–100
    2. specifying elements by, 286–287
  27. semantic elements, 76
  28. semantically, 58
  29. semicolon (;), 178, 347
  30. sending
    1. data to servers, 519–520, 685–688
    2. form data to servers, 648–649
    3. query strings, 496
    4. verification emails, 688–689
  31. sendPasswordReset() method, 706–713
  32. separating MySQL login credentials, 505–506
  33. server data, converting to JSON format, 528–530
  34. Server Street route, 535
  35. servers
    1. accessing data on, 16
    2. adding files/folders to, 28, 32
    3. communicating
      1. with .get() method, 523–526
      2. with .post() method, 523–526
    4. defined, 36
    5. handling JSON data returned by, 530–532
    6. sending
      1. data to, 519–520, 685–688
      2. form data to, 648–649
    7. storing data on, 16
    8. validating web form data on, 574–582
    9. viewing files/folders on, 28, 32
  36. server-side, 174
  37. sessions (PHP), 627, 628–629
  38. session_start() function, 627
  39. sessionStorage property, 276, 735
  40. setButtonValues() function, 767
  41. setDate() method, 330, 332, 334
  42. setFullYear() method, 330, 332, 333
  43. setHours() method, 330
  44. setInterval() method, 278, 279
  45. setItem() method, 735–736, 766
  46. setMilliseconds() method, 330
  47. setMinutes() method, 330
  48. setMonth() method, 330, 332, 334
  49. sets (jQuery), 371–373
  50. setSeconds() method, 330
  51. setTime() method, 330
  52. setTimeout(), 277
  53. setting
    1. attribute values, 385–386
    2. breakpoint, 349
    3. checkbox state, 547–548
    4. CSS property value, 379–380
    5. dates, 330–332
    6. focus, 558
    7. maximum/minimum values on numeric fields, 568–569
    8. multiple CSS property values, 380–381
    9. radio button state, 551
    10. text field values, 542–543
    11. type size, 87–88
    12. viewport, 601
  54. setup
    1. app control values, 758–760, 761–763
    2. app data structure, 757–758
    3. back end of web apps, 677–682
    4. directory structure, 620–624
    5. event handlers, 390–391
    6. flex container, 137–139
    7. functions, 307
    8. grid container, 154
    9. home page skeleton, 741–743
    10. private subdirectory, 623–624
    11. public subdirectory, 621–623
    12. web forms, 536
    13. web hosts, 35–45
    14. XAMPP for OS X development environment, 29–33
    15. XAMPP for Windows Development Environment, 23–29
  55. shake effect, 427
  56. shared server, as a web hosting consideration, 39
  57. sheets (CSS), 80–81
  58. shift() method, 305
  59. shiftKey property, 393
  60. shopping script, 40
  61. show() method, 399, 402, 425
  62. showing
    1. Console in browsers, 346
    2. content with accordions, 422–424
    3. data, 652–661
    4. elements, 399
    5. messages
      1. in dialogs, 420–422
      2. to users, 177–179
      3. using alert() method, 280–281
  63. shrinking flex items, 146–149
  64. sibling selector, 550
  65. signing in/out, of web apps, 696–704
  66. signing up
    1. with commercial hosting providers, 37
    2. web app users, 682–695
  67. signInUser() method, 700–703
  68. sin() method, 339
  69. single-line syntax, 226
  70. size effect, 428
  71. sizes
    1. styling, 105–106
    2. type, 87–88
  72. slice() method, 305–306, 316, 318
  73. slide effect, 428
  74. slideDown() method, 401, 402
  75. slideToggle() method, 401, 402, 405, 406, 410
  76. slideUp() method, 401, 402
  77. sliding elements, 401
  78. small caps control, 749
  79. sort() function, 306–308, 448–449
  80. sortable interaction, 431
  81. sorting arrays, 448–449
  82. space-around alignment, 140
  83. space-between alignment, 140
  84. <span> tag, 77–78, 104, 106
  85. special characters, inserting, 68–69
  86. specificity, CSS and, 101
  87. specifying
    1. any date/time, 325
    2. colors, 93–94
    3. current date/time, 324–325
    4. elements, 284–287
    5. grid rows/columns, 154–155
  88. Spectrum color picker, 741, 752
  89. splice() method, 308–310, 322–323
  90. split() method, 316, 318–320
  91. SQL (Structured Query Language), 470, 480–481
  92. SQL injection, 609–611
  93. SQLSELECT statement, 503
  94. sqrt() method, 339
  95. srcset attribute, 733
  96. ss argument, 324
  97. start tag, 50
  98. starting
    1. User class, 678–679
    2. web app Data class, 639–640
  99. startup files, creating for web apps, 630–635
  100. statements
    1. block, 227
    2. break statement, exiting loops using, 243–245
    3. compound, 227
    4. continue statement, 245–246
    5. debugger statement, 247, 350
    6. defined, 178, 250
    7. document.write() statement, 180
    8. echo statement, 437, 440, 465–466
    9. for() statement, 236, 300
    10. if() statements
      1. about, 392
      2. decision-making with, 452–453
      3. making true/false statements with, 226–227
      4. nesting, 230–231
    11. if()…else statements, 228–229
    12. long, 206
    13. prepared, 614–616
    14. require statement, 505
    15. return statement, 259, 458
    16. SQLSELECT statement, 503
    17. switch() statement, 231–234, 329, 453–454, 522, 647, 660, 682, 763
    18. using variables in, 186–187
    19. var_dump() statements, 466
  101. static, 120
  102. static web pages, 15, 389
  103. stepping through code, 350–352
  104. storage space, as a web hosting consideration, 37–38
  105. storing
    1. data on servers, 16
    2. query results in arrays, 500–501
    3. user data in browsers, 734–737
    4. values in variables, 185
  106. strategies, for debugging, 355–356
  107. stretch alignment, 141
  108. strict equality operator, 212
  109. strict inequality operator, 212
  110. string expressions, building, 205–207
  111. string literals, 191–193
  112. String object
    1. about, 269
    2. determining length of, 312–313
    3. manipulating text with, 311–323
    4. methods, 313, 316
  113. stringify, 736
  114. strings
    1. comma-delimited, 319
    2. converting numbers and, 336–338
    3. creating, 302–303
    4. outputting long, 443–445
    5. outputting variables in, 442–443
    6. using in comparison expressions, 213
    7. using quotation marks within, 191–192
    8. zero-based, 314
  115. strlen() function, 578
  116. <strong> tag, 59, 60
  117. str_replace() function, 614
  118. structure
    1. adding, 13–14
    2. expressions, 197–198
    3. of functions, 250–251
    4. style vs., 57–58
    5. of web pages, 71–78
    6. web pages with HTML, 49–78
  119. Structured Query Language (SQL), 470, 480–481
  120. style attribute, 83
  121. style rule, 82
  122. style sheet, 80–81
  123. <style> tag, 95, 764
  124. styles
    1. adding
      1. about, 14–15, 83–87
      2. to web pages, 83–87
    2. as a border value, 109
    3. Cascading Style Sheets (CSS), 80
    4. elements, 288–289
    5. structure vs., 57–58
  125. styling
    1. invalid fields, 571–574
    2. links, 91–92
    3. page text, 87–93
    4. sizes, 105–106
    5. text, 91
    6. web pages with CSS, 79–101
  126. subdomain name, 38
  127. Sublime Text (website), 34
  128. submenu, 419
  129. submitting
    1. form data, 563–564
    2. web forms, 561–564
  130. submitting forms, 537–538
  131. subobjects, 270
  132. subsets, returning of arrays, 305–306
  133. substr() method, 316, 320–321, 322–323
  134. substring() method, 316, 321–322, 322–323
  135. substrings
    1. extracting with methods, 315–323
    2. finding, 313–315
  136. subtraction (-) operator, 199, 201–202, 220, 438
  137. switch() statement, 231–234, 329, 453–454, 522, 647, 660, 682, 763
  138. syntax
    1. defined, 33
    2. errors in, 342
    3. highlighting in text editors, 33
    4. for JSON, 526–527
  139. Syntax error error message, 359
  140. system font, 90

T

  1. tables
    1. adding data to with INSERT query, 490–491
    2. creating in MySQL databases, 624–625
    3. modifying data with UPDATE query, 491
    4. MySQL databases, 468–469
    5. querying multiple, 485–490
    6. relating, 476–477
    7. removing data from with DELETE query, 492
  2. tabs, dividing content into, 415–418
  3. tag selector (jQuery), 370
  4. tags
    1. <a> tag, 62–63, 64, 106, 129
    2. adding to elements, 288
    3. applying basic text, 58–62
    4. <article> tag, 74, 104, 106, 764
    5. <aside> tag, 75, 114, 634
    6. attributes for, 52–53
    7. <b> tag, 60
    8. <blockquote> tag, 62, 104
    9. <body> tag, 54, 56, 95–96, 151, 162, 743
    10. <button> tag, 256, 537
    11. case sensitivity for, 54
    12. defined, 13, 50
    13. <div> tag, 76–77, 104, 105, 106, 394
    14. <em> tag, 51, 60
    15. end, 50
    16. <footer> tag, 75–76, 96, 114, 116–117
    17. <form> tag, 536
    18. format of, 50
    19. <h1…h4> tags, 61, 104
    20. <head> tag, 54, 95
    21. <header> tag, 71–72, 96, 104, 105, 114, 376
    22. <hr> tag, 52
    23. <html> tag, 95
    24. <i> tag, 59
    25. <img> tag, 70, 116–117, 124
    26. <input> tag, 394, 537, 543–548, 548–551, 550, 567–568, 763
    27. <li> tag, 65
    28. <link> tag, 86–87
    29. <main> tag, 73, 96
    30. <meta> tag, 68
    31. <nav> tag, 72–73, 96, 114
    32. nesting, 60
    33. <noscript> tag, 176
    34. <ol> tag, 67
    35. <option> tag, 551–555
    36. outputting, 439–445
    37. <p> tag, 76, 104, 106, 405
    38. <pre> tag, 448
    39. <script> tag, 175–176, 176–177, 250, 252–253
    40. <section> tag, 74–75, 104, 114, 405, 660
    41. <select> tag, 551–555, 763
    42. <span> tag, 77–78, 104, 106
    43. specifying elements by name, 285–286
    44. start, 50
    45. <strong> tag, 59, 60
    46. <style> tag, 95, 764
    47. <title> tag, 55, 60, 95
    48. <ul> tag, 65
  5. tan() method, 339
  6. target property, 393
  7. tech support, as a web hosting consideration, 39
  8. Technical Stuff icon, 4
  9. techniques, layout, 128
  10. tel type, 539
  11. terminator, 444
  12. ternary (?:) operator, 214, 221
  13. testing width, 726
  14. text
    1. adding
      1. about, 56–57
      2. controls, 747–750
      3. to elements, 288
    2. bolding, 91
    3. coloring, 94
    4. emphasizing, 58–59
    5. fields, 538–543
    6. italicizing, 91
    7. manipulating with String object, 311–323
    8. marking, 59–60
    9. for mobile-first web development, 725
    10. outputting, 439–445
    11. processing in text editors, 34
    12. styling, 91, 745
    13. validating data, 578–580
    14. writing to pages, 179–180
  15. text editors, 33–34
  16. text() method, 376, 554
  17. text type, 539
  18. text-align property, 88, 92
  19. <textarea>, 540
  20. text-declaration property, 88
  21. text-indent property, 88, 92–93
  22. TextMate (website), 34
  23. ThemeRoller page (website), 415
  24. tilde (~) symbol, 550
  25. time() function, 629
  26. time type, 539
  27. timeouts (JavaScript), 276–280
  28. times
    1. about, 322–335
    2. specifying any, 325
    3. specifying current, 324–325
  29. Tip icon, 4
  30. <title> tag, 55, 60, 95
  31. titles
    1. adding to web pages, 54–56
    2. tips for, 55–56
  32. toggle() method, 399, 402, 425
  33. toggleClass() method, 384–385, 385–386
  34. toggling classes, 384–385
  35. token, 628
  36. tools, for debugging, 344–345
  37. top property, 121
  38. Transmit (website), 44
  39. triggering
    1. submit events, 562
    2. web form events, 557–561
  40. true block, 107
  41. true/false statements, making with if() statements, 226–227
  42. truth table, 216, 217
  43. turning off event handlers, 398
  44. two-dimensional arrays, 299
  45. type, setting size of, 87–88
  46. type selector, 97
  47. typeface, 90

U

  1. ui-accordion class, 424
  2. ui-accordion-content class, 424
  3. ui-accordion-header class, 424
  4. ui-dialog class, 422
  5. ui-dialog-container class, 422
  6. ui-dialog-title class, 422
  7. ui-dialog-titlebar class, 422
  8. ui-menu class, 420
  9. ui-menu-item class, 420
  10. ui-menu-wrapper class, 420
  11. <ul> tag, 65
  12. unauthorized access, 612
  13. Unexpected end of input error message, 360
  14. Unexpected identifier error message, 360
  15. uniform resource locator (URL), 8
  16. Unix, 39
  17. unordered list, 65
  18. unshift() method, 310
  19. Unterminated string constant error message, 361
  20. Unterminated string literal error message, 361
  21. UPDATE query, 481, 491
  22. updateData() method, 667
  23. updating
    1. data, 661–668
    2. elements with server data using .load() method, 514–522
    3. queries, 504–505
    4. values of watch expressions, 355
  24. uploading
    1. defined, 43
    2. website files, 44–45
  25. uptime, as a web hosting consideration, 39
  26. URL (uniform resource locator), 8
  27. url type, 539
  28. User class, 678–679
  29. user data, 596, 734–737
  30. user experience (UX), 599
  31. user functions, of web apps, 595
  32. user handling script, 679–682
  33. user interactions, 280–284
  34. user style sheet, 100
  35. user-generated data, 596
  36. users (web app)
    1. about, 673
    2. adding to databases, 689–690
    3. checking credentials for, 700–703
    4. configuring home page, 674–677
    5. deleting, 714–719
    6. displaying messages to, 177–179
    7. resetting passwords, 704–713
    8. setting up back end, 677–682
    9. signing in/out, 696–704
    10. signing up new, 682–695
    11. verifying, 690–695
  37. UX (user experience), 599

V

  1. val() method, 542–543, 546–547
  2. validating
    1. email fields, 569
    2. fields based on data type, 580–581
    3. form data in browsers, 566–574
    4. form data on servers, 574–582
    5. against patterns, 582
    6. text data, 578–580
  3. values
    1. arrays, 447–448, 450
    2. attribute, 385–386
    3. changing of properties, 273
    4. defined, 407
    5. incrementing the, 200–201
    6. passing to functions, 255–258, 457
    7. returning
      1. from functions, 258–259
      2. values from, 458
    8. storing in variables, 185
    9. text field, 542–543
  4. var() function, 613
  5. var_dump() statements, 466
  6. variables
    1. about, 183–184
    2. declaring, 184–185
    3. JSON, 527–528
    4. literal data types, 189–193
    5. local vs. global, 259–262, 359
    6. naming, 187–189
    7. outputting in strings, 442–443
    8. PHP, 438
    9. rules for naming, 187–188
    10. storing values in, 185
    11. using in statements, 186–187
    12. viewing
      1. all variable values, 353–354
      2. single variable values, 352–353
  7. vendor prefixes, 152
  8. verification emails, sending, 688–689
  9. verifying
    1. data types, 613–614
    2. for required fields, 575–578
    3. for signed-in users, 696–697
    4. user credentials, 700–703
    5. users, 690–695
  10. verifyUser() method, 691–695, 708
  11. vertical space, 113
  12. vh (viewport height), 89
  13. viewing
    1. all variable values, 353–354
    2. files on servers, 28, 32
    3. folders on servers, 28, 32
    4. single variable values, 352–353
  14. viewport, 275, 601
  15. viewport height (vh), 89
  16. viewport width (vw), 89
  17. virtual server, 39
  18. visual impairments, 606
  19. vw (viewport width), 89

W

  1. w symbol, 583
  2. W symbol, 583
  3. Warning icon, 4
  4. watch expressions, 354–355
  5. web address, 42
  6. web apps. See also mobile web apps
    1. about, 19, 593–594, 619
    2. accessibility of, 605–608
    3. adding jQuery Mobile to, 730–731
    4. appearance of pages, 598–599
    5. Atom editor, 34
    6. back-end code, 626–630
    7. building home pages for, 635
    8. Coda, 34
    9. creating
      1. back-end initialization files, 631–632
      2. data, 643–652
      3. databases, 624–625
      4. front-end common files, 633–634
      5. startup files for, 630–635
      6. tables, 624–625
    10. data requirements for, 596–597
    11. defending, 612–618
    12. deleting data, 668–672
    13. displaying data, 652–661
    14. editing data, 661–668
    15. functionality of, 595–596
    16. mobile, 19–20
    17. Notepad++, 34
    18. page requirements for, 597–598
    19. planning, 595–599
    20. reading data, 652–661
    21. responsiveness of, 599–605
    22. role of
      1. MySQL in, 494–495
      2. PHP in, 494–495
    23. security for, 608–618
    24. setting up directory structure, 620–624
    25. starting Data class, 639–640
    26. Sublime Text, 34
    27. TextMate, 34
    28. updating data, 661–668
  7. web coding and development. See also specific topics
    1. about, 7–8
    2. basics of, 8–12
    3. home, 21–34, 41–45
    4. how it works, 8–12
    5. web coding vs. web development, 20
  8. Web Coding Playground (website), 4, 93
  9. web development. See web coding and development
  10. web files, changing, 45
  11. web forms
    1. about, 533–534, 565
    2. adding
      1. about, 697–700
      2. buttons, 537–538
      3. selection lists, 551–555
    3. building, 643–647, 683–685
    4. checking for required fields, 575–578
    5. conforming field values, 570–571
    6. handling events, 557–561
    7. how they work, 535
    8. HTML5, 536–537
    9. making fields mandatory, 566–567
    10. preventing default form submission, 562
    11. programming pickers, 555–557
    12. radio buttons, 548–551
    13. regular expressions, 582–589
    14. restricting text field length, 567–568
    15. setting maximum/minimum values on numeric fields, 568–569
    16. styling invalid fields, 571–574
    17. submitting
      1. about, 561–564
      2. data, 563–564
    18. text fields, 538–543
    19. triggering events, 557–561
    20. validating
      1. data in browsers, 566–574
      2. data on servers, 574–582
      3. email fields, 569
      4. fields based on data types, 580–581
      5. against patterns, 582
      6. text data, 578–580
  12. Web Hosting Talk (website), 40
  13. web hosts
    1. defined, 36
    2. finding, 35–45, 40–41
    3. providers, 36–40
    4. setting up, 35–45
  14. web pages
    1. adding
      1. elements to, 287–290
      2. styles to, 83–87
      3. titles to, 54–56
    2. appearance of in web apps, 598–599
    3. building
      1. accordions, 403–406
      2. with animation, 398–410
      3. reactive pages with events, 388–398
    4. calling functions after loading, 253–254
    5. family, 95–96
    6. including jQuery in, 366–368
    7. loading fragments, 518–519
    8. manipulating, 268
    9. moving data to, 469
    10. requirements for web apps, 597–598
    11. structure of, 71–78
    12. structure of HTML5, 53–57
    13. structuring with HTML, 49–78
    14. styling
      1. with CSS, 79–101
      2. text, 87–93
    15. writing text to, 179–180
  15. web root, 620
  16. web servers
    1. accessing data on, 16
    2. adding files/folders to, 28, 32
    3. communicating
      1. with .get() method, 523–526
      2. with .post() method, 523–526
    4. defined, 36
    5. handling JSON data returned by, 530–532
    6. sending
      1. data to, 519–520, 685–688
      2. form data to, 648–649
    7. storing data on, 16
    8. validating web form data on, 574–582
    9. viewing files/folders on, 28, 32
  17. web storage, 735, 736–737
  18. website statistics, as a web hosting consideration, 40
  19. websites
    1. Alphabet, 594
    2. Apache Friends, 24
    3. Brackets, 34
    4. CNET Web Hosting Solutions, 41
    5. Coda, 44
    6. CuteFTP, 44
    7. Cyberduck, 44
    8. examples in this book, 4
    9. FileZilla, 44
    10. Gmail, 594
    11. GoDaddy, 38
    12. Google, 594
    13. Google Maps, 594
    14. jQuery Mobile icons, 744
    15. JSONLint, 528
    16. PC Magazine Web Site Hosting Services Reviews, 41
    17. phpMyAdmin, 470, 624
    18. Register, 38
    19. Review Hell, 41
    20. Review Signal Web Hosting Reviews, 41
    21. ThemeRoller page, 415
    22. Transmit, 44
    23. uploading files for, 44–45
    24. Web Coding Playground, 4, 93
    25. Web Hosting Talk, 40
    26. XAMPP Dashboard, 470
    27. YouTube, 594
  20. week picker, 557
  21. weight, CSS and, 100–101
  22. WHERE clause, 503
  23. which property, 393
  24. while() loops, 235–237, 454–455
  25. white space, 56
  26. whitelisting, 614
  27. widgets
    1. defined, 415
    2. as a jQuery UI category, 412
    3. for mobile-first web development, 726
    4. working with, 415–424
  28. width, 105–106, 109
  29. width attribute, 52
  30. width() method, 381–382
  31. width property, 14
  32. wildcard characters, 483
  33. window object, 270, 735
  34. window objects
    1. about, 275
    2. properties, 275–276
    3. referencing, 275
  35. window property, 272
  36. Windows
    1. configuring php.ini for debugging, 463
    2. displaying Console on, 346
    3. inserting special characters, 68
    4. opening web development tools in, 344
    5. setting up public subdirectory, 621
  37. Windows Control Panel, running XAMPP for, 26–27
  38. Windows Development Environment, setting up XAMPP for, 23–29
  39. Windows Server, 39
  40. words
    1. handling, 77–78
    2. in programming languages, 171
  41. workflow, 597
  42. writing
    1. custom CSS code, 763–764
    2. text to pages, 179–180

X

  1. X has no properties error message, 361
  2. X is not an object error message, 361
  3. X is not defined error message, 360
  4. XAMPP
    1. installing, 24–26
    2. installing for OS X, 29–30
    3. running for Windows Control Panel, 26–27
    4. setting up for OS X development environment, 29–33
    5. setting up for Windows Development Environment, 23–29
  5. XAMPP Application Manager, running, 30–31
  6. XAMPP Dashboard (website), 470
  7. XML, 511
  8. XMLHttpRequest object, 512
  9. XSS (cross-site scripting), 611–612

Y

  1. yes/no decision, 226
  2. YouTube (website), 594
  3. yy argument, 324
  4. yyyy argument, 324

Z

  1. zero-based strings, 314
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.240.21