Learning PHP, MySQL, & JavaScript
With jQuery, CSS, & HTML5
Fifth
Robin Nixon
Edition
1. Learning PHP, MySQL, & JavaScript
2. Preface
1. Audience
2. Assumptions This Book Makes
3. Organization of This Book
4. Supporting Books
5. Conventions Used in This Book
6. Using Code Examples
7. Safari® Books Online
8. How to Contact Us
9. Acknowledgments
3. 1. Introduction to Dynamic Web Content
1. HTTP and HTML: Berners-Lee’s Basics
2. The Request/Response Procedure
3. The Benefits of PHP, MySQL, JavaScript, CSS, and HTML5
1. Using PHP
2. Using MySQL
3. Using JavaScript
4. Using CSS
4. And Then There’s HTML5
5. The Apache Web Server
6. Handling mobile devices
7. About Open Source
8. Bringing It All Together
9. Questions
4. 2. Setting Up a Development Server
1. What Is a WAMP, MAMP, or LAMP?
2. Installing Ampps on Windows
1. Testing the Installation
3. Installing Ampps on Mac OS X
4. Installing a LAMP on Linux
5. Working Remotely
1. Logging In
2. Using FTP
6. Using a Program Editor
7. Using an IDE
8. Questions
5. 3. Introduction to PHP
1. Incorporating PHP Within HTML
2. This Book’s Examples
3. The Structure of PHP
1. Using Comments
2. Basic Syntax
3. Variables
4. Operators
5. Variable Assignment
6. Multiple-Line Commands
7. Variable Typing
8. Constants
9. Predefined Constants
10. The Difference Between the echo and print Commands
11. Functions
12. Variable Scope
6. 4. Expressions and Control Flow in PHP
4. Questions
1. Expressions
2. Operators
3. Conditionals
1. TRUE or FALSE?
2. Literals and Variables
1. Operator Precedence
2. Associativity
3. Relational Operators
1. The if Statement
2. The else Statement
3. The elseif Statement
4. The switch Statement
5. The ? Operator
4. Looping
1. while Loops
2. do...while Loops
3. for Loops
4. Breaking Out of a Loop
5. The continue Statement
5. Implicit and Explicit Casting
6. PHP Dynamic Linking
7. Dynamic Linking in Action
8. Questions
7. About the Author
Preface
The combination of PHP and MySQL is the most convenient approach to dynamic, database-
driven web design, holding its own in the face of challenges from integrated frameworks—such
as Ruby on Rails—that are harder to learn. Due to its open source roots (unlike the competing
Microsoft .NET Framework), it is free to implement and is therefore an extremely popular option
for web development.
Any would-be developer on a Unix/Linux or even a Windows/Apache platform will need to
master these technologies. And, combined with the partner technologies of JavaScript, jQuery,
CSS, and HTML5, you will be able to create websites of the caliber of industry standards like
Facebook, Twitter, and Gmail.
Audience
This book is for people who wish to learn how to create effective and dynamic websites. This
may include webmasters or graphic designers who are already creating static websites but wish
to take their skills to the next level, as well as high school and college students, recent graduates,
and self-taught individuals.
In fact, anyone ready to learn the fundamentals behind the Web 2.0 technology known as Ajax
will obtain a thorough grounding in all of these core technologies: PHP, MySQL, JavaScript,
CSS, and HTML5, and learn the basics of the jQuery and jQuery Mobile libraries too.
Assumptions This Book Makes
This book assumes that you have a basic understanding of HTML and can at least put together a
simple, static website, but does not assume that you have any prior knowledge of PHP, MySQL,
JavaScript, CSS, or HTML5—although if you do, your progress through the book will be even
quicker.
Organization of This Book
The chapters in this book are written in a specific order, first introducing all of the core
technologies it covers and then walking you through their installation on a web development
server so that you will be ready to work through the examples.
In the first section, you will gain a grounding in the PHP programming language, covering the
basics of syntax, arrays, functions, and object-oriented programming.
Then, with PHP under your belt, you will move on to an introduction to the MySQL database
system, where you will learn everything from how MySQL databases are structured to how to
generate complex queries.
After that, you will learn how you can combine PHP and MySQL to start creating your own
dynamic web pages by integrating forms and other HTML features. Following that, you will get
down to the nitty-gritty practical aspects of PHP and MySQL development by learning a variety
of useful functions and how to manage cookies and sessions, as well as how to maintain a high
level of security.
In the next few chapters, you will gain a thorough grounding in JavaScript, from simple
functions and event handling to accessing the Document Object Model and in-browser validation
and error handling, plus a comprehensive primer on using the popular jQuery library for
JavaScript.
With an understanding of all three of these core technologies, you will then learn how to make
behind-the-scenes Ajax calls and turn your websites into highly dynamic environments.
Next, you’ll spend two chapters learning all about using CSS to style and lay out your web
pages, before discovering how the jQuery libraries can make your development job a great deal
easdier, and then moving on to the final section on the interactive features built into HTML5,
including geolocation, audio, video, and the canvas. After this, you’ll put together everything
you’ve learned in a complete set of programs that together constitute a fully functional social
networking website.
Along the way, you’ll find plenty of advice on good programming practices and tips that could
help you find and solve hard-to-detect programming errors. There are also plenty of links to
websites containing further details on the topics covered.
Supporting Books
Once you have learned to develop using PHP, MySQL, JavaScript, CSS, and HTML5, you will
be ready to take your skills to the next level using the following O’Reilly reference books. To
learn more about any of these titles, simply enter the ISBN shown next to it into the search box at
http://oreilly.com or at any good online book seller’s website.
Dynamic HTML: The Definitive Reference (9780596527402) by Danny Goodman
PHP in a Nutshell (9780596100674) by Paul Hudson
MySQL in a Nutshell (9780596514334) by Russell Dyer
JavaScript: The Definitive Guide (9780596805524) by David Flanagan
CSS: The Definitive Guide (9780596527334) by Eric A. Myer
HTML5: The Missing Manual (9781449363260) by Matthew MacDonald
Conventions Used in This Book
The following typographical conventions are used in this book:
Plain text
Italic
Indicates menu titles, options, and buttons.
Constant width
Indicates new terms, URLs, email addresses, filenames, file extensions, pathnames,
directories, and Unix utilities.
Indicates command-line options, variables and other code elements, HTML tags, macros,
and the contents of files.
Shows program output or highlighted sections of code that are discussed in the text.
Shows text that should be replaced with user-supplied values.
Constant width bold
Constant width italic
Note
This element signifies a tip, suggestion, or general note.
Warning
This element indicates a warning or caution.