lecture 4 term 2

48
Lecture 4 Term 2 Introduction to PHP 30/1/12

Upload: dorjan

Post on 14-Feb-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Lecture 4 Term 2. Introduction to PHP 30/1/12. Server Side Scripting. This is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic HTML pages. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 4 Term 2

Lecture 4 Term 2Introduction to PHP30/1/12

Page 2: Lecture 4 Term 2

Server Side Scripting

• This is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic HTML pages.

• The primary advantage to server-side scripting is the ability to highly customize the response based on the user's requirements, access rights, or queries into data stores.

2

Page 3: Lecture 4 Term 2

Ecommerce Applications• E-Commerce applications exist since the 1960s.

• Electronic Data Interchange (EDI)

• Electronic Funds Transfer (EFT)

• Termed Telecommunications Applications.

3

Page 4: Lecture 4 Term 2

EDI• “….A set of computerised forms that automate common

business processes such as purchase orders, invoices, shipping notices and requests for proposal”.

4

Page 5: Lecture 4 Term 2

Problems with EDI• Special software needed

• Costly transaction and processing fees

• Firms with several linked partners operating on different VANs often required different software and network connections.

5

Page 6: Lecture 4 Term 2

Web Based E-Business• Internet

• Intranet

• Extranet

6

Page 7: Lecture 4 Term 2

Technical Challenges

• Lack of systems security, reliability, standards and some communication protocol

• Development tools are still evolving and changing rapidly

• E.g. Difficult to integrate the Internet and EC software with some existing databases and applications

7

Page 8: Lecture 4 Term 2

Static Web Applications• All information served to the clients browser is static. In other

words the content for the page A served to client 1 is exactly the same as the content for page A served to client 2

• The web server does not dynamically generate any part of the site’s content but simply serves static HMTL pages loaded from the Web Server’s file systems and sends them to the requesting client

8

Page 9: Lecture 4 Term 2

Serving an HTM L page

9

Page 10: Lecture 4 Term 2

Dynamic Web-Applications• Initially, Common Gateway Interface Programming was used

(CGI)

• Server-side scripting allows us create dynamic and interactive web sites

• PHP allows us create dynamic web sites

10

Page 11: Lecture 4 Term 2

Serving a PHP file

11

Here are some funthings to do:

1. Go shopping2. Play soccer

URL: www.mypage.com/funstuff.php

3. Receive Request, find file and read it

4. Execute PHP statements

5. Send back results

6. Return Results

2. Send Request for PHP file

1. User enters web address to PHP file

7. Receive and interpret HTML file

WEB SERVERInternet – Connect to Web Browser

Internet – Connect to Web Browser

Page 12: Lecture 4 Term 2

Introduction to PHP

• PHP is a powerful server-side scripting language for creating dynamic and interactive websites

• PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP

• PHP is perfectly suited for Web development and can be embedded directly into the HTML code

12

Page 13: Lecture 4 Term 2

PHP

• The PHP syntax is very similar to Perl and C

• PHP is often used together with Apache (web server) on various operating systems

• It can also be used with Microsoft's IIS on Windows.

13

Page 14: Lecture 4 Term 2

What is PHP?

• PHP stands for PHP: Hypertext Preprocessor • PHP is a server-side scripting language, like ASP • PHP scripts are executed on the server • PHP supports many databases (MySQL, Informix,

Oracle, Sybase, Solid, Generic ODBC, etc.) • PHP is an open source software (OSS) • PHP is free to download and use

14

Page 15: Lecture 4 Term 2

What is PHP?

• It is a server side scripting language designed for the web

• PHP is embedded into HTML and is executed each time the web page is visited

• PHP is interpreted by the web server and generates HTML code or other output for the user to see

15

Page 16: Lecture 4 Term 2

More on PHP

• PHP is an open source product.

• You have access to the source code.

• You can use it, alter it and redistribute it without charge.

• PHP originally Personal Home Page, now stands for PHP hypertext preprocessor. 16

Page 17: Lecture 4 Term 2

Advantages of PHP• Performance• Database Integration• Built-in libraries• Cost• Portability • Source Code

17

Page 18: Lecture 4 Term 2

Development Environment

• Server-side scripting - You need three things to make this work. The PHP parser (CGI or server module), a webserver and a web browser.

• You need to run the webserver, with a connected PHP installation.

• You can access the PHP program output with a web browser, viewing the PHP page through the server.

18

Page 19: Lecture 4 Term 2

Programming PHP

• A typical PHP file includes: • HTML• PHP tags• PHP statements• Whitespace • Comments

• Note• When you view the source of an PHP file on the

client side you will not see the server side script, all you may view is the HTML generated. 19

Page 20: Lecture 4 Term 2

PHP Tags• <? echo “<p>Order Processed”;?>

• This is the default tag used for PHP development

• It follows the style of the SGML

20

Page 21: Lecture 4 Term 2

Example 1

<html> <head> <title>Example</title> </head> <body>

<?php echo "Hi, I'm a PHP script!"; ?> </body></html>

21

Page 22: Lecture 4 Term 2

<html>

<head>

<title>Create a variable</title></head>

<body><?php

$a=14;$b=19;$result= $a + $b;

echo $result;?></body>

</html>

22

Page 23: Lecture 4 Term 2

PHP Statements

<?phpecho "<p>Order Processed </p>";?>

• The keyword echo prints the text Order Processed to the user’s browser.

• Note: The semicolon at the end of the statement is mandatory, failure to include the semicolon will results in generating a syntax error.

23

Page 24: Lecture 4 Term 2

Whitespace• Can improve code readability.

• The addition of white space does not affect the execution of your code.

• White space makes your PHP file bigger but makes the code more readable.

24

Page 25: Lecture 4 Term 2

Comments• Comments act as essential documentation for a programmer’s

code• Explains the purpose of the script• Who wrote it• Why they wrote it the way they did• The PHP interpreter will ignore the comments but it is

important comments are included for updating and maintenance purposes

25

Page 26: Lecture 4 Term 2

Creating Comments• Multilined Comment

/* Author: Mary BrownLast Modified: 3/9/08*/

• Single line Comments<?echo “<p> Order Processed </p>” ;?>// Start printing order

26

Page 27: Lecture 4 Term 2

Variables

• Variables in PHP are represented by a dollar sign followed by the name of the variable

• The variable name is case-sensitive • A valid variable name starts with a letter or

underscore, followed by any number of letters, numbers, or underscores

27

Page 28: Lecture 4 Term 2

Declaring a Variable Using PHP<?php$var = "Bob";$Var = "Joe";echo "$var, $Var"; //

outputs "Bob, Joe"

$4site = 'not yet'; // invalid; starts with a number

$_4site = 'not yet'; // valid; starts with an underscore

?> 28

Page 29: Lecture 4 Term 2

Variable Types• A variable type refers to the kind of data that is stored in it.• PHP data types include:• Integer• Double• String• Array• Object

29

Page 30: Lecture 4 Term 2

Arithmetic Operators• They are usually applied to integers or doubles if you apply an

arithmetic operator to a string PHP will try and convert it to a number

• If the string contains e or E it will be converted to a double otherwise it will be converted to int

30

Page 31: Lecture 4 Term 2

Arithmetic Operators

Operator Name Example+ Addition $a + $b- Subtraction $a - $b* Multiplication $a * $b/ Division $a / $b% Modulus $a % $b

31

Page 32: Lecture 4 Term 2

String Concatenation/Operator• Used to add two strings together.• Syntax: <?php• $qty1=12; echo $qty1. "Purchased<br/>"; ?>

• To avoid having to write multiple echo commands use the (.)

32

Page 33: Lecture 4 Term 2

Example 2

<?php$a="ebusiness ";$b="is great";$result=$a.$b;echo $result;

?>

Output: ebusiness is great

33

Page 34: Lecture 4 Term 2

Comparison OperatorsOperator Name Use

== equals $a==$b=== identical $a===$b

!= Not equal $a!=$b<> Not equal $a<>$b< Less than $a<$b> Greater than $a>$b

<= Less than or equal to

$a<=$b

>= Greater than or equal to

$a>=$b 34

Page 35: Lecture 4 Term 2

Logical Operators Operator Name Use Result

! NOT !$b Returns true is b is false and vice versa

&& AND $a && $b Returns true if both $a and $b are true otherwise false

|| OR $a || $b Returns true if either $a or $b are true otherwise false

and AND $a and $b

Same as && with lower precedence

or OR $a or $b Same as ||, but with lower precedence

35

Page 36: Lecture 4 Term 2

Control Structures • Are structures within a programming language that allow us to

control the flow of execution through a program or script.

• The constructs that tell the programs to make decisions are known as conditional statements.

36

Page 37: Lecture 4 Term 2

If Statements• If statements may be used to make a decision.• If the condition is true the following code block is executed.

<?phpif ($a > $b) echo "a is bigger than b";?>

37

Page 38: Lecture 4 Term 2

Else Statements• This allows to provide an alternative action when

the condition of the if statement is false.<?phpif ($a > $b) { echo "a is bigger than b";} else { echo "a is NOT bigger than b";}?> 38

Page 39: Lecture 4 Term 2

elseif Statements<?phpif ($a > $b) { echo"a is bigger than b";} elseif ($a == $b) { echo "a is equal to b";} else { echo "a is smaller than b";}?>

39

Page 40: Lecture 4 Term 2

Switch statements• The switch statement is similar to a series of IF statements on the

same expression.

• You may want to compare the same variable (or expression) with many different values, and execute a different piece of code depending on which value it equals to.

40

Page 41: Lecture 4 Term 2

<?phpswitch ($a) { case 0: echo "a equals 0"; break; case 1: echo "a equals 1"; break; case 2: echo "a equals 2"; break; default:

echo "a is not equal to 0, 1 or 2";}?> 41

Page 42: Lecture 4 Term 2

Iteration:While loops

• It tells PHP to execute the nested statement(s) repeatedly, while the expression evaluates to true. • The value of the expression is checked each time

at the beginning of the loop, so even if this value changes during the execution of the nested statement(s), execution will not stop until the end of the iteration.• If the while expression evaluates to false from

the very beginning, the nested statement(s) won't even be run once. 42

Page 43: Lecture 4 Term 2

While Loops<?php$i = 1;while ($i <= 10) { echo $i++; /* the printed value would be

$i before the increment (post-increment) */}?>

43

Page 44: Lecture 4 Term 2

For Loops

• for (expr1; expr2; expr3) statement• The first expression (expr1) is evaluated once

unconditionally at the beginning of the loop. • In the beginning of each iteration, expr2 is

evaluated. If it evaluates to true, the loop continues and the nested statement(s) are executed. If it evaluates to false, the execution of the loop ends. • At the end of each iteration, expr3 is evaluated

(executed). 44

Page 45: Lecture 4 Term 2

For Loops

<?phpfor ($i = 1; $i <= 10; $i++) { echo $i;}?>

45

Page 46: Lecture 4 Term 2

Do…While Loops• do..while loops are very similar to while loops, except the

truth expression is checked at the end of each iteration instead of in the beginning.

• The main difference from regular while loops is that the first iteration of a do..while loop is guaranteed to run.

46

Page 47: Lecture 4 Term 2

Do..While Loops

<?php$i = 0;do {

echo $i;} while ($i > 0);

?>47

Page 48: Lecture 4 Term 2

Wamp Server• http://www.wampserver.com/en/• Windows web development environment• It allows you to create web applications with Apache,

PHP and the MySQL database• It also comes with PHPMyAdmin and SQLiteManager to

easily manage your databases• WampServer installs automatically and its usage is very

intuitive• You will be able to tune your server without even

touching the setting files

48