PHP Script - Aalborg Universitet

advertisement
IT – som værktøj
Bent Thomsen
Institut for Datalogi
Aalborg Universitet
November 2003
Bent Thomsen - FIT 6-1
1
Introduction to PHP
Bent Thomsen
November 2003
Bent Thomsen - FIT 6-1
2
What is PHP?
• PHP is a generalized Open Source Server Side
Scripting Language that generates HTML content
• PHP: Recursive Acronym for
– PHP: Hypertext Preprocessor
• PHP was created by Rasmus Lerdorf in 1994 as a
tool for Web Development
• PHP is simple for beginners, yet a powerful tool
for the professional Web Developer
November 2003
Bent Thomsen - FIT 6-1
3
Embedding PHP in HTML is different from writing a
script or program in other languages like Perl, Java or
C#, but similar to JavaScript
Instead of writing a program with lots of commands to
output HTML, you write an HTML script with some
embedded code to do something (in the example on the
next page, to output some text).
The PHP code is enclosed in start and end tags that
allow you to jump into and out of "PHP mode".
An example follows
November 2003
Bent Thomsen - FIT 6-1
4
Embedding PHP in HTML
<HTML>
<HEAD>
<TITLE>A PHP Example</TITLE>
</HEAD>
<BODY>
<H3>First PhP Script</H3>
<?PHP
print(“Hello World”);
?>
</BODY>
</HMTL>
November 2003
Bent Thomsen - FIT 6-1
5
PHP Structures
• A PHP script begins (and ends) with a tag that
inform the Web server that it is dealing with a PHP
program.
• This tag is represented as <?php … ?>
– Alternatively, you can use:
<script language="PHP">
…
</script>
• A PHP script is save as a *.php file
November 2003
Bent Thomsen - FIT 6-1
6
Continue …
• Every script-line must ends with a semicolon (;)
• Documentation can be added using the “//”
or “/* … */” comment tags
– “//” for single line comment
– “/*…*/” for multiple lines comment
November 2003
Bent Thomsen - FIT 6-1
7
PHP Script Example
Opening Tag
<?php
// This is a very simple script that simply
// output the sentence “Hello World!”
print (“Hello World!”);
?>
Comment
Semi-colon
Closing Tag
November 2003
Bent Thomsen - FIT 6-1
8
PHP Program
• In general, a program consists of commands and
values.
– Commands: what the program can do.
– Values are the information that commands are
performed with.
• PHP is no exception.
e.g. print (“Hello”);
This statement performs the print() command using
the value “Hello”
November 2003
Bent Thomsen - FIT 6-1
9
Print() Function
• Print () is use to send text to the browser.
• Another function, echo() behaves the same
as Print().
• Print() can also be use to send HTML
formatted text to the browser.
– Print(“<H2>Hello World</H2></BR>”);
November 2003
Bent Thomsen - FIT 6-1
10
PHP vs. JavaScript
• What distinguishes PHP from client-side
JavaScript?
• PHP code is executed on the server.
• If you were to have a script similar to the
above on your server, the client would
receive the results of running that script,
with no way to determine what the
underlying code may be.
November 2003
Bent Thomsen - FIT 6-1
11
Client-side execution using JavaScript
Web-Server
JavaScript
Web-Client
November 2003
Web-Browser
WWW
Bent Thomsen - FIT 6-1
HTML Page
...
<SCRIPT ...>
...
12
Server-side execution using PHP Script
Web-Client
HTML-Form
Web-Server
Call PHP
interpreter
Submit
Form Data
Web-Browser
PHP
Script
WWW
Response
Response
Reply
November 2003
Bent Thomsen - FIT 6-1
13
PHP & Web Servers
PHP supports most web servers including
•Apache
•Microsoft Internet Information Server
• Personal Web Server
•Netscape and iPlanet servers
•Oreilly Website Pro server
•Caudium, Xitami, OmniHTTPd
For most servers PHP has a module, for the
others supporting the CGI standard, PHP can
work as a CGI processor.
November 2003
Bent Thomsen - FIT 6-1
14
PHP VARIABLES
•
•
•
•
•
•
PHP keeps variables easy to work with
Syntax is minimal
All PHP variables start with $
Variable names are case sensitive
Strings, integers, floating-point, arrays
Variables generally come from 3 places
– Assigned within a script
– Passed from an HTML page
– Or from the PHP environment
November 2003
Bent Thomsen - FIT 6-1
15
PHP VARIABLES
• PHP does not require explicit variable
declarations
• Use a variable, and it exists!
• Examples of variable declaration in PHP
–
–
–
–
$a = “this is a string”; //this is a string
$b = 4; //this is an integer
$c = 3.1415; //this is a floating point number
$d = “5”; //this is another string
November 2003
Bent Thomsen - FIT 6-1
16
PHP Is Flexible
• $g = $b + $d ; echo $g will print 9
(See Preceding Slide)
$m = 7; // $m is an integer
$n = 1.732; // $n is double floating point
$p = $m + $n; //$p is also a double floating
point variable
November 2003
Bent Thomsen - FIT 6-1
17
The = sign
• Use = to indicate an assignment statement:
– $X = 4;
• Use = = for comparison:
– If($X==4);
November 2003
Bent Thomsen - FIT 6-1
18
More on Strings
• $my_name = “Peter”;
• $statement = “Hello, my name is $my_name”;
– This expands the variable $my_name
• So the Echo $statement;
Will print, “Hello, my name is Peter”
If you want to include any of the following characters in your
string you must first escape each with backslashes “ \ $
November 2003
Bent Thomsen - FIT 6-1
19
Operators
• Assignment (=) – returns a value equal to
the value that was assigned: $a = ($b =
5);
• Arithmetic: + - * \ %
• Concatenation: “now”.“one String”
• Comparison: == != > >= < <=
• Logical: || or xor && and !
November 2003
Bent Thomsen - FIT 6-1
20
Operator Presedence
•
•
•
•
•
•
•
•
•
•
•
(cast)
* \ %
+ < <= >
== !=
&&
||
=
and
xor
or
November 2003
Can be changed by using
parentheses
>=
e.g.
2*5+6
2*(5+6)
Bent Thomsen - FIT 6-1
21
Constants
• You indicate that a label is to represent a constant by:
define(‘CONSTANT_NAME’,value) or
define(‘CONSTANT_NAME’,value,true)
• When the third parameter is present and true then the
parameter label can be used in either upper or lower case
e. g.
define(‘PI’,3.1412,true)
defines a constant PI and another pi that both have the
value 3.1412
November 2003
Bent Thomsen - FIT 6-1
22
Statements
• Function calls: print(“hello”);
• Assignment statements: $first = “first one”;
• If/Then/Else statement:
if (expression){ true_part }
else { false_part }
• While statement:
while (expression)
{ repeated_part }
• For statement:
for (init; test; update)
{ repeated_part }
November 2003
Bent Thomsen - FIT 6-1
23
If/Then/Else
• If/Then/Else statement:
if (expression){ true_part }
else { false_part }
• Used to conditional execute part of a PhP script
• The else part is optional
• Example:
if ($num == 1) { $end = “st”; }
else if ($num == 2 or $num ==3)
{ $end = “ed”; }
else { $end = “th”; }
print (((string)$num).$end);
November 2003
Bent Thomsen - FIT 6-1
24
While
• While statement:
while (expression)
{ repeated_part }
• Loop, that is repeat all the enclosed PhP statements, while
the condition is true
• Example:
$count = 0;
while ($count < 10)
{ print(“the count is $count <br>”);
$count = $count + 1;
}
November 2003
Bent Thomsen - FIT 6-1
25
For
• For statement:
for (init; test; update)
{ repeated_part }
• Execute the init statement, then test the condition; then
repeat the loop
• In the loop, as long as the condition is true, execute the
statements in the body; then execute the update statement;
then test the condition
• Example:
for ($n = 1; $n < 10; $n = $n + 1)
{ print (“the count is $n <br>”);}
• Example:
for ($n = 1; $n < 10; $n++)
{ print (“the count is $n <br>”);}
November 2003
Bent Thomsen - FIT 6-1
26
Array Examples
• Creating a simple Array
$class = array (“Web Programming II”, “CS463”, “MWF”);
• Creating an Associative Array
$ranks (
“first” =>1,
“second” =>2,
“third” =>3 );
• Heterogeneous Array
$studentA = array ( “StudentA”, “Sr”, 3.4, 103);
• Printing
echo class[2]; // echo out the second element: prints “CS463”;
echo ranks[3]; // echo out the third element: prints 3;
echo studentA[4]; // echo out the cumulative credits: prints 103;
November 2003
Bent Thomsen - FIT 6-1
27
Array - multidimensional
• creating
$students = array(
array( “StudentA”, “FR”, 3.0),
array( “StudentB”, “JR”, 2.8),
array( “StudentC”, “SR”, 3.3) );
• Printing
print $student[2][0]; //prints “StudentC”
• More sophisticated?
$students2 = array(
“StudentA” => array( “Year”=>”FR”, “GPA”=>3.0),
“StudentB” => array( “Year”=>”JR”, “GPA”=>2.8),
“StudentC” => array( “Year”=>”SR”, “GPA”=>3.3) );
• Printing
print $students2[“StudentB”][“GPA”]; // prints 2.8
November 2003
Bent Thomsen - FIT 6-1
28
Functions
• Functions denote actions that can be taken (on your behalf)
by php
• Example
print(“This is some text”);
• Functions can be parts of an expression
• Functions have one or more arguments (the part inside the
parentheses)
• The values of the arguments are past to the functions that
do something with them (“side effects”)
• A Function may return a value (example shortly)
November 2003
Bent Thomsen - FIT 6-1
29
More Functions
• Built-in functions:
– print, round, sqrt, cos, rand, …
• Use defined functions
function diff($par1,$par2){
if ($par1 > $par2){
return $par1 - $par2;
} else {
return $par2 - $par1;
}
}
November 2003
Bent Thomsen - FIT 6-1
30
An example
<?php
/* First define functions
use them later */
function diff($par1,$par2){
if ($par1 > $par2){
return $par1 - $par2;
} else {
return $par2 - $par1;
}
}
echo “The difference between 5 and 10 is”;
echo diff(5,10);
?>
November 2003
Bent Thomsen - FIT 6-1
31
Download