PHP Basics CSET3300. Architecture of Web Applications 2 Browser Web Browser Web Server (Apache, IIS)...

27
PHP Basics CSET3300

Transcript of PHP Basics CSET3300. Architecture of Web Applications 2 Browser Web Browser Web Server (Apache, IIS)...

PHP Basics

CSET3300

Architecture of Web Applications

2

BrowserBrowser

BrowserBrowser

BrowserBrowser Web Browser

Web Server

(Apache, IIS)

Middleware

(PHP, Asp, ColdFusion)

MySQL, MS-SQL, Oracle, etc.

Relational Database

PHP• What is PHP?

– PHP (Hypertext Preprocessor),– Server-side script language for web development– Support operating systems (Linux, many Unix variants (including HP-UX, Solaris

and OpenBSD), Microsoft Windows, Mac OS X, RISC OS)• History:

– developed in 1995 by Rasmus Lerdorf (member of the Apache Group)– originally designed as a tool for tracking visitors at Lerdorf's Web site– within 2 years, widely used in conjunction with the Apache server– developed into full-featured, scripting language for server-side

programming– free, open-source

3

PHP Scripts• PHP is server-side

– PHP code is embedded in HTML using tags– When a page request arrives, the server recognizes PHP content via the

file extension (.php , .php3, or .phtml)– The server executes the PHP code, substitutes output into the HTML– The resulting page is then downloaded to the client– User never sees the PHP code, only the output in the page

• When it comes to develop your own PHP projects, remember that you can only use PHP to send information (HTML and such) to the Web browser.

• You can’t do anything else within the Web browser until another request from the server has been made (a form has been submitted or a link has been clicked).

• PHP is cross-platform, meaning that it can be used on machines running Unix, Windows, Macintosh, and other operating systems.

4

Why PHP?• PHP’s advantage over basic HTML is that the latter is a limited system

allowing for no flexibility or responsiveness. – Visitors accessing HTML pages see simple pages with no level of

customization or dynamic behavior. • With PHP, you can create exciting and original pages based on whatever

factors you want to consider (for example, the time of day or the user’s operating system).

• PHP can also interact with databases and files, handle email, and do many other things that HTML can’t.

5

A sample PHP code:<html> <head> <title>PHP Test Page</title> </head> <body>

<?php echo “Hello, World !!!”; ?>

</body> </html>

Note these important characteristics: PHP code and HTML tags are both present Files containing PHP code must use the php extension The code above should named as <filename>.php and placed in a

web-accessible directory on the class server.

6

Writing PHP Scripts

Testing PHP ScriptsTesting PHP Scripts Create “public_html” directory on et791

Place your .php file in the directory

In a web browser type http://et791.ni.utoledo.edu/~<utadID>/<filename.php>

7

PHP code must be placed within HTML code if the output is to be displayed by your browser

Note these important characteristics: PHP code is enclosed between beginning and ending tags PHP statements end with a semicolon character (;) PHP statements can be broken across multiple lines, as long as

tokens are not broken Whitespace is ignored

Use the "view source" function of your browser to see what has been generated by the code.

PHP BasicsPHP Basics

8

We could also use the print() statement (actually, it is a PHP language construct) to display output.

You may use either print() or echo() as they are functionally equivalent.

Note that you can use print() and echo() with or without the parentheses. Most programmers will omit the parentheses. You can also safely omit the quotation marks when only printing variable values. For example, the following are all equivalent:

print ("$name"); print "$name"; print $name;

PHP Basics: Displaying OutputPHP Basics: Displaying Output

9

PHP Basics: VariablesPHP Basics: Variables

Variable identifiers are marked with a preceding dollar sign ($). You could display "Hello, World!" using PHP

variables as follows:

<?php $message = "Hello, World Again!"; echo $message; ?>

10

PHP Variable IdentifiersPHP Variable Identifiers The following guidelines apply to your selection of variable identifiers:

All PHP variable identifiers (names) must begin with the dollar sign ($), following the dollar sign, the variable name must begin with a letter of the

alphabet (A-Z, a-z) ) or an underscore character ( _ ) Variable names cannot begin with a number, but after the dollar sign and

initial character (letter or underscore) may contain any combination of letters, underscores and numbers

Variable names are case sensitive, so $name is NOT the same as $Name Avoid variables with similar names Keep variable names reasonably short and meaningful Spaces may NOT be used in variable names

Valid PHP variable names include the following examples: $LastName $last_name $session_22 $COST $FN $page_title_num_1

11

PHP Variable DeclarationPHP Variable Declaration PHP does not require explicit variable declaration wherein you specify

the data type for the variable.

You simply use the variable as needed. All the variable data types look identical but may be handled differently.

The following code shows how to assign string, integer, and floating-point (double) values to variables:

$a = "this is a string"; $b = 4; $c = 4.837; $d = "2" ;

Basically, PHP determines the variable data type based on the value you assign.

12

<?php $greeting = "Hello "; $num = 3 + 2; $num++; echo "$greeting $num people!"; ?> Output :

Hello 6 people!

PHP Basics: Arithmetic OperatorsPHP Basics: Arithmetic Operators

PHP arithmetic operators are what you would expect. Some of the basic ones are illustrated below:

13

<?php $name = 'Susannah'; $greeting_1 = "Hello, $name!"; $greeting_2 = 'Hello, $name!'; echo "$greeting_1\n"; echo "$greeting_2\n"; ?>

Output:

Hello, Susannah! Hello, $name!

Just as in Perl, a string surrounded with double quotes causes variables inside it to be interpolated, but a string surrounded with single quotes does not.

PHP Basics: StringsPHP Basics: Strings

14

Note that the \n in the string inserts a new line into the output stream, just as in Perl or in C. However, this only works in double-quoted strings. Other special "escaped characters" include the tab \t and carriage

return \r, dollar \$.

Here is another interesting use of the backslash character.

How would you include a backslash character in the displayed output?

<?php $name = 'Susannah'; $greeting = "Hello, \"$name\"!"; echo "$greeting\n"; ?>

PHP Basics: “\” CharacterPHP Basics: “\” Character

15

PHP Basics: CommentsPHP Basics: Comments PHP supports C, C++ and Unix shell style comments.

For example, the following code segment illustrates all of the possibile comment delimiters:

Use the "view source" function of your browser to see what has been generated by this "commented" code.

<?php echo 'This is a test'; // This is a one-line C++ style comment

/* This is a multi line C style comment that continues on more than one line */

echo 'This is another test'; echo 'Still another test'; # This is a one-line shell style comment ?>

16

<?php /* echo 'This is a test'; /* This comment will cause a problem */ */ ?>

PHP Basics: More on CommentsPHP Basics: More on Comments Note these important characteristics:

C++ style and Shell style comments can be on the same line as a PHP statement or on a line by themselves

C style comments can be a single line or multiple line in "real" code, consistancy is better than trying to use every comment

style available Nesting C style comments can cause problems because the C style

comments end with the first encountered */ delimiter. You should be careful not to nest C style comments, a common temptation when commenting large blocks. For example:

17

PHP ArraysPHP Arrays An array is a special data type that can store multiple values using the

same variable identifier. The commonly used term for each value in an array is an element. Each individual array element can be accessed by the array index, which can

be a number or a string.

If the array index is a string, the array is known as an associative array.

You set off array indices (regular or associative) with square brackets ([ and ]):$fruit[0] = 'banana'; $fruit[1] = 'papaya'; $favorites['animal'] = 'turtle'; $favorites['monster'] = 'cookie';

By default, index values start at zero, and arrays are assumed to be zero-based.

In other words, if an array has five elements, the first element will be referenced as $my_array[0] and the last value will be referenced as $my_array[4].

18

PHP Arrays (ctd)PHP Arrays (ctd) If you assign something to an array but leave the index blank, PHP

assigns the object onto the end of the array.

The statements about $fruit, above, produce the same result as:

$fruit[] = 'banana'; $fruit[] = 'papaya';

You can have multidimensional arrays, too:

$people['David']['shirt'] = 'blue'; $people['David']['car'] = 'minivan'; $people['Adam']['shirt'] = 'white'; $people['Adam']['car'] = 'sedan';

19

PHP Arrays (ctd)PHP Arrays (ctd)

A shortcut for creating arrays is the array() function:$fruit = array('banana','papaya'); $favorites = array('animal' => 'turtle', 'monster' => 'cookie);

$people = array ('David' => array('shirt' => 'blue', 'car' => 'minivan'), 'Adam' => array('shirt' => 'white', 'car' => 'sedan'));

The built-in function count() tells you how many elements are in an array: $fruit = array('banana','papaya'); echo count($fruit);

Output: 2

20

PHP Built-in FunctionsPHP Built-in Functions phpinfo(): A function that displays important

information about our installation of PHP. <?php

phpinfo(); ?>

Use the "view source" function of your browser to see what has been generated by this code.

With respect to its statements and functions, PHP is not case sensitive. The examples below illustrate this fact, showing equivalent forms for phpinfo():

phpInfo(); PHPinfo(); pHpInFo();

21

PHP Date & Time FunctionsPHP Date & Time Functions

The basic PHP date and time functions let you format timestamps for use in database queries or simply for displaying the date and time in the browser window.

PHP includes the following date and time functions: date(format) - Returns the current server time,

formatted according to a given set of parameters. The next slide contains valid date() formats:

time() - Returns the current server time, measured in seconds since January 1, 1970.

22

<?php echo date("Y/m/d"); echo "<br />"; echo date("Y.m.d"); echo "<br />"; echo date("Y-m-d");?>

Output:2006/07/11 2006.07.11 2006-07-11

a Prints "am" or "pm"

A Prints "AM" or "PM".

h Hour in 12-hour format (01 to 12)

H Hour in 24-hour format (00 to 23)

g Hour in 12-hour format without a leading zero (1 to 12)

G Hour in 24-hour format without a leading zero (0 to 23)

i Minutes (00 to 59)

s Seconds (00 to 59)

d Day of the month in two digits (01 to 31)

D Day of the week in text (Mon to Sun)

l Day of the week in long text (Monday to Sunday)

F Month in long text (January to December)

m Month in two digits (1 to 12)

Y Year in four digits (2005)

y Year in two digits (05)

S English ordinal suffix (th, nd, st)

PHP Date Function: Example-1PHP Date Function: Example-1

23

The following page uses the PHP date function to determine and display the current server time and date:

<?php echo "<span style='font:10pt arial'>Today is”.

date('lFjY').”</span>";

echo "<br/>";

echo "<span style='font:10pt arial'>The current time is:”. date('g:i:s a').”</span>";

?>

Output:Today is Wednesday, September 5, 2007The current time is: 10:20:13 am

PHP Date Function: Example-2PHP Date Function: Example-2

24

String concatenation is done with the dot (.) character.

<?php $todaysdate = date("m") . "-" . date("d") . "-" .date("Y");echo $todaysdate; ?>

PHP Date Function: Example-3PHP Date Function: Example-3

Output:02-4-2010

25

PHP Mail FunctionPHP Mail Function

26

The PHP mail() function is used to send emails from inside a script.

Syntax: mail(to,subject,message,headers,parameters)

Parameter Description

To Required. Specifies the receiver / receivers of the email

Subject Required. Specifies the subject of the email. Note: This parameter cannot contain any newline characters

Message Required. Defines the message to be sent. Each line should be separated with a LF (\n). Lines should not exceed 70 characters

Headers Optional. Specifies additional headers, like From, Cc, and Bcc. The additional headers should be separated with a CRLF (\r\n)

Parameters Optional. Specifies an additional parameter to the sendmail program

PHP Mail Function: ExamplePHP Mail Function: Example

27

The simplest way to send an email with PHP is to send a text email.

In the example below we first declare the variables ($to, $subject, $message, $from, $headers), then we use the variables in the mail() function to send an e-mail:

<?php

$to = "[email protected]";$subject = "Test mail"; $message = "Hello! This is a simple email message."; $from = "[email protected]"; $headers = "From: $from";

mail($to,$subject,$message,$headers);

echo "Mail Sent!";?>