A Simple PHP Example
PHP is an open source general-purpose scripting language. The
interpreter engine for PHP is written in the C programming language so it can
be used on nearly all types of computers and operating systems. PHP usually
comes installed with the UNIX operating system. For computer platforms with
other operating systems such as Windows, Linux, or Mac OS, the PHP interpreter
can be downloaded from: http://www.php.net. As with other scripting languages,
PHP is particularly suited for manipulation of text pages, and in particular
for manipulating dynamic HTML pages at the Web server computer. This is in
contrast to JavaScript, which is down-loaded with the Web pages to execute on
the client computer.
PHP has libraries of functions for accessing databases stored under
various types of relational database systems such as Oracle, MySQL, SQLServer,
and any system that supports the ODBC standard (see Chapter 13). Under the
three-tier architecture (see Chapter 2), the DBMS would reside at the bottom-tier database server. PHP would
run at the middle-tier Web server,
where the PHP program commands would manipulate the HTML files to create the
customized dynamic Web pages. The HTML is then sent to the client tier for display and interaction with the user.
Consider the example shown in Figure 14.1(a), which prompts a user to
enter the first and last name and then prints a welcome message to that user.
The line num-bers are not part of the program code; they are used below for
explanation purposes only:
Suppose that the file containing PHP script in program segment P1 is
stored in the following Internet location: http://www.myserver.com/example/
greeting.php. Then if a user types this address in the browser, the PHP
inter-preter would start interpreting the code and produce the form shown in
Figure 14.1(b). We will explain how that happens as we go over the lines in
code segment P1.
Line 0 shows the PHP start tag <?php, which indicates to the PHP inter-preter engine that it should process
all subsequent text lines until it encoun-ters the PHP end tag ?>, shown on line 16. Text outside of these tags is
(a)
//Program
Segment P1:
<?php
//
Printing a welcome message if the user submitted their name // through the HTML
form
if
($_POST['user_name']) {
print("Welcome, ") ;
print($_POST['user_name']);
}
else
{
//
Printing the form to enter the user name since no name has // been entered yet
print
<<<_HTML_
<FORM
method="post" action="$_SERVER['PHP_SELF']">
Enter
your name: <input type="text" name="user_name">
<BR/>
<INPUT
type="submit" value="SUBMIT NAME">
</FORM>
_HTML_;
}
?>
printed as is. This allows PHP code segments to be included within a
larger HTML file. Only the sections in the file between <?php and ?> are
processed by the PHP preprocessor.
Line 1 shows one way of posting
comments in a PHP program on a single line started by //. Single-line comments can also be started with #, and end at the end of the line in which they are entered. Multiple
line comments start with /* and end with */.
The auto-global predefined
PHP variable $_POST (line 2)
is an array that holds all the values entered through form parameters. Arrays
in PHP are dynamic arrays, with no
fixed number of elements. They can be numerically indexed arrays whose indexes (positions) are numbered (0, 1, 2,
...), or they can be associative arrays whose indexes can be any string values.
For example, an associative array indexed based on color can have the indexes
{“red”, “blue”, “green”}. In this example, $_POST is associatively indexed by the name of the posted value user_name that is specified in the name attribute of the input tag on line 10.
Thus $_POST['user_name'] will
contain the value typed in by the user. We will discuss PHP arrays further in
Section 14.2.2.
When the Web page at
http://www.myserver.com/example/greeting.php is first opened, the if condition in line 2 will evaluate to false because there is no value
yet in $_POST['user_name']. Hence,
the PHP interpreter will process lines 6 through 15, which create the text for
an HTML file that dis-plays the form shown in Figure 14.1(b). This is then
displayed at the client side by the Web browser.
Line 8 shows one way of creating long text strings in an HTML file. We
will discuss other ways to specify strings later in this section. All text
between an opening <<<_HTML_ and a
closing _HTML_; is
printed into the HTML file as is. The closing _HTML_; must be alone on a separate line. Thus, the text added to the HTML file
sent to the client will be the text between lines 9 and 13. This includes HTML
tags to create the form shown in Figure 14.1(b).
PHP variable names start with a $ sign and can include characters, num-bers, and the underscore character
_. The PHP auto-global
(predefined) variable $_SERVER (line 9)
is an array that includes information about the local server. The element $_SERVER['PHP_SELF'] in the array is the path name of the PHP file currently being executed
on the server. Thus, the action attribute of the form tag (line 9) instructs
the PHP interpreter to reprocess the same file, once the form parameters are
entered by the user.
Once the user types the name John Smith in the text box and clicks on the SUBMIT NAME button (Figure 14.1(c)), program segment P1 is reprocessed. This time, $_POST['user_name'] will include the string "John Smith", so lines 3 and 4 will now be placed in the HTML file sent to the client, which displays the message in Figure 14.1(d).
As we can see from this example, the PHP program can create two
different HTML commands depending on whether the user just started or whether
they had already submitted their name through the form. In general, a PHP
program can create numerous variations of HTML text in an HTML file at the
server depending on the particular conditional paths taken in the program. Hence,
the HTML sent to the client will be different depending on the interaction with
the user. This is one way in which PHP is used to create dynamic Web pages.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.