Chapter 3: Getting Started with PHP
"Getting Started with MySQL", we learned howto use the MySQL database engine to store a list of jokes in a simple database
(composed of a single table named Jokes).
To do so, we used the MySQL command-line client to enter SQL commands (queries).
In this chapter, we'll introduce the PHP server-side scripting language. In
addition to the basic features we'll explore here, this language has full
support for communication with MySQL databases.
Introducing PHP
As we've discussed previously, PHP is a server-side scripting language. This concept is not
obvious, especially if you're used to designing pages with just HTML and JavaScript.
A server-side scripting language is similar to JavaScript in many ways, as they both allow you to embed little programs (scripts) into
the HTML of a Web page. When executed, such scripts allow you to control what
will actually appear in the browser window with more flexibility than is possible
using straight HTML.The key difference between JavaScript and PHP is simple. JavaScript
is interpreted by the Web browser once the Web page that contains the script
has been downloaded. Meanwhile, server-side scripting languages like PHP
are interpreted by the Web server before the page is even sent to the browser.
And, once it's interpreted, the results of the script replace the PHP code
in the Web page itself, so all the browser sees is a standard HTML file. The
script is processed entirely by the server, hence the designation: server-side
scripting language.Let's look back at the today.php example presented
in "Installation":
<html>
<head>
<title>Today's Date</title>
</head>
<body>
<p>Today's Date (according to this Web server) is
<?php
echo( date("l, F dS Y.") );
?></p>
</body>
</html>
Most of this is plain HTML. The line between <?php and ?>,
however, is written in PHP. <?php means
"begin PHP code", and ?> means "end PHP code". The Web
server is asked to interpret everything between these two delimiters, and
to convert it to regular HTML code before it sends the Web page to the requesting
browser. The browser is presented with something like this:
<html>
<head>
<title>Today's Date</title>
</head>
<body>
<p>Today's Date (according to this Web server) is
Wednesday, May 30th 2001.</p>
</body>
</html>
Notice that all signs of the PHP code have disappeared. In its place,
the output of the script has appeared, and looks just like standard HTML.
This example demonstrates several advantages of server-side scripting:
No browser compatibility issues. PHP
scripts are interpreted by the Web server and nothing else, so you don't have
to worry about whether the language you're using will be supported by your
visitors' browsers.
Access to server-side resources. In
the above example, we placed the date according to the Web server into the
Web page. If we had inserted the date using JavaScript, we would only be able
to display the date according to the computer on which the Web browser was
running. Now, while this isn't an especially impressive example of the exploitation
of server-side resources, we could just as easily have inserted some other
information that would be available only to a script running on the Web server.
An example might be information stored in a MySQL database that runs on the
Web server computer.
Reduced load on the client. JavaScript
can slow significantly the display of a Web page on slower computers, as the
browser must run the script before it can display the Web page. With server-side
scripting, this burden is passed to the Web server machine.