Top Banner
1 Introduction to PHP Part #2
62

1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

Jan 04, 2016

Download

Documents

Sylvia Norton
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

1

Introduction to PHPPart #2

Page 2: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

2

Simple PHP Script

• Consider the following HTML file, example.html:

<html><head><title>My Page</title></head><body>Hello world!<p></body></html>

Page 3: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

3

Simple PHP Script• Here is an equivalent PHP script. PHP files have the extension “.php” and may

contain both HTML and PHP code, which is enclosed inside <? code ?> tags, or alternately <?php code ?>

<html><head><title>My Page</title></head><body><? print(“hello world!<p>”); ?></body></html>

Page 4: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

4

Simple PHP Script

• More interesting version, displays the date as known by the server:

<html><head><title>My Page</title></head><body><? print(“hello world! Timestamp: “ . time() . “<p>”); ?></body></html>

Page 5: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

5

PHP Time Stamp

• The “.” is used to concatenate strings

• The server parses the document and interprets code within the <? ?> tags instead of sending it directly to the client– i.e. you can write code to output the HTML you

desire

• Output of previous:

hello world! Timestamp: 1050289182

hello world! Timestamp: 1050289184Refresh twoSeconds later:

Page 6: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

6

PHP Script• Often everything is placed inside the PHP tags.

The following is equivalent; the header function specifies the MIME Type; i.e. that the document is HTML (as opposed to graphics, etc.):

<? header("Content-Type: text/html"); print("<HTML><HEAD><TITLE>My Page</TITLE>"); print("</HEAD>"); print("<BODY>"); print("hello world! Timestamp: " . time() . "<p>"); print("</BODY></HTML>");?>

Page 7: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

7

Identifiers and Data Types

• Identifiers– Case-sensitive– Same rules as Java

• Data Types– integer– double– string, surrounded by “ “ or by ‘ ‘

– Weak typing; you do not declare variables, just use them and the value assigned is the type of the variable; any old value is gone

– Can typecast just like Java• (int), (double), (string), etc.

Page 8: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

8

Variables

• A variable is an identifier prefaced by $• Example:

$x = 1; $y = 3.4; $z = $x + $y; $a = true; $s = "hello!"; print ($z . " " . $a . " " . $s);

Output: 4.4 1 hello! Note: true = non zero or not empty. False = 0 or the empty string “”

Common novice mistake: Forgetting the $

Page 9: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

9

Variables

• Interpreted; consider the following: $x = 1; $y = “x”; print($y);

Output: 1

• Often {} are used to denote variable boundaries:$x = 1;$y = “x”;print({$y});

Page 10: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

10

Form Variables

• If an HTML form invokes a PHP script, the PHP script can access all of the form variables by name

• Invoking FORM:<form method=post action=“scr.php”><input type=text name=“foo” value=“bar”>

<input type=submit value=“Submit”></form>

• Inside scr.php:print($_REQUEST['foo']); // Outputs “bar”

Page 11: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

11

Sample PHP Form<? header("Content-Type: text/html"); print("<HTML><HEAD><TITLE>My Page</TITLE>"); print("</HEAD>"); print("<BODY>"); print("foo = " . $_REQUEST[‘foo’] . ", bar = " . $_REQUEST[‘bar’] . "<P>"); print("<form method=post action=\"example.php\">"); print("<input type=text name=\"foo\" value=\"zot\">"); print("<input type=hidden name=\"bar\" value=3>"); print("<input type=submit>"); print("</form>"); print("</BODY></HTML>");?>

Note: \” escape characterCould also use ‘ instead

Page 12: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

12

Sample PHP Form

• First load:

• Upon submit:

Page 13: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

13

Web browser

• What the web browser receives after the first load. Note that we see no PHP code:

<HTML><HEAD><TITLE>My Page</TITLE></HEAD><BODY>foo = , bar = <P><form method=post action="example.php"><input type=text name="foo" value="zot"><input type=hidden name="bar" value=3><input type=submit></form></BODY></HTML>

Page 14: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

14

GET and POST• One way to hide the printing of variables when the

code is first loaded is to detect if the program is invoked via GET or POST

<? header("Content-Type: text/html"); print("<HTML><HEAD><TITLE>My Page</TITLE>"); print("</HEAD>"); print("<BODY>"); if ($_SERVER['REQUEST_METHOD'] == ‘POST') { print("foo = " . $_REQUEST[‘foo’] . ", bar = " . $_REQUEST[‘bar’] . "<P>"); } print("<form method=post action=\"example.php\">"); print("<input type=text name=\"foo\" value=\"zot\">"); print("<input type=hidden name=\"bar\" value=3>"); print("<input type=submit>"); print("</form>"); print("</BODY></HTML>");?>

Page 15: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

15

Operators

• Same operators available as in Java:+, -, *, /, %, ++, -- (both pre/post)

+=, -=, *=, etc.

<, >, <=, >=, ==, !=, &&, ||, XOR, !

Page 16: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

16

Assignments

• PHP will convert types for you to make assignments work

• Examples:print(1 + "2"); // 3

print("3x" + 10.5); // 13.5

$s = "hello" . 55;

print("$s<p>"); // hello55

Page 17: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

17

Arrays

• Arrays in PHP are more like hash tables, i.e. associative arrays– The key doesn’t have to be an integer

• 1D arrays– Use [] to access each element, starting at 0– Ex:

$arr[0] = “hello”;$arr[1] = “there”;$arr[2] = “zot”;$i=0;print(“$arr[$i] whats up!<p>”); // Outputs : hello whats up!

Page 18: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

18

Arrays

• Often we just want to add data to the end of the array, we can do so by entering nothing in the brackets:

$arr[] = “hello”;

$arr[] = “there”;

$arr[] = “zot”;

print(“$arr[2]!<p>”); // Outputs : zot!

Page 19: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

19

Array Functions

• There are many array functions; here are just a few:

count($arr); // Returns # items in the arraysort($arr); // Sorts arrayarray_unique($arr); // Returns $arr without duplicates

print_r($var); // Prints contents of a variable // useful for outputting an entire

array // as HTML

in_array($val, $arr) // Returns true if $val in $arr

Page 20: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

20

Multi-Dimensional Arrays

• To make multi-dimensional arrays just add more brackets:

$arr[0][0]=1;

$arr[0][1]=2;

$arr[1][0]=3;

..etc.

Page 21: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

21

Arrays with Strings as Key

• So far we’ve only seen arrays used with integers as the index• PHP also allows us to use strings as the index, making the

array more like a hash table• Example:

$fat[“big mac”] = 34;$fat[“quarter pounder”]=48;$fat[“filet o fish”]=26;$fat[“large fries”]=26;print(“Large fries have “ . $fat[“large fries”] . “ grams of fat.”);

// Output : Large fries have 26 grams of fat

Source: www.mcdonalds.com

Page 22: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

22

Iterating through Arrays with foreach

• PHP provides an easy way to iterate over an array with the foreach clause:

• Format: foreach ($arr as $key=>$value) { … }

• Previous example:

foreach($fat as $key=>$value)

{

print(“$key has $value grams of fat.<p>”);

}

Output:

big mac has 34 grams of fat. quarter pounder has 48 grams of fat. filet o fish has 26 grams of fat. large fries has 26 grams of fat.

Page 23: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

23

Foreach

• Can use foreach on integers too:

$arr[]="foo"; $arr[]="bar"; $arr[]="zot"; foreach ($arr as $key=>$value) { print("at $key the value is $value<br>"); }

Output: at 0 the value is fooat 1 the value is barat 2 the value is zot

If only want the value,can ignore the $key variable

Page 24: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

24

Control Statements

• In addition to foreach, we have available our typical control statements

– If– While– Break/continue – Do-while– For loop

Page 25: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

25

IF statement

• Format:

if (expression1){

// Executed if expression1 true}elseif (expression2){

// Executed if expression1 false expresson2 true}…else{

// Executed if above expressions false}

Page 26: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

26

While Loop

• Format:

while (expression)

{

// executed as long as expression true

}

Page 27: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

27

Do-While

• Format:

do

{

// executed as long as expression true

// always executed at least once

}

while (expression);

Page 28: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

28

For Loop

• Format:

for (initialization; expression; increment)

{

// Executed as long as expression true

}

Page 29: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

29

Control Example

srand(time()); // Seed random # generator with time

for ($i=0; $i<100; $i++) { $arr[]=rand(0,10); // Random number 0-10, inclusive } $i=0; while ($i<=10) { // Initialize array of counters to 0 $count[$i++]=0; } // Count the number of times we see each value foreach ($arr as $key=>$value) { $count[$value]++; } // Output results foreach ($count as $key=>$value) { print("$key appeared $value times.<br>"); }

Counts # of random numbers generated between 0-10

Page 30: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

30

Output

0 appeared 9 times.1 appeared 9 times.2 appeared 11 times.3 appeared 14 times.4 appeared 6 times.5 appeared 7 times.6 appeared 8 times.7 appeared 11 times.8 appeared 5 times.9 appeared 9 times.10 appeared 11 times.

Page 31: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

31

Functions

• To declare a function:

function function_name(arg1, arg2, …) {

// Code// Optional: return (value);

}

Unlike most languages, no need for a return type since PHP is weakly typed

Page 32: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

32

Function Example: Factorial

function fact($n)

{

if ($n <= 1) return 1;

return ($n * fact($n-1));

}

print(fact(5)); // Outputs 120

Page 33: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

33

Scoping

• Variables defined in a function are local to that function only and by default variables are pass by value

function foo($x,$y){ $z=1; $x=$y + $z; print($x); // Outputs 21}

$x=10;$y=20;foo($x,$y);print(“$x $y<p>”); // Outputs 10 20

Page 34: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

34

Arrays: Also Pass By Valuefunction foo($x){ $x[0]=10;

print_r($x); Array ( [0] => 10 [1] => 2 [2] => 3 ) print("<p>");}

$x[0]=1; $x[1]=2; $x[2]=3;

print_r($x); Array ( [0] => 1 [1] => 2 [2] => 3 ) print("<p>"); foo($x);

print_r($x); Array ( [0] => 1 [1] => 2 [2] => 3 ) print("<p>"); Not changed!

Page 35: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

35

Pass by Reference

• To pass a parameter by reference, use & in the parameter list

function foo(&$x,$y){ $z=1; $x=$y + $z; print($x); // Outputs 21}

$x=10;$y=20;foo($x,$y);print(“$x $y<p>”); // Outputs 21 20

Page 36: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

36

Dynamic Functions

• Functions can be invoked dynamically too

• Useful for passing a function as an argument to be invoked later

function foo() { print("Hi<p>"); }

$x="foo"; $x(); // Outputs “Hi”

Page 37: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

37

Classes & Objects

• PHP supports classes and inheritance• All instance variables are public in PHP 4 (PHP 5 allows private,

protected)• Format for defining a class; the extends portion is optional

class name extends base-class{

var varName;…function name() {… constructor code …}function methodName() { … code … }

…}

• To access a variable or function, use $obj->var (no $ in front of the var)• To access instance variables inside the class, use $this->var

needed to differentiate between member var and a new local var

Page 38: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

38

Class Example class user { var $name; var $password; function user($n, $p) { $this->name=$n; $this->password=$p; } function getSalary() { // if this was real, we might // look this up in a database or something return 50000; } }

$joe = new user("Joe Schmo","secret"); print($joe->name . " - " . $joe->password . "<p>"); print($joe->getSalary() . "<p>");

Output:

Joe Schmo - secret

50000

Page 39: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

39

Objects in PHP 4

• Assigning an object makes a new copy, not a reference like Java:

$joe = new user("Joe Schmo","secret"); $fred = $joe; $joe->password = "a4j1%"; print_r($joe); // user Object ( [name] => Joe Schmo [password] => a4j1% ) print("<p>"); print_r($fred); // user Object ( [name] => Joe Schmo [password] => secret ) print("<p>");

Page 40: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

40

Objects in PHP 5

• Assigning an object makes a reference to the existing object, like Java:

$joe = new user("Joe Schmo","secret"); $fred = $joe; $joe->password = "a4j1%"; print_r($joe); // user Object ( [name] => Joe Schmo [password] => a4j1% ) print("<p>"); print_r($fred); // user Object ( [name] => Joe Schmo [password] => a4j1% ) print("<p>");

Page 41: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

41

Other new items in PHP 5

• Mostly improvements in OOP model– Abstract classes and methods– Destructors– Cloning– instanceof– Reflection

Page 42: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

42

Using PHP

• Here we will focus on additional functions that will be helpful for you to complete the homework assignment

– Type Checking• is_array, is_string, is_long, is_double

– Useful string functions• strlen, implode, explode, substr, strstr, trim, char access

– File I/O• fopen, fread, feof, fclose, fwrite

– Some examples

Page 43: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

43

Type Checking

• PHP includes several functions to determine the type of a variable since it may not be obvious what the type is due to conversions

is_int($x) // returns true if $x is an integer

is_double($x) // returns true if $x is a double

is_array($x) // returns true if $x is an array

is_string($x) // returns true if $x is a string

is_null($x) // returns true if $x is a null

Page 44: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

44

String Functions

• We can access a string as an array to retrieve individual characters:

$s=“hithere”;$z = $s[0] . $s[2] . $s[4];print($z); // hte

• We can also assign characters to the string:$s[2] = “F”;print($s); // hiFhere

Page 45: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

45

Strings

• String length: strlen($s) returns the length of the string

$s="eat big macs"; for ($i=0; $i<(strlen($s)-1)/2; $i++) { $temp = $s[$i]; $s[$i] = $s[strlen($s)-$i-1]; $s[strlen($s)-$i-1] = $temp; }

print($s); // Output : scam gib tae

Page 46: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

46

Strings

• Substring: Searches a string for a substringPrototype:

string strstr (string haystack, string needle)• Returns all of haystack from the first occurrence of needle to

the end. • If needle is not found, returns FALSE.

$email = ‘[email protected]'; $domain = strstr ($email, '@');

print ($domain); // prints @acm.org

Page 47: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

47

Strings

• strtolower($s) : returns $s in lowercase$s=“AbC”;$s = strtolower($s); // $s = “abc”

• strtoupper($s) : returns $s in uppercase$s = “AbC”;$s = strtoupper($s); // $s = “ABC”

• trim($s) : returns $s with leading, trailing whitespace removed

$s = “ \n ABC \r\n”; $s = trim($s); // $s = “ABC”

Trim is useful to remove CR’s and Newlines when reading lines of data from text files or as input from a form (e.g. textbox, textarea)

Page 48: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

48

Strings

• Substring: Format:string substr (string string, int start [, int length])– Substr returns the portion of string specified by the start and length parameters.

– If start is positive, the returned string will start at the start'th position in string, counting from zero. For instance, in the string 'abcdef', the character at position 0 is 'a', the character at position 2 is 'c', and so forth.

• Examples:$rest = substr ("abcdef", 1); // returns "bcdef" $rest = substr ("abcdef", 1, 3); // returns "bcd"

Page 49: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

49

Implode

• Implode is used to concatenate elements of an array into a single string

string implode (string glue, array pieces)• Returns a string containing a string representation of all the

array elements in the same order, with the glue string between each element.

• Examples$arr[]="A"; $arr[]="B"; $arr[]="C";$s = implode(",",$arr); // $s = “A,B,C”$s = implode("",$arr); // $s = “ABC”

Page 50: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

50

Explode

• Explode is used to create an array out of a string with some delimiter

array explode (string separator, string string)• Returns an array of strings, each of which is a substring of string

formed by splitting it on boundaries formed by the string separator.

• Example$s="eat:large:fries";$arr = explode(":",$s);print_r($arr);print("<p>");

Output: Array ( [0] => eat [1] => large [2] => fries )

Page 51: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

51

File I/O• Opening a file: fopen• Format:

int fopen (string filename, string mode)– Filename is the complete path to the file to open; must have proper

permissions– Mode is one of the following

• 'r' - Open for reading only; place the file pointer at the beginning of the file. • 'r+' - Open for reading and writing; place the file pointer at the beginning of the

file. • 'w' - Open for writing only; place the file pointer at the beginning of the file and

truncate the file to zero length. If the file does not exist, attempt to create it. • 'w+' - Open for reading and writing; place the file pointer at the beginning of

the file and truncate the file to zero length. If the file does not exist, attempt to create it.

• 'a' - Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.

• 'a+' - Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.

– Returns: a file pointer used to reference the open file

Page 52: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

52

File I/O

• Reading from a text file:string fgets (int filepointer, int length)

– Returns a string of up to length - 1 bytes read from the file pointed to by fp.

– Reading ends when length - 1 bytes have been read, on a newline (which is included in the return value), or on EOF (whichever comes first).

– We can use this function on files we have opened for reading

Page 53: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

53

File I/O

• Writing to a text file:int fwrite (int fp, string string)– fwrite() writes the contents of string to the file stream pointed to

by fp. – The file must be opened for writing

• Checking for end of filefeof(int fp)Returns true if we have reached the end, false otherwise

• Closing a filefclose(int fp)Use when done with the file and close the file pointer

Page 54: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

54

File I/O example

$fd = fopen ("/proc/cpuinfo", "r");

while (!feof ($fd)) {

$oneline = fgets($fd, 4096);

print("$oneline<br>");

}

fclose ($fd);

Page 55: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

55

fgets

• IMPORTANT – Remember that fgets returns the string WITH the newline

• This is critical if you are going to perform comparisons– You’ll get a false match if the newline is not

accounted for– Easiest technique: trim out the newlines

$oneline = trim(fgets($fp, 1024));

Page 56: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

56

Example

• Create a single PHP script that generates a form with a textarea– Allow the user to enter numbers in the textarea– Submit the form to the same script– Compute the sum of the numbers in the textarea

and print it out

Page 57: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

57

Example.php

<?phpheader("Content-Type: text/html");print("<HTML><HEAD><TITLE>My Page</TITLE>");

print("</HEAD>");print("<BODY>");

if($_SERVER['REQUEST_METHOD'] != "POST"){

// We are loading for the first time,// not receiving a form. So generate// a form allowing the user to enter// data in a text area and have it submitted// to this same scriptprint("<FORM method=post action='example.php'>");print("Enter numbers below.<p>");print("<TEXTAREA name='myData' rows=10></TEXTAREA>");print("<INPUT type=submit>");print("</FORM>");

}

Page 58: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

58

Example.phpelse{

// We are receiving data from our form// Put the text data into an array. Each// is separated by a newline, so use explode// to parse$a = explode("\n",$_REQUEST['myData']);// Here we loop through and add up the numbers$total = 0;foreach ($a as $key=>$value) {

// Each element in the array is a string,// but note that each will contain a \r// whitespace at the end, so you may wish// to trim these out. It is not really// necessary in this example but you will// probably want to trim for your homework$num = (int) trim($value);$total += $num;

}print("The sum of your numbers is $total<p>");

} print("</BODY></HTML>");?>

Page 59: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

59

Execution

Page 60: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

60

Summary

• PHP is an imperative language for the web• Similarities to C, Java, and even interpreted

languages• Can’t do everything since server side only –

sometimes coupled with client-side languages such as JavaScript

• PHP version 5 not quite backward compatible with PHP 4

• Easy to write sloppy code so one must be more disciplined in design of classes, functions, variables, HTML, documentation

Page 61: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

61

Lots More to PHP• We have only scratched the surface, but there is much more that

PHP can do– Generate graphics (gd library)– Networking, Sockets, IRC, Email– Database Access – LDAP– Regular Expressions– PDF– Java– XML– Design methodologies (e.g. FuseBox, include files)– Many more

• See the excellent resources online– www.php.net– www.phpbuilder.com– www.zend.com

Page 62: 1 Introduction to PHP Part #2. 2 Simple PHP Script Consider the following HTML file, example.html: My Page Hello world!

62

End of PHP