Download Learning PHP, MySQL, JavaScript, CSS & HTML5 A Step-by-Step Guide to Creating Dynamic Websites PDF

TitleLearning PHP, MySQL, JavaScript, CSS & HTML5 A Step-by-Step Guide to Creating Dynamic Websites
File Size20.2 MB
Total Pages729
Table of Contents
                            Copyright
Table of Contents
Preface
	Audience
	Assumptions This Book Makes
	Organization of This Book
	Supporting Books
	Conventions Used in This Book
	Using Code Examples
	We’d Like to Hear from You
	Safari® Books Online
	Acknowledgments
Chapter 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
		Using PHP
		Using MySQL
		Using JavaScript
		Using CSS
	And Then There’s HTML5
	The Apache Web Server
	About Open Source
	Bringing It All Together
	Questions
Chapter 2. Setting Up a Development Server
	What Is a WAMP, MAMP, or LAMP?
	Installing a WAMP on Windows
		Testing the Installation
		Alternative WAMPs
	Installing a MAMP on Mac OS X
		Configuring MySQL
		Ensuring MySQL Starts on Booting
		Testing the Installation
	Installing a LAMP on Linux
	Working Remotely
		Logging In
		Using FTP
	Using a Program Editor
	Using an IDE
	Questions
Chapter 3. Introduction to PHP
	Incorporating PHP Within HTML
	This Book’s Examples
	The Structure of PHP
		Using Comments
		Basic Syntax
		Variables
		Operators
		Variable Assignment
		Multiple-Line Commands
		Variable Typing
		Constants
		Predefined Constants
		The Difference Between the echo and print Commands
		Functions
		Variable Scope
	Questions
Chapter 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 ? 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
Chapter 5. PHP Functions and Objects
	PHP Functions
		Defining a Function
		Returning a Value
		Returning an Array
		Passing 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
		PHP 5 Destructors
		Writing Methods
		Static Methods in PHP 5
		Declaring Properties
		Declaring Constants
		Property and Method Scope in PHP 5
		Static Properties and Methods
		Inheritance
	Questions
Chapter 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
Chapter 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
Chapter 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
	Using phpMyAdmin
	Questions
Chapter 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
Chapter 10. Accessing MySQL Using PHP
	Querying a MySQL Database with PHP
		The Process
		Creating a Login File
		Connecting to MySQL
	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 SQL Injection
		Using Placeholders
		Preventing HTML Injection
	Questions
Chapter 11. Using the mysqli Extension
	Querying a MySQL Database with mysqli
		Creating a Login File
		Connecting to MySQL
	A Practical Example
	Using mysqli Procedurally
	Questions
Chapter 12. Form Handling
	Building Forms
	Retrieving Submitted Data
		register_globals: An Old Solution Hangs On
		Default Values
		Input Types
		Sanitizing Input
	An Example Program
	What’s New in HTML5?
		The autocomplete Attribute
		The autofocus Attribute
		The placeholder Attribute
		The required Attribute
		Override Attributes
		The width and height Attributes
	Features Awaiting Full Implementation
		The form Attribute
		The list Attribute
		The min and max Attributes
		The step Attribute
		The color Input Type
		The number and range Input Types
		Date and time Pickers
	Questions
Chapter 13. Cookies, Sessions, and Authentication
	Using Cookies in PHP
		Setting a Cookie
		Accessing a Cookie
		Destroying a Cookie
	HTTP Authentication
		Storing Usernames and Passwords
		Salting
	Using Sessions
		Starting a Session
		Ending a Session
		Setting a Timeout
		Session Security
	Questions
Chapter 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
		Variable Incrementing and Decrementing
		String Concatenation
		Escaping Characters
	Variable Typing
	Functions
	Global Variables
	Local Variables
	The Document Object Model
		But It’s Not That Simple
		Another Use for the $ Symbol
		Using the DOM
	Questions
Chapter 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
Chapter 16. JavaScript Functions, Objects, and Arrays
	JavaScript Functions
		Defining a Function
		The arguments Array
		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
Chapter 17. JavaScript and PHP Validation and Error Handling
	Validating User Input with JavaScript
		The validate.html Document (Part One)
		The validate.html Document (Part Two)
	Regular Expressions
		
		Using Regular Expressions in JavaScript
		Using Regular Expressions in PHP
	Redisplaying a Form After PHP Validation
	Questions
Chapter 18. Using Ajax
	What Is Ajax?
	Using XMLHttpRequest
		Your First Ajax Program
		Using GET Instead of POST
		Sending XML Requests
		Using Frameworks for Ajax
	Questions
Chapter 19. Introduction to CSS
	Importing a Style Sheet
		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 Style Sheets
		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
		Style Sheet Creators
		Style Sheet Methods
		Style Sheet Selectors
		Calculating Specificity
		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
	Pseudo-Classes
	Shorthand Rules
	The Box Model and Layout
		Setting Margins
		Applying Borders
		Adjusting Padding
		Object Contents
	Questions
Chapter 20. Advanced CSS with CSS3
	Attribute Selectors
		The ^ Operator
		The $ Operator
		The * Operator
	The box-sizing Property
	CSS3 Backgrounds
		The background-clip Property
		The background-origin Property
		The background-size Property
	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
Chapter 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
Chapter 22. Introduction to HTML5
	The Canvas
	Geolocation
	Audio and Video
	Forms
	Local Storage
	Web Workers
	Web Applications
	Microdata
	Summary
	Questions
Chapter 23. 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 data Array
		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
	Summary
	Questions
Chapter 24. HTML5 Audio and Video
	About Codecs
	The <audio> Element
	Supporting Non-HTML5 Browsers
	The <video> Element
		The Video Codecs
		Supporting Older Browsers
	Summary
	Questions
Chapter 25. Other HTML5 Features
	Geolocation and the GPS Service
	Other Location Methods
	Geolocation and HTML5
	Local Storage
		Using Local Storage
		The localStorage Object
	Web Workers
	Offline Web Applications
	Drag and Drop
	Cross Document Messaging
	Microdata
	Other HTML5 Tags
	Summary
	Questions
Chapter 26. Bringing It All Together
	Designing a Social Networking Site
	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
Appendix 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
Appendix B. Online Resources
	PHP Resource Sites
	MySQL Resource Sites
	JavaScript Resource Sites
	CSS Resource Sites
	HTML5 Resource Sites
	AJAX Resource Sites
	Miscellaneous Resource Sites
	O’Reilly Resource Sites
Appendix C. MySQL’s FULLTEXT Stopwords
Appendix D. MySQL Functions
	String Functions
	Date Functions
	Time Functions
Index
About the Author
                        

Similer Documents