Servlet: - : Fig: Separations of Request Processing, Presentation and Business Logic

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

UNIT- II AN INTRODUCTION TO PHP

Servlet: -
Servlets are simple java programs that run on the servers. Hence is the name servlets!
Servlets are most commonly used with HTTP (i.e.Hyper text transfer protocol) hence sometimes
servlets are also called as ―HTTP servlet‖. Servlets make use of the java standard extension
classes in the packages javax.servlet and javax.servlet.http. The servlets normally follows the
framework standard.

The problem with Servlet: -


In one and only one class, the servlet alone has to do various tasks such as

o Acceptance of request
o Processing of request
o Handling of business logic
o Generation of response

Hence there are some problems that are associated with servlets –
1. For developing a servlet based application, knowledge of java as well as HTML code is
necessary.
2. While developing any web based application, if a look and feel of web based application
needs to be changed then the entire code needs to be changed and recompiled.
3. There are some web page development tools available using which the developer can
develop web based applications. But the servlets do not support such tools. Even of such
tools are used for a servlet, we need to change embedded HTML code manually, which is a
time consuming, error prone and complicated process.

These problems that are associated with servlets are due to one and only one reason and that
is servlet has to handle all the tasks of request processing. JSP is one technology that came up
to overcome these problems. JSP is a technology in which request processing, business logic
and presentation are separated out. This allows assigning different project development
activities to various groups. Java programmer can perform the implementation of request
processing and business logic. Web page author can develop user interface. All these
activities can be performed simultaneously.
Servlet with Request
handling class
pure servlet

Request
processing
Presentation Jsp with some
GUI interface

Business Logic
Bean

Core java code for


implementation of
logic
Fig: Separations of request processing, presentation and business logic
Prepared By: K. Ravi Kumar (III-IT) 1
UNIT- II AN INTRODUCTION TO PHP

If some modifications are required to perform for jsp based application then required
changes can be performed independently. For instance business logic can be changed
without changing the user interface.

The Anatomy of JSP Page: -


JSP page is a simple web page which contains the JSP elements and template
text. The template text can be scripting code such as HTML, WML, XML or a simple plain
text. Various jsp elements can be action tags, custom tags, JSTL library elements. These JSP
elements are responsible for generating dynamic contents.

JSP code

<%@ page language=‖java‖ content Type=‖text/html‖ %> < ----- JSP element
<html>
<Head>
<title>Demo for template Text </title>
</head>
<body bgcolor=‖gray‖> template text
<h1>Twinkle Twinkle little stars</h1>
<h2>how I wonder what you are!!!</h2>
<li>like a diamond in the sky</li>

<p>
<% out. print (―JSP is equal to HTML and JAVA‖); %> < ----- JSP element

</p>
<h3> Today’s Date is: < -----Template text

<%=new Date( ).tostring( )%> < ----- JSP element

</h3>
</body> < ----- template text
</html>

When jsp request gets processed template text and jsp elements are merged together and sent
to the browser as a response.

JSP processing
JSP pages can be processed using jsp container only. Following are the steps
that need to be followed while processing the request for JSP pages-
1. Client makes a request for request for required jsp page to the server. The server
must have jsp container so that JSP request can be processed . For instance: let the
client makes a request for xyz.jsp page.
2. on receiving this request the jsp container searches and then reads the desired jsp
page. Then this jsp page is straightway converted to corresponding servlet.

Prepared By: K. Ravi Kumar (III-IT) 2


UNIT- II AN INTRODUCTION TO PHP

Basically any jsp page is a combination of template text and jsp element. Every
template text is translated into corresponding println statement.

For instance:

<html> Out.println(“<html>”);
<head> Out.println(“<head>”);
<title>Demo</title> Out.pintln(“<title>Demo
</title>
…….. ….

Every jsp elements is converted into corresponding java code. This phase is called translation
phase. The output of translation of translation phase is a servlet. For instance: our xyz.jsp gets
converted to xyzservlet.java.

3. This servlet is then compiled to generate the servlet class file. Using this class
the response can be generated. This phase is called request processing phase.
4. The JSP container thus executes the servlet class file.
5. A requested page is then returned to the client as a response.

server jsp.page
xyz.jsp II
(I)Request t=Translation
Client xyz.jsp phase
JSP servlet
Container

(V) xyzservlet.java

Response phase
Getscompiled

IV-Executes xyzServlet.class (III)Request


Processing
Phase
Fig: JSP processing

Prepared By: K. Ravi Kumar (III-IT) 3


UNIT- II AN INTRODUCTION TO PHP

Problems with Java Server Pages (JSP):

Problem #1: Java Code Too Tempting

JSP makes it tempting to put Java code in the web page, even though that's considered bad
design. Just as Java improves on C++ by removing the ability to use global variables and
multiple inheritance, so do template engines improve on JSP by removing the ability to put raw
code in the page. Template engines enforce good design.

Problem #2: Java Code Required

Doing mundane things in JSP can actually demand putting Java code in the page.

Problem #3: Simple Tasks are Hard

Doing even a simple task such as header and footer includes is overly difficult with JSP. Assume
there's a "header" template and a "footer" template to be included on all pages, and each template
includes in its content the current page title.
In JSP the best way to do this is as follows:

<% String title = "The Page Title"; %>


<%@ include file="/header.jsp" %>
Your content here
<%@ include file="/footer.jsp" %>
Page creators must not forget the semi-colon in the first line and must make sure to declare title
as a Java String. Plus, the /header.jsp and /footer.jsp must be made publicly accessible
somewhere under the document root even though they aren't full pages themselves.

Problem #4: Lousy Looping

Looping is overly difficult in JSP. Here's the JSP code to iterate over a vector of ISP objects
printing the name of each.
<%
Enumeration e = list.elements();
while (e.hasMoreElements()) {
out.print("The next name is ");
out.println(((ISP)e.nextElement()).getName());
out.print("<br>");
}
%>
Someday there will be custom tags for doing these loops.

Problem #5: Useless Error Messages


JSP page syntax errors can cause surprisingly odd and useless error messages. This is due to the
fact the page is transformed into a servlet and then compiled. Good JSP tools can help narrow
down errors to likely syntax error locations, but even the best of tools will probably have
problems making all error messages meaningful. Some errors will just be impossible for tools to
diagnose, due to the transformation.
Prepared By: K. Ravi Kumar (III-IT) 4
UNIT- II AN INTRODUCTION TO PHP

Problem #6: Need a Compiler

JSP requires a compiler be shipped with the webserver. That's problematic, especially since Sun
doesn't give away the tools.jar library containing their javac compiler. Web servers can package
an outside vendor's compiler such as IBM's jikes; however such compilers generally don't work
on all platforms and (being written in C++) aren't much help to a pure-Java web server. JSP has a
pre-compile option that can help some here, although that's a less than elegant solution.

Problem #7: Wasted Space

JSP consumes extra hard drive space and extra memory space. For every 30K JSP file on the
server there must be a corresponding larger-than-30K class file created. This essentially doubles
the hard drive requirements to store JSP pages. Considering how easily a JSP file can <%@
include> a large data file for display, this becomes a real concern. Also, each JSP's class file data
must be loaded into the server's memory, meaning the server may eventually store the entire JSP
document tree in memory. A few JVMs have the ability to remove class file data from memory;
however, the programmer generally has no control over the rules for reclaiming and for large
sites the reclaiming probably won't be aggressive enough. With template engines there's no need
to duplicate the page data into a second file, so hard drive space is spared. Template engines also
give the programmer full control over how templates are cached in memory.

Prepared By: K. Ravi Kumar (III-IT) 5


UNIT- II AN INTRODUCTION TO PHP

PHP DOWNLOADING, INSTALLING AND CONFIGURING:

Using the Windows Installer for PHP 5.2.x

PHP 5.2.0 saw the launch of a vastly improved installer for Windows. Unlike earlier
versions, the new installer automates the installation of a fully featured version of PHP on a wide
variety of web servers, including the Apache 1.3, 2.0, and 2.2 series, as well as IIS.

These instructions assume that you have already installed a web server on your local
computer. They have been tested on Apache 2.2 and IIS 5.1, but they should be easily adaptable
to other web servers. Before testing these instructions, I removed my existing PHP setup
completely, including all Windows environment variables, such as PHPRC and the reference to
the PHP folder in the Windows PATH. They are therefore suitable for a brand new installation of
PHP, but may not work if you have an existing installation that you want to upgrade.

The new Windows package will not work on Windows 98 unless you have obtained an
MSI installer from Microsoft.

In Windows Vista, you must disable User Access Control (UAC) temporarily while
installing both Apache and PHP—see instructions here.

1. Go to the PHP downloads page at http://www.php.net/downloads.php and select the PHP


5.2.x Installer from the Window Binaries section. Note that the download is nearly 19MB
(twice the size of the equivalent zip package). Download php-5.2.x-win32-
installer.msi from a mirror site and save the file to your hard disk.
2. Close all Windows programs and double-click the php-5.2.x-win32-installer.msi
file to launch the installation wizard. You should eventually be greeted by the following
screen. Click Next to start the installation.

3. The first dialog box displays the PHP Licence Agreement. You need to select the accept
checkbox before the Next button can be clicked.

Prepared By: K. Ravi Kumar (III-IT) 6


UNIT- II AN INTRODUCTION TO PHP

4. The wizard now gives you the option to choose where PHP should be installed. The
default is C:\Program Files\PHP\. Unless you have a strong reason for choosing
another location, accept the default and click Next.
5. You now get the chance to select the web server that you want to use in conjunction with
PHP. As you can see from the screenshot, there's a wide selection. I chose to install PHP
as an Apache 2.2.x Module.

If you are using IIS, select IIS CGI. (The screenshot above was taken from the PHP 5.2.0
installer. In PHP 5.2.1, the IIS options have been renamed.) Although running PHP as an
ISAPI module is preferable, the IIS ISAPI module option isn't currently enabled in the
installer. Make your selection and click Next.

6. If you chose IIS in the preceding step, skip to step 7.If you chose Apache, the wizard asks
you to specify where the configuration file is located. In the case of Apache 2.2.x, it's
C:\Program Files\Apache Software Foundation\Apache2.2\conf\, as shown in the
following screenshot.

Prepared By: K. Ravi Kumar (III-IT) 7


UNIT- II AN INTRODUCTION TO PHP

Browse to the appropriate folder, click OK to return to the installation wizard, and then
click Next.

7. The next dialog box lets you select which PHP extensions will be enabled. PHP offers a
huge range of non-core extensions, so it's best to choose only those that you know you'll
need. Click inside the dialog box to expand the Extensions tree menu. As an absolute
minimum, you should select GD2, Multi-Byte String, MySQL, and MySQLi. Click the
down arrow next to the extension name and select "Will be installed on local hard drive",
as shown in the screenshot. The red X is replaced by a hard drive icon, indicating that the
extension will be enabled.

If you are using The Essential Guide to Dreamweaver CS3 or Foundation PHP for
Dreamweaver 8, you should also select XSL. For PHP Solutions, expand PDO and select
MySQL (this is in addition to MySQL and MySQLi in the main extension list).

If you plan to do a lot of PHP development, you might also want to enable the
Extras, which install PEAR and the PHP documentation on your local hard disk. If in
doubt, don't bother. You need to have a solid understanding of PHP to use PEAR, and the
online documentation is frequently updated, so having a local version is only of value if
you need to work offline a lot. Click Next when you have made your choices.

8. The wizard is now ready to install PHP. If you selected Apache, it asks whether you want
it to configure Apache. Click Yes. After the installation, you should see two alert boxes
telling you that the Apache configuration and mime.types files were successfully
updated. Click OK and then click Finish to close the wizard. If you selected IIS, there are
no other dialog boxes. Just click Finish when the installation is complete.
9. For all the changes to take effect, you must now reboot your computer. Among other
things, this is necessary to add the PHP folder to your Windows PATH.

Prepared By: K. Ravi Kumar (III-IT) 8


UNIT- II AN INTRODUCTION TO PHP

10. If you run <?php phpinfo(); ?>, you should see that php.ini has been placed in
C:\Program Files\PHP\php.ini. (In PHP 5.2.3 and above, the location of php.ini is
displayed as Loaded Configuration File.)

Important differences in php.ini

The new Windows installer bases php.ini on php.ini-recommended, which imposes


stricter standards than php.ini-dist, the version normally recommended for a development
environment. This is generally to be welcomed, because it forces you to create scripts that are
more secure. However, you need to be aware of the following differences:

The wizard turns off the display of error messages and writes them instead to a log file.

For development purposes, I suggest that you change the settings in php.ini like this:
display_errors = On, log_errors = Off

Magic quotes are turned off. Although many scripts rely on the use of magic quotes (the
automatic insertion of backslashes in front of single and double quotes), I don't
recommend turning them back on, because this feature will be removed permanently
from PHP 6. All scripts created by Dreamweaver and in my books are designed to work
correctly regardless of the setting.
Short open tags are turned off. This means that you must use the full opening PHP tag
(<?php). Since this is the recommended practice, you should leave the setting unchanged.
Dreamweaver and the scripts in my books always use the full tag anyway.

Enabling sessions and uploads

The Windows installer designates C:\Documents and Settings\<username>\Local


Settings\Temp\php\upload as the value for upload_tmp_dir and C:\Documents and
Settings\<username>\Local Settings\Temp\php\session as session.save_path.
However, the installer doesn't create the necessary folders. Consequently, file uploads and
sessions won't work until the folders are created. (In Windows Vista, the folders are
C:\Users\<username>\AppData\Local\Temp\PHP\upload and
C:\Users\<username>\AppData\Local\Temp\PHP\sessions.)

Either open php.ini and rename the current folders to C:\WINDOWS\Temp, or create the
necessary folders in C:\Documents and Settings\<username>\Local Settings\Temp (or
the Vista equivalent). If you choose the option of renaming the folders, make sure you change
the right settings in php.ini. The installer leaves the original commands unchanged and inserts
new ones. The original commands have a semicolon at the beginning of the line, so are ignored.

Remember to restart your web server after making any changes to php.ini.

Prepared By: K. Ravi Kumar (III-IT) 9


UNIT- II AN INTRODUCTION TO PHP

AN INTRODUCTION TO PHP:
The Origins of PHP:
Wonderful things come from singular inspiration. PHP began life as a simple way to
track visitors to Rasmus Lerdorf's online resume. It also could embed SQL queries in Web
pages. But as often happens on the Web, admirers quickly asked for their own copies. As a
proponent of the Internet's ethic of sharing, as well as a generally agreeable person, Rasmus
unleashed upon an unsuspecting Web his Personal Home Page Tools version 1.0.

PHP became very popular. A consequence was a flood of suggestions. PHP 1.0 filtered
input, replacing simple commands for HTML. As its popularity grew, people wondered if it
couldn't do more. Loops, conditionals, rich data structures—all the conveniences of modern
structured programming seemed like a next logical step. Rasmus studied language parsers, read
about YACC and GNU Bison, and created PHP 2.0.

PHP 2.0 allowed developers to embed structured code inside HTML tags. PHP scripts
could parse data submitted by HTML forms, communicate with databases, and make complex
calculations on the fly. And it was very fast, because the freely available source code compiled
into the Apache Web server. A PHP script executed as part of the Web server process and
required no forking, often a criticism of Common Gateway Interface (CGI) scripts.

In 1996 Clear Ink created the SuperCuts site (www. supercuts.com) and used PHP to
created a custom experience for the Web surfer. In January of 1999 the PHP Web site reported
almost 100,000 Web servers were using PHP. By November that figure had climbed higher than
350,000!

A community of developers grew up around PHP. Feature requests were balanced by


bugf ixes and enhancements. Zeev Suraski and Andi Gutmans made a significant contribution by
writing a new parser. They observed that the parser in PHP 2.0 was the source of many
problems. Rasmus decided to begin work on PHP 3.0 and called for developers to commit to its
creation. Along with Zeev and Andi, three others lent their support: Stig Bakken, Shane Caraveo,
and Jim Winstead.

After seven months of developments, PHP version 3.0 was released on June 6, 1998.
Work began immediately on the next version. Originally a 3.1 version was planned, but thanks to
more revolutionary work by Zeev and Andi, work shifted to PHP 4.0, which used the new Zend
library.
On January 4, 1999, Zeev and Andi announced a new framework that promised to
increase dramatically the performance of PHP scripts. They named the new framework Zend,
cleverly combining letters from their names. Early tests showed script execution times dropping
by a factor of one hundred. In addition, new features for compiling scripts into binary,
optimization, and profiling were planned.Work on Zend and PHP 4.0 continued in parallel with
bug fixes and enhancement to PHP 3.0.
PHP runs on UNIX, Windows 98, Windows NT, and the Macintosh. PHP is designed to
integrate with the Apache Web Server. Apache, another free technology, is the most popular Web
server on the Internet and comes with source code for UNIX and Windows.
Prepared By: K. Ravi Kumar (III-IT) 10
UNIT- II AN INTRODUCTION TO PHP

Once it was there, anyone could make improvements, and many did. Their aim seems to
be to achieve solutions of direct, personal interest. If a client comes along that requires a project
use a database not supported by PHP, you simply write an extension. Then you give it to the PHP
project. Soon other people are fixing your bugs.

Yet, the vast majority of PHP users never write an extension. They happily find
everything they need in the contributed works of others. Those who've contributed thousands of
lines of code to PHP perhaps never consider themselves heroes.

What Makes PHP Better than Its Alternatives

The skeptics are asking themselves, "Why should I learn PHP?" The days of static Web
sites built with HTML files and a few CGI scripts are over: Today's sites must be dynamic.

The short answer is that PHP is better. It is faster to code and faster to execute. The same
PHP code runs unaltered on different Web servers and different operation systems. Additionally,
functionality that is standard with PHP is an add-on in other environments.

PHP is free. Anyone may visit the PHP Web site http: //www.php.net/ and download the
complete source code. Binaries are also available for Windows. The result is easy entry into the
experience. There is very little risk in trying PHP, and its license allows the code to be used to
develop works with no royalties. This is unlike products such as Allaire's Cold Fusion or
Everyware's Tango Enterprise that charge thousands of dollars for the software to interpret and
serve scripts. Even commercial giants like Netscape and IBM now recognize the advantages of
making source code available.

PHP runs on UNIX, Windows 98, Windows NT, and the Macintosh. PHP is designed to
integrate with the Apache Web Server. Apache, another free technology, is the most popular Web
server on the Internet and comes with source code for UNIX and Windows.PHP works with other
Web servers, including Microsoft's Internet Information Server. Scripts may be moved between
server platforms without alteration. PHP supports ISAPI to allow for the performance benefits of
tightly coupling with Microsoft Web servers.

PHP is modifiable. PHP has been designed to allow for future extension of functionality.
PHP is coded in C and provides a well-defined Application Programming Interface (API).
Capable programmers may add new functionality easily. The rich set of functions available in
PHP is evidence that they often do.

PHP was written for Web page creation. Perl, C, and Java are very good general
languages and are certainly capable of driving Web applications. The unfortunate sacrifice these
alternatives make is the ease of communication with the Web experience. PHP applications may
be rapidly and easily developed because the code is encapsulated in the Web pages themselves.

Support for PHP is free and readily available. Queries to the PHP mailing list are often
answered within hours. A custom bug-tracking system on the PHP site shows each
problem along with its resolution. Numerous sites, such as phpbuilder.com and zend.com,
offer original content to PHP developers.

Prepared By: K. Ravi Kumar (III-IT) 11


UNIT- II AN INTRODUCTION TO PHP

PHP is popular. Internet service providers find PHP to be an attractive way to allow their
customers to code Web applications without the risks exposed by CGIs. Developers worldwide
offer PHP programming.

Programming skills developed in other structured languages can be applied to PHP. PHP
takes inspiration from both Perl and C. Experienced Perl and C programmers learn PHP very
quickly. Likewise, programmers who learn PHP as a first language may apply their knowledge
toward not only Perl and C, but other C-like languages such as Java.

How PHP Works with the Web Server


The normal process a Web server goes through to deliver a page to a browser is as
follows. It all begins when a browser makes a request for a Web page. Based on the URL, the
browser resolves the address of the Web server, identifies the page it would like, and gives any
other information the Web server may need. Some of this information is about the browser itself,
like its name (Mozilla), its version (4.08), or the operating system (Linux). Other information
given the Web server could include text the user typed into form fields.

If the request is for an HTML file, the Web server will simply find the file, tell the
browser to expect some HTML text, and then send the contents of the file. The browser gets the
contents and begins rendering the page based on the HTML code. If you have been programming
HTML for any length of time, this will be clear to you.

Hopefully you have also had some experience with CGI scripts. When a Web server
getsa request for a CGI, it can't just send the contents of the file. It must execute the script first.
The script will generate some HTML code, which then gets sent to the browser. As far as the
browser is concerned, it's just getting HTML. The Web server does a bunch of work that it gets
very little recognition for, but Web servers rarely get the respect they deserve. The medium is
definitely not the message.

When a PHP page is requested, it is processed exactly like a CGI, at least to the extent
that the script is not simply sent to the browser. It is first passed through the PHP engine, which
gives the Web server HTML text.

What happens when the user clicks the stop button before the page finishes downloading?
The Web server detects this situation and usually terminates the PHP script. It is possible to force
a script to finish despite an aborted connection. You may also allow the script to terminate but
execute special code first.

Editing Scripts

PHP scripts are just text files, and you can edit and create them just as you would HTML
files. you can create files with notepad and useto upload them one by one. But these aren't ftp
ideal experiences. One handy feature of newer editors is built-in FTP. These editors can open
files on a remote Web server as if they were on a local drive. A single click saves them back to
the remote Web server. Another feature you may enjoy is syntax highlighting. This causes PHP
keywords to be colored in order to help you read the code faster.
Everyone has a favorite editor for PHP scripts. The two most popular editors are:
UltraEdit (http://www.ultraedit.com/). And Windows users prefer Macromedia's Dreamweaver
Prepared By: K. Ravi Kumar (III-IT) 12
UNIT- II AN INTRODUCTION TO PHP

(http://www.macromedia.com/software/dreamweaver/) and Allaire's HomeSite to edit PHP


scripts.

What a PHP Script Looks Like

PHP exists as a tag inside an HTML file. Like all HTML tags, it begins with a less-than
symbol, or opening angle bracket (<) and ends with a greater than symbol, or closingangle
bracket (>). To distinguish it from other tags, the PHP tag has a question mark (?) following the
opening angle bracket and preceding the closing angle bracket. All text outside the PHP tag is
simply passed through to the browser. Text inside the tag is expected to be PHP code and is
parsed.

To accommodate XML and some picky editors such as Microsoft's Front Page, PHP
offers three other ways to mark code. Putting php after the opening question mark makes PHP
code friendly to XML parsers. Alternatively, you may use a script tag as if you were writing
JavaScript. Lastly, you can use tags that appear like ASP, using
to start blocks<% of code.

Listing 1.1 shows an ordinary HTML page with one remarkable difference: the PHP code
between the <? and the ?>. When this page is passed through the PHP module, it will replace the
PHP code with today's date. It might read something like, Thursday January 1, 2012.
Listing 1.1 Printing Today's Date

Whitespace, that is spaces, tabs, and carriage returns, is ignored by PHP. Used judiciously, it can
enhance the readability of your code. Listing 1.2 is functionally the same as the previous
example, though you may notice more easily that it contains PHP code.

Listing 1.2 Reformatting for Readability


<HTML>
<HEAD>
<TITLE>Listing 1-2</TITLE>

Prepared By: K. Ravi Kumar (III-IT) 13


UNIT- II AN INTRODUCTION TO PHP

</HEAD>
<BODY>
Today's Date:
<?
/*
** print today's date
*/
print(Date("l F d, Y"));
?>
</BODY>
</HTML>

You may also notice that in Listing 1.2 there is a line of code that begins with a slash
followed by an asterisk. This is a comment. Everything between the /* and the */ is equivalent to
whitespace. It is ignored. Comments can be used to document how your code works. Even if you
maintain your own code you will find comments necessary for all but simple scripts.

In addition to the opening and closing comment statements, PHP provides two ways to
build a single-line comment. Double-slashes or a pound sign will cause everything after them to
the end of the line to be ignored by the parser.

After skipping over the whitespace and the comment in Listing 1.2, the PHP parser
encounters the first word: print. This is one of PHP's functions. A function collects code into a
unit you may invoke with its name. The print function sends text to the browser. The contents of
the parentheses will be evaluated, and if it produces output, print will pass it along to the
browser.

Where does the line end? Unlike BASIC and JavaScript, which use a line break to denote
the end of a line, PHP uses a semicolon. On this issue PHP takes inspiration from C.

The contents of the line between print and ; is a call to a function named date. The text
between the opening and closing parentheses is the parameter passed to date. The parameter date
tells in what form you want the date to appear. In this case we've used the codes for the weekday
name, the full month name, the day of the month, and the four-digit year. The current date is
formatted and passed back to the print function.

The string of characters beginning and ending with double quotes is called a string
constant or string literal. PHP knows that when quotes surround characters you intend them to be
treated as text. Without the quotes, PHP will assume you are naming a function or some other
part of the language itself. In other words, the first quote is telling PHP to keep hands off until it
finds another quote.

Notice that print is typed completely in lowercase letters, yet date has a leading uppercase
letter. I did this to illustrate that PHP takes a very lenient attitude toward the names of its built-in
functions. Print, PRINT, and PrInT are all valid calls to the same function. However, for the sake
of readability, it is customary to write PHP's built-in functions using lowercase letters only.

Prepared By: K. Ravi Kumar (III-IT) 14


UNIT- II AN INTRODUCTION TO PHP

Saving Data for Later:


Often it is necessary to save information for later use. PHP, like most programming
languages, offers the concept of variables. Variables give a name to the information you want to
save and manipulate. Listing 1.3 expands on our example by using variables.

Listing 1.3 Assigning Values to Variables


The first block of PHP code puts values into some variables. The four variables are
YourName, Today, CostOfLunch, and DaysBuyingLunch. PHP knows they are variables
because they are preceded by a dollar sign ($). The first time you use a variable in a PHP script,
some memory is set aside to store the information you wish to save. You don't need to tell PHP
what kind of information you expect to be saved in the variable; PHP can figure this out on its
own.
The script first puts a character string into the variable YourName. As I noted earlier,
PHP knows it's textual data because I put quotes around it. Likewise I put today's date into a
variable named Today. In this case PHP knows to put text into the variable because the date
function returns text. This type of data is referred to as a string, which is shorthand for character
string. A character is a single letter, number, or any other mark you make by typing a single key
on your keyboard.

Prepared By: K. Ravi Kumar (III-IT) 15


UNIT- II AN INTRODUCTION TO PHP

Notice that there is an equal sign (=) separating the variable and the value you put into it.
This is the assignment operator. Everything to its right is put into a variable named to its left.
The third and fourth assignments are putting numerical data into variables. The value 3.5
is a floating-point, or fractional, number. PHP calls this type a double, showing some of its C
heritage. The value 4 in the next assignment is an integer, or whole number.
After printing some HTML code, another PHP code block is opened. First the script
prints today's date as a level-three header. Notice that the script passes some new types of
information to the print function. You can give string literals or string variables to print and they
will be sent to the browser.
When it comes to variables, PHP is not so lenient with case. Today and today are two
different variables. Since PHP doesn't require you to declare variables before you use them, you
can accidentally type today when you mean Today and no error will be generated. If variables
are unexpectedly empty, check your case.
The script next prints Leon, you will be out 14.00 dollars this week. The line that prints
the total has to calculate it with multiplication using the * operator.

Receiving User Input:


Manipulating variables that you set within your script is somewhat interesting, but hardly
anything to rave about. Scripts become much more useful when they use input from the user.
When you call PHP from an HTML form, the form fields are turned into variables. Listing 1.4 is
a form that calls Listing 1.5, a further modification of our example script.
Listing 1.4 HTML Form for Lunch Information

Prepared By: K. Ravi Kumar (III-IT) 16


UNIT- II AN INTRODUCTION TO PHP

Listing 1.4 is a standard HTML form. If you have dealt at all with CGIs, it will look
familiar. There are three form fields that match up with the variables from our previous
example. Instead of simply putting data into the variables, we will provide a form and use
the information the user types. When the user presses the submit button, the script named
in the ACTION attribute will receive the three form fields and PHP will convert them into
variables.

Listing 1.5 Computing the Cost of Lunch from a Form

Notice that in the first segment of the PHP script, I have eliminated the lines setting the
variables, except for today's date. The rest of the script is unchanged. The script assumes there
will be data in the variables. Try experimenting with the scripts by entering nonsense in the form
fields.

Prepared By: K. Ravi Kumar (III-IT) 17

You might also like