Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 73

Chapter Four

Server-Side Scripting using PHP

Introduction to PHP
(Hypertext Preprocessor)
1 Prepared by: Melkamu D. 05/08/2024
What is PHP?
 PHP stands for Hypertext Preprocessor
 PHP is a powerful server-side scripting language for
creating dynamic and interactive websites.
 PHP is perfectly appropriate for Web development
and can be embedded directly into the HTML
code.
 The PHP syntax is very similar to C.
 PHP is often used together with Apache (web
server) on various operating systems.
 A PHP file may contain text, HTML tags and scripts.
2 Prepared by: Melkamu D. 05/08/2024
PHP cont.…
Scripts in a PHP file are executed on the server.
PHP files are returned to the browser as plain
HTML
PHP files have a file extension of ".php",
".php3", or ".phtml“
PHP is whitespace insensitive:
That means it almost never matters how many
whitespace characters you have in a row
including tabs and carriage returns (end-of-line
characters).
PHP is case sensitive:
3 Prepared by: Melkamu D. 05/08/2024
Cont.….
 PHP supports many databases (MySQL, Informix,
Oracle, Sybase, Solid, PostgreSQL, Generic ODBC,
etc.).
 PHP is an open source software (OSS).
 PHP is free to download and use.
 PHP runs on different platforms (Windows, Linux,
Unix, etc.).
 PHP is compatible with almost all servers used today
(Apache, IIS, etc.).
 PHP is easy to learn and runs efficiently on the server
side.

4 Prepared by: Melkamu D. 05/08/2024


Basic PHP Syntax
 A PHP scripting block always starts with
 <?php and ends with ?>.
 A PHP scripting block can be placed anywhere in the document.
 On servers with shorthand support enabled you can start a
scripting block with
 <? and end with ?>.
 However, for maximum compatibility, we recommend that you
use the standard form (<?php) rather than the shorthand form.
<?php
//code here;
?>
 Each code line in PHP must end with a semicolon.

5 Prepared by: Melkamu D. 05/08/2024


Output Statement
 There are two basic statements to output text with PHP: echo and
print.
 Format
 echo output1, output2, output3, output4,….;
 echo (output);
 Format
 print output;
 print (output);
 Unlike echo print can accept only one argument.
 It is possible to embed html tags into echo and print statement.
 For example:- we have used the echo statement to output the text
"Hello World".
<?php
echo "Hello <br> World";
Prepared by: Melkamu D. 05/08/2024
6
?>
Comments in PHP
 There are two commenting formats in PHP:
 Single-line comments:
 In PHP, we use // to make a single-line comment
 Multi-lines comments:
 We use /* and */ to make a multiple line comment block.
<html>
<body>
<?php
//This is a single-line comment
/*
This is
A multiple line comment
block
*/
?>
7 </body>
Prepared by: Melkamu D. 05/08/2024
</html>
PHP Variables
 Variables are used for storing values, such as numbers,
strings or function results.
 When a variable is set it can be used many times in a script.
 All variables in PHP start with a $ sign symbol.
 The correct way of setting a variable in PHP:
 $var_name = value;
 $txt = "Hello World!";
 In PHP a variable does not need to be declared before being
set.
 In PHP the variable is declared automatically when you use
it.
 There is no size limit for variables name.

8 Prepared by: Melkamu D. 05/08/2024


PHP Variables…
 A variable does not know in advance whether it will be
used to store a number or a string of characters.
 PHP automatically converts the variable to the correct
data type, depending on their value.
 A variable name must start with a letter or an
underscore.
 A variable name can consist of numbers, letters,
underscores but you cannot use characters like + , - , % , (
, ) . & , etc
 A variable name should not contain spaces.
 If a variable name is more than one word, it should be separated
with underscore ($my_string), or with capitalization
($myString)
9 Prepared by: Melkamu D. 05/08/2024
PHP Data Types
 PHP has a total of eight data types which we use to construct our
variables:
 Integers: are whole numbers, without a decimal point, like 4195.
 Doubles: are floating-point numbers, like 3.14159 or 49.1.
 Booleans: have only two possible values either true or false.
 NULL: is a special type that only has one value: NULL.
 Strings: are sequences of characters, like ‘Text string'
 Arrays: indexed collections of values.
 Objects: are instances of programmer-defined classes, which can
package up both other kinds of values and functions that are specific
to the class.
 Resources: are special variables that hold references to resources
external to PHP (such as database connections).
10 Prepared by: Melkamu D. 05/08/2024
Integers Data Type
 They are whole numbers, without a decimal point, like 4195.
 They correspond to simple whole numbers, both positive and
negative.
 Integers can be assigned to variables, or they can be used in
expressions. For example
 $int_var = 12345;
 $another_int = -12345 + 12345;
 Integer can be in decimal (base 10), octal (base 8), and
hexadecimal (base 16) format.
 Decimal format is the default
 Octal integers are specified with a leading 0
 Hexadecimals have a leading 0x.
 For most common platforms, the largest integer is 2,147,483,647
and the smallest (most negative) integer is 2,147,483,647.
11 Prepared by: Melkamu D. 05/08/2024
NULL Data Type
 NULL is a special type that only has one value:
NULL.
 To give a variable the NULL value, simply assign it
like as follow:
$my_var = NULL;
 The special constant NULL is capitalized by
convention, but actually it is case insensitive;
you could just as well have typed: $my_var = null;
 A variable that has been assigned NULL has the
following properties:
It evaluates to FALSE in a Boolean context.
12  It returns
Prepared by: Melkamu FALSE
D. when tested with IsSet() 05/08/2024
Strings Data type
 Strings: are sequences of characters, like ‘Text string‘
 Singly quoted strings are treated as plain text
 Strings that are delimited by double quotes are preprocessed
in two ways by PHP:
1) Certain character sequences beginning with backslash (\)
are replaced with special characters.
 The escape-sequence replacements are:
 \n is replaced by the newline character.
 \t is replaced by the tab character.
 \$ is replaced by the dollar sign itself ($).
 \" is replaced by a single double-quote (").
 \\ is replaced by a single backslash (\).
 \r is replaced by the carriage-return character(end line).
13 Prepared by: Melkamu D. 05/08/2024
Strings Data type
2) Variable names (starting with $) are replaced with
string representations of their values.
<?
$variable = "name";
$literally = 'My $variable will not print!';
print($literally);
$literally = "My $variable will print!\n";
print($literally);
?>
 This will produce following result:
 My name will not print!
 My name will print!

 There are no limits on string length.


14 Prepared by: Melkamu D. 05/08/2024
PHP Constants
A constant is a name or an identifier for a simple
value.
A constant value cannot change during the
execution of the script.
By default a constant name is case-sensitive.
By convention, constant identifiers are always
uppercase.
A constant name starts with a letter or underscore
(can be a combination of letters, numbers, or
underscores.)
 If Prepared
youby:have defined a constant, it can never05/08/2024
Melkamu D.
be
15
changed or undefined.
PHP Constants
 To define a constant you have to use define() function
 There is no need to write a dollar sign ($) before a
constant.
 To retrieve the value of a constant, you can simply
specifying its name.
 You can also use the function constant() to read a
constant's value.
 Constant example:
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>
16 Prepared by: Melkamu D. 05/08/2024
PHP Operator Types
What is Operator?
For example in the expression 4 + 5 = 9.
Here 4 and 5 are called operands and + is called
operator.
PHP language supports following type of
operators:
Arithmetic Operators
Comparision Operators
Logical (or Relational) Operators
Assignment Operators
Conditional (or ternary) Operators
17 Prepared by: Melkamu D. 05/08/2024
Arithmetic Operators
Operator Description Example A=10, B=20

+ Adds two operands A + B will give 30

- Subtracts second operand from the first A - B will give -10

* Multiply both operands A * B will give 200

/ Divide numerator by denumenator B / A will give 2

% Modulus Operator and return remainder of an B % A will give 0


integer division

++ Increment operator, increases integer value by one A++ will give 11

-- Decrement operator, decreases integer value by one A-- will give 9

18 Prepared by: Melkamu D. 05/08/2024


Comparison Operators
Operator Description Example A=10, B=20

== Checks if the value of two operands are equal or not, if (A == B) is not true.
yes then condition becomes true.

!= Checks if the value of two operands are equal or not, if (A != B) is true.


values are not equal then condition becomes true.

> Checks if the value of left operand is greater than the (A > B) is not true.
value of right operand, if yes then condition becomes true.

< Checks if the value of left operand is less than the value (A < B) is true.
of right operand, if yes then condition becomes true.

>= Checks if the value of left operand is greater than or (A >= B) is not true.
equal to the value of right operand, if yes then condition
becomes true.
<= Checks if the value of left operand is less than or equal to (A <= B) is true.
the value of right operand, if yes then condition becomes
true.
19 Prepared by: Melkamu D. 05/08/2024
Logical Operators
Operator Description Example x=6, y=3

Called Logical AND operator. If both the (x < 10 && y > 1)


&& operands are true then then condition becomes returns true
true.

Called Logical OR Operator. If any of the two (x==5 || y==5)


|| operands are True then then condition becomes returns false
true.

Called Logical NOT Operator. Use to reverses !(x==y) returns true


! the logical state of its operand. If a condition is
true then Logical NOT operator will make
false.

20 Prepared by: Melkamu D. 05/08/2024


Assignment Operators
Operator Description Example
= Assigns values from right side operands to left C=A+B
side operand
+= It adds right operand to the left operand and C += A is equivalent to C= C + A
assign the result to left operand

-= It subtracts right operand from the left operand C -= A is equivalent to C = C - A


and assign the result to left operand

*= It multiplies right operand with the left operand C *= A is equivalent to C = C * A


and assign the result to left operand

/= It divides left operand with the right operand and C /= A is equivalent to C = C / A


assign the result to left operand

%= It takes modulus division of two operands and C %= A is equivalent to C = C % A


assign the result to left operand

21 Prepared by: Melkamu D. 05/08/2024


Conditional Operator
 This first evaluates an expression for a true or false value and
then execute one of the two given statements depending upon
the result of the evaluation.

Operator Description Example

?: Conditional Expression If Condition is true ? Then


value X : Otherwise value Y

22 Prepared by: Melkamu D. 05/08/2024


Precedence of PHP Operators
 Operator precedence determines the grouping of terms in an expression.
 This affects how an expression is evaluated.
 Here operators with the highest precedence appear at the top of the table, those
with the lowest appear at the bottom.
 Within an expression, higher precedence operators will be evaluated first.

Category Operator Associatively


Unary ! ++ -- Right to left
Multiplicative */% Left to right
Additive +- Left to right
Relational < <= > >= Left to right
Equality == != Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /=

23 Prepared by: Melkamu D. 05/08/2024


PHP Decision Making
 You can use conditional statements in your code to
make your decisions based on the different
condition.
 PHP supports following three decision making
statements:
if...else statement - use this statement if you want
to execute a set of code when a condition is true
and another if the condition is false.
if ….else if…else statement - is used with the
if...else statement to execute a set of code if one of
several condition are true.
24
switch statement
Prepared by: Melkamu D. - is used if you want to select
05/08/2024
The If...Else Statement
If you want to execute some code if a condition
is true and another code if a condition is false,
use the if...else statement.
Syntax
if (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;

25 Prepared by: Melkamu D. 05/08/2024


Example:
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
else
echo "Have a nice day!";
?>
</body>
</html>
26 Prepared by: Melkamu D. 05/08/2024
The If...Else Statement…
 If more than one line should be executed if a condition is
true/false, the lines should be enclosed within curly
braces:
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
{
echo "Hello!<br />";
echo "Have a nice weekend!";
echo "See you on Monday!";
}
?>
27 Prepared by: Melkamu D. 05/08/2024
</body> </html>
The Else If Statement
 If you want to execute some code if one of several
conditions are true use the else if statement.
 Syntax
if (condition)
code to be executed if condition is true;
else if (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;

28 Prepared by: Melkamu D. 05/08/2024


Example:
 The following example will output "Have a nice weekend!" if the
current day is Friday, and "Have a nice Sunday!" if the current day
is Sunday. Otherwise it will output "Have a nice day!":
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
else if ($d=="Sun")
echo "Have a nice Sunday!";
else
echo "Have a nice day!";
?>
</body>
29 Prepared by: Melkamu D. 05/08/2024
</html>
The Switch Statement
 If you want to select one of many blocks of code to be
executed, use the Switch statement.
 Syntax
switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed by defoult;
}
30 Prepared by: Melkamu D. 05/08/2024
Example:
<html> case "Fri":
<body> echo "Today is Friday"; break;
<?php case "Sat":
$d=date("D"); echo "Today is Saturday"; break;
switch ($d) case "Sun":
{ echo "Today is Sunday"; break;
case "Mon": default:
echo "Today is Monday"; break; echo "Wonder which day is this ?";
case "Tue": }
echo "Today is Tuesday"; break; ?>
case "Wed": </body>
echo "Today is Wednesday"; break; </html>
case "Thu":
echo "Today is Thursday"; break;
31 Prepared by: Melkamu D. 05/08/2024
PHP Loop Types
 Loops in PHP are used to execute the same block of code
a specified number of times.
 PHP supports following four loop types:
 for - loops through a block of code a specified number of
times.
 while - loops through a block of code as long as a specified
condition is true.
 do...while - loops through a block of code once, and then
repeats the loop as long as a specified condition is true.
 for each - loops through a block of code for each element in
an array.
 We will discuss about continue and break keywords used
to control the loops execution.
32 Prepared by: Melkamu D. 05/08/2024
The for loop statement
The for statement is used when you know how
many times you want to execute a statement or a
block of statements.
Syntax
for (initialization; condition; increment)
{
code to be executed;
}

33 Prepared by: Melkamu D. 05/08/2024


Example:
 The following example makes five iterations and changes the
assigned value of two variables on each pass of the loop:
<html>
<body>
<?php
$a = 0;
$b = 0;
for( $i=0; $i<5; $i++ )
{
$a += 10;
$b += 5;
}
echo ("At the end of the loop a=$a and b=$b" );
?>
</body>
</html>
Thisby:
Prepared will produce
Melkamu D. following result: At the end of the loop a=50 and b=25
05/08/2024
34
The while loop statement
 The while statement will execute a block of code if and
as long as a test condition is true.
 If the test condition is true then the code block will be
executed.
 the loop will continue until the test condition is found to
be false.
 Syntax
while (condition)
{
code to be executed;
}

35 Prepared by: Melkamu D. 05/08/2024


Example:
 This example decrements a variable value on each iteration of
the loop and the counter increments until it reaches 10 when
the evaluation is false and the loop ends.
<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
$num--;
$i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
36 Prepared by: Melkamu D. 05/08/2024
</body> </html>
The do...while loop statement
The do...while statement will execute a block of
code at least once - then it will repeat the loop as
long as a condition is true.
Syntax
do
{
code to be executed;
}
while (condition);

37 Prepared by: Melkamu D. 05/08/2024


Example:
<html>
<body>
<?php
$i = 0;
$num = 0;
do
{
$i++;
}
while( $i < 10 );
echo ("Loop stopped at i = $i" );
?>
</body>
38 Prepared by: Melkamu D. 05/08/2024
</html>
The foreach loop statement
The foreach statement is used to loop through
arrays.
For each pass the value of the current array
element is assigned to $value and the array
pointer is moved by one and in the next pass next
element will be processed.
Syntax
foreach (array as value)
{
code to be executed;
}
39 Prepared by: Melkamu D. 05/08/2024
Example
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
echo "Value is $value <br />";
}
?>
</body>
40 Prepared by: Melkamu D. 05/08/2024
</html>
The break statement
The PHP break keyword is used to terminate the
execution of a loop prematurely.

The break statement is placed inside the loop


statement block.

Whenever you want to exit from the loop you can


come out using a break statement.
After coming out of a loop immediate statement to
the loop will be executed.
41 Prepared by: Melkamu D. 05/08/2024
Example:
 In the following example condition test becomes true when the counter
value reaches 3 and loop terminates.
<html>
<body>
<?php
$i = 0;
while( $i < 10)
{
$i++;
if( $i == 3 )
break;
}
echo (“Value of i = $i" );
?>
</body>
42 </html>
Prepared by: Melkamu D. 05/08/2024
This will produce following result: Loop stopped at i = 3
The continue statement
The PHP continue keyword is used to halt the
current iteration of a loop but it does not terminate
the loop.

Just like the break statement the continue


statement is placed inside the loop statement
block, preceded by a conditional test.

For the pass encountering continue statement, the


rest of the loop code is skipped and next pass
43
starts.
Prepared by: Melkamu D. 05/08/2024
Example:
 In the following example loop prints the value of array but for
which condition becomes true it just skip the code and next
value is printed.
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5); This will produce following
for each( $array as $value ) result Value is 1
Value is 2
{ Value is 4
if( $value == 3 ) Value is 5
continue;
echo "Value is $value <br />";
}
?>
</body> </html>
44 Prepared by: Melkamu D. 05/08/2024
PHP Arrays
 An array is a data structure that stores one or more
similar types of values in a single variable.
 For example, if you want to store 100 numbers then
instead of defining 100 variables it’s easy to define an
array of 100 lengths.
 There are three different kinds of arrays and each array
value is accessed using an array index.
 Numeric array:- An array with a numeric index.
 Associative array:- An array with strings as an index.
 Multidimensional array:- An array containing one or
more arrays and values is accessed using multiple indices.

45
Prepared by: Melkamu D. 05/08/2024
Numeric Array
 These arrays can store numbers, strings and any object but their
index will be represented by numbers.
 By default array index starts from zero.
 Use array() function to create array.
 Example: showing how to create and access numeric arrays.
<html>
<body>
<?php This will produce following
result: Value is 1
/* First method to create array. */
Value is 2
$numbers = array( 1, 2, 3, 4, 5); Value is 3
foreach( $numbers as $value ) Value is 4
{ Value is 5
echo "Value is $value <br />";
}
?>
</body>
46 Prepared
</html> by: Melkamu D. 05/08/2024
Numeric Array…
 The second method is to create an array.
<html>
<body>
<?php
$numbers[0] = "one";
$numbers[1] = "two"; This will produce following
$numbers[2] = "three"; result: Value is one
Value is two
$numbers[3] = "four"; Value is three
$numbers[4] = "five"; Value is four
foreach( $numbers as $value ) Value is five
{
echo "Value is $value <br />";
}
?>
</body> </html>
47 Prepared by: Melkamu D. 05/08/2024
Associative Arrays
The associative arrays are very similar to numeric
arrays in terms of functionality but they are
different in terms of their index.
An associative array will have its index as a
string so that you can establish an association
between keys and values.
For example, store the salaries of employees in an
array, you can use the employees’ name as the keys and
the value would be their respective salary.
NOTE: Don't keep an associative array inside the double quote
while printing otherwise it will not return any value.
48 Prepared by: Melkamu D. 05/08/2024
Example:
<html>
<body>
<?php
/* First method to create associate array. */
$salaries = array(
"mola" => 2000, Output
Salary of mola is 2000
“kindu" => 1000, Salary of kindu is 1000
"zeritu" => 500 Salary of zeritu is 500

);
echo "Salary of mola is ". $salaries['mola'] . "<br />";
echo "Salary of kindu is ". $salaries[‘kindu']. "<br />";
echo "Salary of zeritu is ". $salaries['zeritu']. "<br />";
?> </body> </html>
49 Prepared by: Melkamu D. 05/08/2024
Second method to create an associative array

<html>
<body> Output
Salary of mola is high
<?php Salary of kindu is medium
$salaries['mola'] = "high"; Salary of zeritu is low

$salaries[‘kindu'] = "medium";
$salaries['zeritu'] = "low";
echo "Salary of mola is ". $salaries['mola'] .
"<br />";
echo "Salary of kindu is ". $salaries[‘kindu']. "<br />";
echo "Salary of zeritu is ". $salaries['zeritu']. "<br />";
?>
</body>
</html>
50 Prepared by: Melkamu D. 05/08/2024
Multidimensional Arrays
 In multi-dimensional array each element in the main
array can also be an array.
 And each element in the sub-array can be an array, and so
on.
 Values in the multi-dimensional array are accessed using
multiple index.
 Example
 In this example we create a two dimensional array to
store marks of three students in three subjects:
 This example is an associative array, you can create
numeric array in the same fashion.
51 Prepared by: Melkamu D. 05/08/2024
Example:
<html> )
<body> );
<?php /* Accessing multi-dimensional array
$marks = array( values */
“Abe" => array ( echo "Marks for Abe in physics : " ;
"physics" => 35, echo $marks[‘Abe']['physics'] .
"maths" => 30, "<br />";
"chemistry" => 39 echo "Marks for kasu in maths : ";
), echo $marks[‘kasu']['maths'] .
“kasu" => array ( "<br />";
"physics" => 30, echo "Marks for zena in chemistry : "
"maths" => 32, ;
"chemistry" => 29 echo $marks['zena']['chemistry'] .
), "<br />";
"zena" => array ( ?>
"physics" => 31, </body>
"maths" => 22, </html>

52 "chemistry" => 39
Prepared by: Melkamu D. 05/08/2024
String Operation
String Concatenation Operator
 To concatenate two string variables together, use the
dot (.) operator:
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
 This will produce following result:
Hello World 1234

53 Prepared by: Melkamu D. 05/08/2024


Using the strlen() function
The strlen() function is used to find the length of a
string.
Let's find the length of our string "Hello world!":
<?php
echo strlen("Hello world!");
?>
 This will produce following result: 12
The length of a string is often used in loops or
other functions, when it is important to know
when the string
Prepared by: Melkamu D.
ends.
54 05/08/2024
Using the strpos() function
 The strpos() function is used to search for a string or
character within a string.
 If a match is found in the string, this function will return the
position of the first match.
 If no match is found, it will return FALSE.
 For example lets find the string "world" in Hello world string:
<?php
echo strpos("Hello world!","world");
?>
 This will produce following result: 6
 As you see the position of the string "world" in our string is
position 6.
 The reason that it is 6, and not 7, is that the first position in the

55
string is 0, and not 1.
Prepared by: Melkamu D. 05/08/2024
PHP Functions
 A function is a block of code that can be executed whenever
we need it.
 Creating PHP functions:
 All functions start with the word "function()“.
 Name the function - It should be possible to understand what
the function does by its name.
The name can start with a letter or underscore (not a
number).
 Add a()"{" The function code starts after the opening curly
brace.
 Insert the function code
 Add a() "}" The function is finished by a closing curly brace.
56 Prepared by: Melkamu D. 05/08/2024
Function Example
<html>
<head>
<title>Writing PHP Function</title>
</head>
<body>
<?php
/* Defining a PHP Function */
function writeMessage()
{
echo "You are really a nice person, Have a nice time!";
}
/* Calling a PHP Function */
writeMessage();
57
?>Prepared by: Melkamu D. 05/08/2024
</body> </html>
Function Example…
 A simple function that writes a name when it is called:
<html>
<body>
<?php
function writeMyName()
{
echo “Melkamu D.";
}
writeMyName();
?>
</body>
</html>

58 Prepared by: Melkamu D. 05/08/2024


PHP Functions with Parameters:
 PHP gives you option to pass your parameters inside a
function.
 You can pass any number of parameters your like.
 These parameters work like variables inside your function.
 Following example takes two integer parameters and add
them together and then print them.
<?php
function addFunction($num1, $num2)
{
$sum = $num1 + $num2;
echo "Sum of the two numbers is : $sum";
}
addFunction(10, 20);
?>
59 Prepared by: Melkamu D. 05/08/2024
Example:
<html>
<body>
<?php
function writeMyName($fname)
{
$name=$fname;
echo "My name is: $name";
}
writeMyName(“Abebe");
?>
</body>
</html>
Prepared by: Melkamu D.
60 05/08/2024
PHP Functions - Return values
 A function can return a value using the return statement in
conjunction with a value or object .
 Return stops the execution of the function and sends the value back
to the calling code.
 Example
<html>
<body> The output of the code will
<?php be:
1 + 16 = 17
function add($x,$y)
{
$total = $x + $y;
return $total;
}
echo "1 + 16 = " . add(1,16)
?>
61
</body></html>
Prepared by: Melkamu D. 05/08/2024
Passing Arguments by Reference
It is possible to pass arguments to functions by
reference.
This means that a reference to the variable is
manipulated by the function rather than a copy of
the variable's value.
Any changes made to an argument in these cases
will change the value of the original variable.
You can pass an argument by reference by adding
an ampersand to the variable name in either the
function call or the function definition.
62 Prepared by: Melkamu D. 05/08/2024
Example:
<html> addFive( &$orignum );
<head> echo "Original Value is $orignum<br
<title>Passing Argument by />";
Reference</title> addSix( $orignum );
</head> echo "Original Value is
<body> $orignum<br />";
<?php ?>
function addFive($num) </body>
{ </html>
$num += 5;
}
function addSix(&$num) Output
{ Original Value is 15
$num += 6; Original Value is 21
}
63$orignum = by:
Prepared 10;Melkamu D. 05/08/2024
Setting Default Values for Function Parameters:
 You can set a parameter to have a default value if the function's caller
doesn't pass it.
 Following function prints “no test “ in case the we does not pass any
value to this function.
<html>
<head>
<title>Writing PHP Function which returns value</title>
</head>
<body>
<?php Output
This is test
function printMe($param = “No test”)
No test
{
print $param;
}
printMe("This is test");
printMe();
?>
64
</body> </html>
Prepared by: Melkamu D. 05/08/2024
PHP Forms and User Input
 The PHP $_GET and $_POST variables are used to retrieve
information from forms, like user input.
 The most important thing to notice when dealing with HTML
forms and PHP is that any form element in HTML page will
automatically be available to your PHP scripts.
 For example:
<html>
<body>
<form action="welcome.php" method="post">
Name:<input type="text" name="name" />
Age:<input type="text" name="age" />
<input type="submit" />
</form>
65 Prepared by: Melkamu D. 05/08/2024
</body></html>
PHP Forms and User Input…
 The example HTML page above contains two input fields and
a submit button.
 When the user fills in this form and click on the submit
button, the form data is sent to the "welcome.php" file.
 The "welcome.php" file looks like this:
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
</body></html>
Welcome John.
You are 30 years
old.

66 Prepared by: Melkamu D. 05/08/2024


PHP $_GET
 The $_GET variable is used to collect values from a form
with method="get".
 The $_GET variable is an array of variable names and
values are sent by the HTTP GET method.
Example:
<form action="welcome.php" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

67 Prepared by: Melkamu D. 05/08/2024


PHP $_GET…
When the user clicks the "Submit" button,
the URL sent could look something like this:
localhost/welcome.php?name=Melkamu&age=30
The "welcome.php" file can now use the $_GET
variable to catch the form data
Note that the names of the form fields will
automatically be the ID keys in the $_GET array:
Welcome <?php echo $_GET["name"]; ?>.<br />
You are <?php echo $_GET["age"]; ?> years old!

68 Prepared by: Melkamu D. 05/08/2024


Why use $_GET?
Information sent from a form with the GET
method is visible to everyone (it will be
displayed in the browser's address bar)
So this method should not be used when
sending passwords or other sensitive
information!
Get method has limits on the amount of
information to send
The value cannot exceed100 characters.
So it is not suitable on large variable values.
69 Prepared by: Melkamu D. 05/08/2024
PHP $_POST
The $_POST variable is used to collect values from
a form with method="post".

The $_POST variable is an array of variable names


and values are sent by the HTTP POST method.

Information sent from a form with the POST


method is invisible to others and has no limits on
the amount of information to send.

70 Prepared by: Melkamu D. 05/08/2024


Example:
<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>

 When the user clicks the "Submit" button, the URL will
not contain any form data, and will look something like
this:
localhost/welcome.php

71 Prepared by: Melkamu D. 05/08/2024


The $_REQUEST Variable
The PHP $_REQUEST variable contains the
contents of both $_GET and $_POST variables.
The PHP $_REQUEST variable can be used to get
the result from form data sent with both the GET
and POST methods.
Example:
Welcome <?php echo $_REQUEST["name"]; ?
>.<br />
You are <?php echo $_REQUEST["age"]; ?>
years old!
72 Prepared by: Melkamu D. 05/08/2024
End of Chapter Four
Questions

! !!
OU
Y
N K
A
TH

73 Compiled By: Melkamu D. 05/08/2024

You might also like