ebook img

PHP, MySQL, & JavaScript All-in-One For Dummies PDF

795 Pages·2017·23.3 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview PHP, MySQL, & JavaScript All-in-One For Dummies

PHP, MySQL® & JavaScript ® A L L - I N - O N E by Richard Blum PHP, MySQL® & JavaScript® All-in-One For Dummies® Published by: John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030-5774, www.wiley.com Copyright © 2018 by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the Publisher. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/ permissions. Trademarks: Wiley, For Dummies, the Dummies Man logo, Dummies.com, Making Everything Easier, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and may not be used without written permission. MySQL is a registered trademark of MySQL AB. JavaScript is a registered trademark of Oracle America, Inc. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book. LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ. For general information on our other products and services, please contact our Customer Care Department within the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002. For technical support, please visit https://hub.wiley.com/community/support/dummies. Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com. Library of Congress Control Number: 2018933793 ISBN 978-1-119-46838-7 (pbk); ISBN 978-1-119-46833-2 (ebk); ISBN 978-1-119-46837-0 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Contents at a Glance Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Book 1: Getting Started with Web Programming . . . . . . . . . . . . 5 CHAPTER 1: Examining the Pieces of Web Programming . . . . . . . . . . . . . . . . . . . . . . . . 7 CHAPTER 2: Using a Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 CHAPTER 3: Building a Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Book 2: HTML5 and CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 CHAPTER 1: The Basics of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 CHAPTER 2: The Basics of CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 CHAPTER 3: HTML5 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 CHAPTER 4: Advanced CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 CHAPTER 5: HTML5 and Multimedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Book 3: JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 CHAPTER 1: Introducing JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 CHAPTER 2: Advanced JavaScript Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 CHAPTER 3: Using jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 CHAPTER 4: Reacting to Events with JavaScript and jQuery . . . . . . . . . . . . . . . . . . . . 263 CHAPTER 5: Troubleshooting JavaScript Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Book 4: PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 CHAPTER 1: Understanding PHP Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 CHAPTER 2: PHP Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 CHAPTER 3: PHP Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 CHAPTER 4: Considering PHP Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 CHAPTER 5: Object-Oriented PHP Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 CHAPTER 6: Sessions and Carts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 Book 5: MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 CHAPTER 1: Introducing MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 CHAPTER 2: Administering MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 CHAPTER 3: Designing and Building a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 .89 CHAPTER 4: Using the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 CHAPTER 5: Communicating with the Database from PHP Scripts . . . . . . . . . . . . . . 541 Book 6: Creating Object-Oriented Programs . . . . . . . . . . . . . . . 561 CHAPTER 1: Designing an Object-Oriented Application . . . . . . . . . . . . . . . . . . . . . . . . 563 CHAPTER 2: Implementing an Object-Oriented Application . . . . . . . . . . . . . . . . . . . . 593 CHAPTER 3: Using AJAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 CHAPTER 4: Extending WordPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 Book 7: Using PHP Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 CHAPTER 1: The MVC Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683 CHAPTER 2: Selecting a Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 CHAPTER 3: Creating an Application Using Frameworks . . . . . . . . . . . . . . . . . . . . . . . 715 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 Table of Contents INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Foolish Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Icons Used in This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Beyond the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Where to Go from Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 BOOK 1: GETTING STARTED WITH WEB PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 CHAPTER 1: Examining the Pieces of Web Programming . . . . . . . . .7 Creating a Simple Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Kicking things off with the World Wide Web . . . . . . . . . . . . . . . . . . . . 8 Making sense of markup languages . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Retrieving HTML documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Styling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Creating a Dynamic Web Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Client-side programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Server-side programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Combining client-side and server-side p rogramming . . . . . . . . . . . 24 Storing Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 CHAPTER 2: Using a Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Recognizing What’s Required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 The web server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 The PHP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 The database server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Considering Your Server Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Using a web-hosting company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Building your own server environment . . . . . . . . . . . . . . . . . . . . . . . 33 Using premade servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Tweaking the Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Customizing the Apache Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Customizing the MySQL server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Customizing the PHP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 CHAPTER 3: Building a Development Environment . . . . . . . . . . . . . . .51 Knowing Which Tools to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Graphical desktop tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Web-hosting sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Word processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Table of Contents v Working with the Right Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Text editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Program editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Integrated development environments . . . . . . . . . . . . . . . . . . . . . . . 64 Browser debuggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 BOOK 2: HTML5 AND CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 CHAPTER 1: The Basics of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Diving into Document Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Elements, tags, and attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Document type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Page definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Page sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Looking at the Basic HTML5 Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Headings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Text groupings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Breaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Marking Your Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Formatting text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Using hypertext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Working with Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Character sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Special characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Making a List (And Checking It Twice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Unordered lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Ordered lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Description lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Building Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Defining a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Defining the table’s rows and columns . . . . . . . . . . . . . . . . . . . . . . . 97 Defining the table headings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 CHAPTER 2: The Basics of CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Understanding Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Defining the rules of CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Applying style rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Cascading style rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Styling Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Setting the font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Playing with color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Working with the Box Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Styling Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Table borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Table data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 vi PHP, MySQL & JavaScript All-in-One For Dummies Positioning Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Putting elements in a specific place . . . . . . . . . . . . . . . . . . . . . . . . . 128 Floating elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 CHAPTER 3: HTML5 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Understanding HTML5 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Defining a form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Working with form fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Using Input Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Text boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Password entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Check boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Radio buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Hidden fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 File upload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Adding a Text Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Using Drop-Down Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Enhancing HTML5 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 Data lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Additional input fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150 Using HTML5 Data Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Holding your place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Making certain data required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Validating data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 CHAPTER 4: Advanced CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Rounding Your Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Using Border Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Looking at the CSS3 Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Playing with Color Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Linear gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Radial gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Adding Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Text shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Box shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Creating Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Focusing on font files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Working with web fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Handling Media Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 Using the @media command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Dealing with CSS3 media queries . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Applying multiple style sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Table of Contents vii CHAPTER 5: HTML5 and Multimedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Working with Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Placing images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Styling images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Linking images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 Working with image maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Using HTML5 image additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Playing Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Embedded audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 Digital audio formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Audio the HTML5 way . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Watching Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Paying attention to video quality . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 Looking at digital video formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Putting videos in your web page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Getting Help from Streamers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 BOOK 3: JAVASCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 CHAPTER 1: Introducing JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Knowing Why You Should Use JavaScript . . . . . . . . . . . . . . . . . . . . . . . 197 Changing web page content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Changing web page styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Seeing Where to Put Your JavaScript Code . . . . . . . . . . . . . . . . . . . . . . 199 Embedding JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Using external JavaScript files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 The Basics of JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Working with data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Arrays of data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Controlling Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Conditional statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Working with Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Creating a function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Using a function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 CHAPTER 2: Advanced JavaScript Coding . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Understanding the Document Object Model . . . . . . . . . . . . . . . . . . . . 223 The Document Object Model tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 JavaScript and the Document Object Model . . . . . . . . . . . . . . . . . . 226 viii PHP, MySQL & JavaScript All-in-One For Dummies

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.