Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites, 6th Edition
- Length: 832 pages
- Edition: 6
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2021-08-17
- ISBN-10: 1492093823
- ISBN-13: 9781492093824
- Sales Rank: #130181 (See Top 100 Books)
Build interactive, data-driven websites with the potent combination of open source technologies and web standards, even if you have only basic HTML knowledge. With the latest edition of this popular hands-on guide, you’ll tackle dynamic web programming using the most recent versions of today’s core technologies: PHP, MySQL, JavaScript, CSS, HTML5, jQuery, and the powerful React library.
Web designers will learn how to use these technologies together while picking up valuable web programming practices along the way–including how to optimize websites for mobile devices. You’ll put everything together to build a fully functional social networking site suitable for both desktop and mobile browsers.
- Explore MySQL from database structure to complex queries
- Use the MySQL PDO extension, PHP’s improved MySQL interface
- Create dynamic PHP web pages that tailor themselves to the user
- Manage cookies and sessions and maintain a high level of security
- Enhance JavaScript with the React library
- Use Ajax calls for background browser-server communication
- Style your web pages by acquiring CSS skills
- Implement HTML5 features, including geolocation, audio, video, and the canvas element
- Reformat your websites into mobile web apps
Learning PHP, MySQL JavaScript Learning PHP, MySQL JavaScript Dedication Preface Audience Assumptions This Book Makes Organization of This Book Conventions Used in This Book Using Code Examples O’Reilly Online Learning How to Contact Us Acknowledgments 1. Introduction to Dynamic Web Content HTTP and HTML: Berners-Lee’s Basics The Request/Response Procedure The Benefits of PHP, MySQL, JavaScript, CSS, and HTML5 MariaDB: The MySQL Clone Using PHP Using MySQL Using JavaScript Using CSS And Then There’s HTML5 The Apache Web Server Handling Mobile Devices About Open Source Bringing It All Together Questions 2. Setting Up a Development Server What Is a WAMP, MAMP, or LAMP? Installing AMPPS on Windows Testing the Installation Accessing the Document Root (Windows) Alternative WAMPs Installing AMPPS on macOS Accessing the Document Root (macOS) Installing a LAMP on Linux Working Remotely Logging In Using SFTP or FTPS Using a Code Editor Using an IDE Questions 3. Introduction to PHP Incorporating PHP Within HTML This Book’s Examples The Structure of PHP Using Comments Basic Syntax Variables Operators Variable Assignment Multiline Commands Variable Typing Constants Predefined Constants The Difference Between the echo and print Commands Functions Variable Scope Questions 4. Expressions and Control Flow in PHP Expressions TRUE or FALSE? Literals and Variables Operators Operator Precedence Associativity Relational Operators Conditionals The if Statement The else Statement The elseif Statement The switch Statement The ? (or ternary) Operator Looping while Loops do...while Loops for Loops Breaking Out of a Loop The continue Statement Implicit and Explicit Casting PHP Dynamic Linking Dynamic Linking in Action Questions 5. PHP Functions and Objects PHP Functions Defining a Function Returning a Value Returning an Array Passing Arguments by Reference Returning Global Variables Recap of Variable Scope Including and Requiring Files The include Statement Using include_once Using require and require_once PHP Version Compatibility PHP Objects Terminology Declaring a Class Creating an Object Accessing Objects Cloning Objects Constructors Destructors Writing Methods Declaring Properties Declaring Constants Property and Method Scope Static Methods Static Properties Inheritance Questions 6. PHP Arrays Basic Access Numerically Indexed Arrays Associative Arrays Assignment Using the array Keyword The foreach...as Loop Multidimensional Arrays Using Array Functions is_array count sort shuffle explode extract compact reset end Questions 7. Practical PHP Using printf Precision Setting String Padding Using sprintf Date and Time Functions Date Constants Using checkdate File Handling Checking Whether a File Exists Creating a File Reading from Files Copying Files Moving a File Deleting a File Updating Files Locking Files for Multiple Accesses Reading an Entire File Uploading Files System Calls XHTML or HTML5? Questions 8. Introduction to MySQL MySQL Basics Summary of Database Terms Accessing MySQL via the Command Line Starting the Command-Line Interface Using the Command-Line Interface MySQL Commands Data Types Indexes Creating an Index Querying a MySQL Database Joining Tables Together Using Logical Operators MySQL Functions Accessing MySQL via phpMyAdmin Questions 9. Mastering MySQL Database Design Primary Keys: The Keys to Relational Databases Normalization First Normal Form Second Normal Form Third Normal Form When Not to Use Normalization Relationships One-to-One One-to-Many Many-to-Many Databases and Anonymity Transactions Transaction Storage Engines Using BEGIN Using COMMIT Using ROLLBACK Using EXPLAIN Backing Up and Restoring Using mysqldump Creating a Backup File Restoring from a Backup File Dumping Data in CSV Format Planning Your Backups Questions 10. What’s New in PHP 8 and MySQL 8 About This Chapter PHP 8 Named Parameters Attributes Constructor Properties Just-In-Time Compilation Union Types Null-safe Operator match Expressions New Functions MySQL 8 Updates to SQL JSON (JavaScript Object Notation) Geography Support Reliability Speed and Performance Management Security Questions 11. Accessing MySQL Using PHP Querying a MySQL Database with PHP The Process Creating a Login File Connecting to a MySQL Database A Practical Example The $_POST Array Deleting a Record Displaying the Form Querying the Database Running the Program Practical MySQL Creating a Table Describing a Table Dropping a Table Adding Data Retrieving Data Updating Data Deleting Data Using AUTO_INCREMENT Performing Additional Queries Preventing Hacking Attempts Steps You Can Take Using Placeholders Preventing JavaScript Injection into HTML Questions 12. Form Handling Building Forms Retrieving Submitted Data Default Values Input Types Sanitizing Input An Example Program HTML5 Enhancements The autocomplete Attribute The autofocus Attribute The placeholder Attribute The required Attribute Override Attributes The width and height Attributes The min and max Attributes The step Attribute The form Attribute The list Attribute The color Input Type The number and range Input Types Date and Time Pickers Questions 13. Cookies, Sessions, and Authentication Using Cookies in PHP Setting a Cookie Accessing a Cookie Destroying a Cookie HTTP Authentication Storing Usernames and Passwords An Example Program Using Sessions Starting a Session Ending a Session Setting a Timeout Session Security Questions 14. Exploring JavaScript JavaScript and HTML Text Using Scripts Within a Document Head Older and Nonstandard Browsers Including JavaScript Files Debugging JavaScript Errors Using Comments Semicolons Variables String Variables Numeric Variables Arrays Operators Arithmetic Operators Assignment Operators Comparison Operators Logical Operators Incrementing, Decrementing, and Shorthand Assignment String Concatenation Escape Characters Variable Typing Functions Global Variables Local Variables Using let and const The Document Object Model Another Use for the $ Symbol Using the DOM About document.write Using console.log Using alert Writing into Elements Using document.write Questions 15. Expressions and Control Flow in JavaScript Expressions Literals and Variables Operators Operator Precedence Associativity Relational Operators The with Statement Using onerror Using try...catch Conditionals The if Statement The else Statement The switch Statement The ? Operator Looping while Loops do...while Loops for Loops Breaking Out of a Loop The continue Statement Explicit Casting Questions 16. JavaScript Functions, Objects, and Arrays JavaScript Functions Defining a Function Returning a Value Returning an Array JavaScript Objects Declaring a Class Creating an Object Accessing Objects The prototype Keyword JavaScript Arrays Numeric Arrays Associative Arrays Multidimensional Arrays Using Array Methods Questions 17. JavaScript and PHP Validation and Error Handling Validating User Input with JavaScript The validate.html Document (Part 1) The validate.html Document (Part 2) Regular Expressions Matching Through Metacharacters Fuzzy Character Matching Grouping Through Parentheses Character Classes Indicating a Range Negation Some More Complicated Examples Summary of Metacharacters General Modifiers Using Regular Expressions in JavaScript Using Regular Expressions in PHP Redisplaying a Form After PHP Validation Questions 18. Using Asynchronous Communication What Is Asynchronous Communication? Using XMLHttpRequest Your First Asynchronous Program Using GET Instead of POST Sending XML Requests Using Frameworks for Asynchronous Communication Questions 19. Introduction to CSS Importing a Stylesheet Importing CSS from Within HTML Embedded Style Settings Using IDs Using Classes Using Semicolons CSS Rules Multiple Assignments Using Comments Style Types Default Styles User Styles External Stylesheets Internal Styles Inline Styles CSS Selectors The Type Selector The Descendant Selector The Child Selector The ID Selector The Class Selector The Attribute Selector The Universal Selector Selecting by Group The CSS Cascade Stylesheet Creators Stylesheet Methods Stylesheet Selectors The Difference Between div and span Elements Measurements Fonts and Typography font-family font-style font-size font-weight Managing Text Styles Decoration Spacing Alignment Transformation Indenting CSS Colors Short Color Strings Gradients Positioning Elements Absolute Positioning Relative Positioning Fixed Positioning Pseudoclasses Shorthand Rules The Box Model and Layout Setting Margins Applying Borders Adjusting Padding Object Contents Questions 20. Advanced CSS with CSS3 Attribute Selectors Matching Parts of Strings The box-sizing Property CSS3 Backgrounds The background-clip Property The background-origin Property The background-size Property Using the auto Value Multiple Backgrounds CSS3 Borders The border-color Property The border-radius Property Box Shadows Element Overflow Multicolumn Layout Colors and Opacity HSL Colors HSLA Colors RGB Colors RGBA Colors The opacity Property Text Effects The text-shadow Property The text-overflow Property The word-wrap Property Web Fonts Google Web Fonts Transformations 3D Transformations Transitions Properties to Transition Transition Duration Transition Delay Transition Timing Shorthand Syntax Questions 21. Accessing CSS from JavaScript Revisiting the getElementById Function The O Function The S Function The C Function Including the Functions Accessing CSS Properties from JavaScript Some Common Properties Other Properties Inline JavaScript The this Keyword Attaching Events to Objects in a Script Attaching to Other Events Adding New Elements Removing Elements Alternatives to Adding and Removing Elements Using Interrupts Using setTimeout Canceling a Timeout Using setInterval Using Interrupts for Animation Questions 22. Introduction to jQuery Why jQuery? Including jQuery Choosing the Right Version Downloading Using a Content Delivery Network Customizing jQuery jQuery Syntax A Simple Example Avoiding Library Conflicts Selectors The css Method The Element Selector The ID Selector The Class Selector Combining Selectors Handling Events Waiting Until the Document Is Ready Event Functions and Properties The blur and focus Events The this Keyword The click and dblclick Events The keypress Event Considerate Programming The mousemove Event Other Mouse Events Alternative Mouse Methods The submit Event Special Effects Hiding and Showing The toggle Method Fading In and Out Sliding Elements Up and Down Animations Stopping Animations Manipulating the DOM The Difference Between the text and html Methods The val and attr Methods Adding and Removing Elements Dynamically Applying Classes Modifying Dimensions The width and height Methods The innerWidth and innerHeight Methods The outerWidth and outerHeight Methods DOM Traversal Parent Elements Child Elements Sibling Elements Selecting the Next and Previous Elements Traversing jQuery Selections The is Method Using jQuery Without Selectors The $.each Method The $.map Method Using Asynchronous Communication Using the POST Method Using the GET Method Plug-ins jQuery User Interface Other Plug-ins Questions 23. Introduction to jQuery Mobile Including jQuery Mobile Getting Started Linking Pages Linking Synchronously Linking Within a Multipage Document Page Transitions Styling Buttons List Handling Filterable Lists List Dividers What Next? Questions 24. Introduction to React What Is the Point of React Anyway? Accessing the React Files Including babel.js Our First React Project Using a Function Instead of a Class Pure and Impure Code: A Golden Rule Using Both a Class and a Function Props and Components The Differences Between Using a Class and a Function React State and Life Cycle Using Hooks (if You Use Node.js) Events in React Inline JSX Conditional Statements Using Lists and Keys Unique Keys Handling Forms Using Text Input Using textarea Using select React Native Creating React Native Apps Further Reading Taking React to the Next Level Questions 25. Introduction to HTML5 The Canvas Geolocation Audio and Video Forms Local Storage Web Workers Questions 26. The HTML5 Canvas Creating and Accessing a Canvas The toDataURL Function Specifying an Image Type The fillRect Method The clearRect Method The strokeRect Method Combining These Commands The createLinearGradient Method The addColorStop Method in Detail The createRadialGradient Method Using Patterns for Fills Writing Text to the Canvas The strokeText Method The textBaseline Property The font Property The textAlign Property The fillText Method The measureText Method Drawing Lines The lineWidth Property The lineCap and lineJoin Properties The miterLimit Property Using Paths The moveTo and lineTo Methods The stroke Method The rect Method Filling Areas The clip Method The isPointInPath Method Working with Curves The arc Method The arcTo Method The quadraticCurveTo Method The bezierCurveTo Method Manipulating Images The drawImage Method Resizing an Image Selecting an Image Area Copying from a Canvas Adding Shadows Editing at the Pixel Level The getImageData Method The putImageData Method The createImageData Method Advanced Graphical Effects The globalCompositeOperation Property The globalAlpha Property Transformations The scale Method The save and restore Methods The rotate Method The translate Method The transform Method The setTransform Method Questions 27. HTML5 Audio and Video About Codecs The audio Element The video Element The Video Codecs Questions 28. Other HTML5 Features Geolocation and the GPS Service Other Location Methods Geolocation and HTML5 Local Storage Using Local Storage The localStorage Object Web Workers Drag and Drop Cross-Document Messaging Other HTML5 Tags Questions 29. Bringing It All Together Designing a Social Networking App On the Website functions.php The Functions header.php setup.php index.php signup.php Checking for Username Availability Logging In checkuser.php login.php profile.php Adding the “About Me” Text Adding a Profile Image Processing the Image Displaying the Current Profile members.php Viewing a User’s Profile Adding and Dropping Friends Listing All Members friends.php messages.php logout.php styles.css javascript.js Questions A. Solutions to the Chapter Questions Chapter 1 Answers Chapter 2 Answers Chapter 3 Answers Chapter 4 Answers Chapter 5 Answers Chapter 6 Answers Chapter 7 Answers Chapter 8 Answers Chapter 9 Answers Chapter 10 Answers Chapter 11 Answers Chapter 12 Answers Chapter 13 Answers Chapter 14 Answers Chapter 15 Answers Chapter 16 Answers Chapter 17 Answers Chapter 18 Answers Chapter 19 Answers Chapter 20 Answers Chapter 21 Answers Chapter 22 Answers Chapter 23 Answers Chapter 24 Answers Chapter 25 Answers Chapter 26 Answers Chapter 27 Answers Chapter 28 Answers Chapter 29 Answers Index About the Author Colophon
Donate to keep this site alive
How to download source code?
1. Go to: https://www.oreilly.com/
2. Search the book title: Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites, 6th Edition
, sometime you may not get the results, please search the main title
3. Click the book title in the search results
3. Publisher resources
section, click Download Example Code
.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.