SlideShare a Scribd company logo
Introduction to PHP
 What is PHP?
 PHP: Hypertext Preprocessor
 A server-side, cross-platform HTML
embedded scripting language
 What do I need?
1. PHP-enabled web server
2. Text editor
3. A way to get PHP scripts from your
machine to the server
What is it? and What do I need?
Basic Syntax
 Escaping from HTML
1. <?php … ?>
2. <script language=“php”> … </script>
3. <? … ?>
4. <% … %>
 For Example…
<?php
/* The world renowned first program.
Programmer: Todd Barber
Date: October 31, 2006
*/
echo “Hello World!”; #displays on the screen
// A simple program to illustrate just the basics
?>
Types
 Boolean -> TRUE or FALSE
 Integer – number of the set
Z = {..., -2, -1, 0, 1, 2, ...}
 Float -> “decimal numbers”
 String – series of characters
 Single quote (‘) – doesn’t expand variables
 Double quote (“) – does expand variables
 Array – ordered map that assigns values
to keys
 NULL – represents that a variable has no
value. NULL is the only possible value.
See http://us2.php.net/manual/en/language.types.php for all possible types and more details.
Variables
 Variables are represented by a dollar sign
followed by the name of the variable.
 The variable name is case-sensitive.
 Variable names follow the same rules as
other labels in PHP. A valid variable name
starts with a letter or underscore, followed
by any number of letters, numbers, or
underscores.
$this_is_a_valid_variable
$this-one-is-not
More Variables
 Predefined Variables
 $GLOBALS – all variables currently in
the global scope
 $_SERVER – all variables set by the
web server
 $_POST – variables provided by the
HTTP POST
 $_GET – variables provides by the
HTTP GET (in the URL)
 $_SESSION – variables currently
registered with the script’s session
More Variables - Scope
 For the most part PHP variables have a single scope
<?php
$a=1;
include ‘header_info.php’;
?>
You can reference the $a variable in the file ‘header_info.php’
<?php
$b=1;
function footer_info () {
echo $b;
}
footer_info();
?>
Nothing will output. The echo statement refers to the local scope of the variable (inside the
function.) Global variables must be declared global inside the function.
 Global Keyword
<?php
$a = 1;
$b = 2;
function Sum()
{
   global $a, $b;
   $b = $a + $b;
}
Sum();
echo $b;
?>
What is $b?
More Variables – Scope
 Passing Variables
<?php
$a = 1;
$b = 2;
function Sum ($a, $b)
{
   $b = $a + $b;
}
Sum($a, $b);
echo $b;
?>
What is $b?3 2
More Variables - Variable
This outputs
hello world hello world
 Variable names which can be set and used dynamically
<?php
$a = ‘hello’;
$$a = ‘world’;
echo “$a ${$a}”;
echo “$a $hello”;
?>
 Constants - value cannot change during the execution of the script
A constant is case-sensitive by default. By convention, constant
identifiers are always uppercase.
<?php
define (“PI”,”3.14159265358979323846”);
echo PI;
?>
This outputs
3.14159265358979323846
Operator Precedence
Associativity Operators Additional Information
non-associative new new
left [ array()
non-associative ++ -- increment/decrement
non-associative ~ - (int) (float) (string) (array) (object) @ types
non-associative instanceof types
right ! logical
left * / % arithmetic
left + - . arithmetic and string
left << >> bitwise
non-associative < <= > >= comparison
non-associative == != === !== comparison
left & bitwise and references
left ^ bitwise
left | bitwise
left && logical
left || logical
left ? : ternary
right = += -= *= /= .= %= &= |= ^= <<= >>= assignment
left and logical
left xor logical
left or logical
left , (comma) many uses
Operators
 Arithmetic
 -$a is negation
 $a + $b is addition
 $a - $b is subtraction
 $a * $b is multiplication
 $a / $b is division (always returns float)
 $a % $b is modulus
 Assignment
 $a = 5 is NOT “equal to.” It is “gets set to”
 Combined operators
 +=, -=, *=, /=, %=, .=
More Operators
 Comparison
 $a == $b is equal
 $a === $b is identical (includes type)
 $a != $b is not equal
 $a <> $b is not equal
 $a !== $b is not identical
 $a < $b is less than
 $a > $b is greater than
 $a <= $b is less than or equal to
 $a >= $b is greater than or equal to
 Conditional
 ?: is ternary – expr1 ? expr2 : expr3
 If expr1 is TRUE, the expression evaluates to expr2
 If expr1 is FALSE, the expression evaluates to expr3
 Shorthand for single expression if statements
Comparing Different Types
Operand 1 Operand 2 Result
Null or String String Convert NULL to “”, numerical or lexical
comparison
Bool or null Anything Convert to bool, FALSE<TRUE
String or
number (or
resource)
String or
number (or
resource)
Translate strings (and resources) to
numbers, usual math
Array Array Array with fewer numbers is smaller
If key from operand 1 is not found in
operand 2 then arrays are incomparable
Compare value by value
Array Anything Array is always greater
More Operators
 Error Control
 @ - suppresses any errors that may be generated
 Works on expressions – if you can take a value of it then you can
use it.
 Strings
 Concatenation (.)
 Concatenating Assignment (.=)
<$php
@include “header_info.php”; // suppress error if file doesn’t exist
$a = “Hello”; // assign value Hello to $a
$b = $a . “ World”; // $b evaluates to “Hello World”
$a .= “ World”; // $a evaluates to “Hello World”
?>
More Operators
 Increment and Decrement
 ++$a – Preincrement – Increment by one, then return $a
 $a++ - Postincrement – Return $a, then increment by one
 --$a – Predecrement - Decrement by one, then return $a
 $a-- - Postdecrement - Return $a, then decrement by one
<?php
$a = 5;
echo "Should be 5: " . $a++ . "<br />n";
echo "Should be 6: " . $a . "<br />n";
$a = 5;
echo "Should be 6: " . ++$a . "<br />n";
echo "Should be 6: " . $a . "<br />n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />n";
echo "Should be 4: " . $a . "<br />n";
$a = 5;
echo "Should be 4: " . --$a . "<br />n";
echo "Should be 4: " . $a . "<br />n";
?>
More Operators
 Logical
 $a and $b is AND – TRUE if both are
TRUE
 $a or $b is OR – TRUE if either is TRUE
 $a xor $b is XOR – TRUE if either is
TRUE, but not both
 ! $a is NOT – TRUE is $a is not TRUE
 $a && $b is AND – TRUE if both are
TRUE
 $a || $b is OR – TRUE if either is TRUE
More Operators
 Array
 $a + $b is union – appends the right side to the
left side and doesn’t overwrite variables
 $a == $b is Equal – TRUE is they have the
same key/value pairs
 $a === $b is Identity – TRUE if they have the
same key/value pairs in the same order and of
the same types
 $a != $b is Inequality – TRUE if $a is not equal
to $b
 $a <> $b – Same as Inequality above
 $a !== $b is Non-identity – TRUE if $a not
identical to $b
Array Comparisons
<?php
$a = array ("a" => "apple", "b" => "banana");
$b = array ("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // Union of $a and $b
echo "Union of $a and $b: n";
var_dump ($c);
$c = $b + $a; // Union of $b and $a
echo "Union of $b and $a: n";
var_dump ($c);
?>
<?php
$a = array ("apple", "banana");
$b = array (1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
<?php
$a = array(1,2,3);
$b = array(1,7,8,9,10);
$c = $a + $b; // Union of $a and $b
echo "Union of $a and $b: n";
//echo $c
print_r($c);
?>
Control Structures -- if
 if – evaluates an expression to its
Boolean value – if the expression
evaluates to TRUE then the conditional
code is executed; otherwise it is ignored
<?php
$a = 5;
if ($a = 6)
echo “Hello World”;
?>
<?php
$a = 5;
if ($a == 6)
{
echo “Hello World”;
$b = 7;
}
?>
if block is executed and
displays Hello World – note the
assignment operator in the expression
if block is ignored and
nothing is done – note the
comparison operator in the expression
Control Structures - else
 else – extension of if statement that
executes code when the if expression
evaluates to FALSE
<?php
$a=3;
$b=4;
if ($a < $b)
echo “Variable A is less than B”;
else
echo “Variable B is less than A”;
?>
Control Structures - elseif
 elseif – another extension of if
<?php
$a=3;
$b=4;
if ($a < $b) {
echo “Variable A is less than B”;
} elseif ($a == $b) {
echo “Variable A has the same value as B”;
} else {
echo “Variable B is less than A”;
}
?>
Control Structures - while
 while – execute the statements as
long as the expression evaluates to
TRUE
<?php
$a=3;
while ($a==4)
{
echo “The value of a is ”.$a;
}
?>
<?php
$i = 1;
while ($i <=10)
{
echo “i is set to “.$i++;
}
?>
<?php
$j = 0;
while ($j <=10)
{
echo “j is set to “.++$j;
}
?>
Counts to
10
Counts to
11
Control Structures – do-while
 do-while – same as while except the
code chunk is guaranteed to execute
at least once
<?php
$a=3;
while ($a==4)
{
echo “The value of a is ”.$a;
}
?>
<?php
$a=3;
do
{
echo “The value of a is ”.$a;
} while ($a==4);
?>
Evaluates to FALSE and while
loop statement(s) are never
executed
while expression isn’t evaluated
until after at least one iteration
of the do-while statements. This
echoes “The value of a is 3” to
the screen.
 for (expr1; expr2; expr3)
{ statement(s); }
 expr1 is evaluated unconditionally
 expr2 is evaluated at the beginning of
each iteration; continues on TRUE
 expr3 is evaluated at end of iteration
<?php
for($i=1;$i<=10;$i++)
{
echo $i.”<br />”;
}
?>
Control Structures - for
<?php
$i=1;
while ($i<=10)
{
echo $i.”<br />”;
$i++;
}
?>
functions the
same as
Control Structures - switch
 switch – the same as a series of if…
elseif statements
<?php
$i = 2;
switch ($i)
{
case 0:
echo $i;
break;
case 1:
echo $i;
break;
case 2:
echo $i;
break;
default:
echo $i;
break;
?>
<?php
$i=2;
if ($i==0)
echo $i;
elseif ($i==1)
echo $i;
elseif ($i==2)
echo $i;
?>
More switch
<?php
$i = 4;
switch ($i)
{
case 0:
case 1:
case 2:
case 3:
echo “I is less than 4”;
break;
case 4:
echo “I is equal to 4”;
break;
default:
echo “I is greater than 4”;
break;
?>
Combining cases Omitting Breaks
<?php
$i = 4;
switch ($i)
{
case 0:
case 1:
case 2:
case 3:
echo “I is less than 4”;
case 4:
echo “I is equal to 4”;
default:
echo “I is greater than 4”;
?>
Control Structures – require and include
 require – includes and evaluates a
specific file; failure results in a Fatal
Error
<?php
require ‘header.php’;
?>
 include - includes and evaluates a
specific file; failure results in a
Warning
<?php
include ‘header.php’;
?>
Control Structures –
require_once and include_once
 require_once – same as require except if
the file has already been included, it will
not be included again
<?php
require_once ‘header.php’;
?>
 include_once - same as include except if
the file has already been included, it will
not be included again
<?php
include_once ‘header.php’;
?>
 Use when the same file might be included and
evaluated more than once during a particular
execution of a script, and you want to be sure that
it is included exactly once to avoid problems with
function redefinitions, variable value
reassignments, etc.
User-defined functions
 Any valid PHP code can appear inside a
function
 Names follow the same rules as other
labels in PHP
 All functions in PHP have the global scope
<?php
function my_first_function ($arg1, $arg2, … ,$arg_n) //arguments aren’t mandatory
{
echo “PHP code goes here.”;
return $return_value; //only used when something is returned
}
my_first_function(); // example of function call with no arguments
my_first_function(1,2); // function with static arguments
my_first_function($variable); // function with a variable as an argument
}
Functions and Arguments
 Information can be passed to the
function by the argument list, a
comma separated value list of
expressions
 Arguments may be passed by:
 Value (default)
 Reference
 Default argument list
 Variable-length argument lists are
supported only in PHP4 and greater
 Passing by value examples
<?php
######### NUMBERS ###########
function add_numbers($value1, $value2)
{
echo “The numbers $value1 + $value2 equal “. $value1+$value2;
}
add_numbers(3,4); #adding 2 static numbers
add_numbers($age1,$age2); #adding 2 ages given by a user from a form
######### STRING ###########
function display_instructions()
{
echo “Text goes here. Great for text that changes often and is used many places.”;
}
display_instructions();
######### ARRAYS ###########
function add_array_values($func_array)
{
echo “The numbers $func_array[0] + $func_array[1] = “. $func_array[0] + $func_array[1];
}
$main_program_array = array(2,3);
add_array_values($array);
?>
Function Examples
More Function Examples
 Passing by Reference and Default Argument List
<?php
$dbc = OCILogon("A201","$password","$database");
function which_name($identifier,&$conn,$count="1")
{
//global $dbc;
//$conn =& $GLOBALS['dbc'];
if ($identifier == "last")
$sql = "select t100_first_name, t100_last_name from a201t100 where t100_last_name like 'Q%'";
else
$sql = "select t100_first_name, t100_last_name from a201t100 where t100_first_name like 'Q%'";
$stmt = OCIParse($conn,$sql);
OCIExecute($stmt);
while ($row=OCI_fetch_row($stmt)) {
echo "<tr><td>".$count++."</td><td>$row[0] $row[1]</td></tr>";}
OCIFreeStatement($stmt);
OCILogoff($conn);
}
echo "<table border='1' cellpadding='3’ width='30%'><tr><td>Count</td><td>Name</td></tr>n“;
which_name("first",$dbc);
echo"</table>";
?>
More Function Examples
 Passing by reference notes
 Used when you want to change the value of the
object you passed in
 I don’t know of a realistic use except when
using classes. Can be used to return more than
one value from a function (more on that later).
 Passing by default argument list
 Any defaults must be on the right side of the
argument list
 Must be a constant expression
 Uses default unless specified otherwise
Variable length argument lists
 Uses the func_num_args(), func_get_arg(), and
func_get_args() functions.
<?php
function math()
{
$numargs = func_num_args();
echo "Number of arguments: $numargsn<br />";
echo "The second side is: " . func_get_arg(1) . "<br />n";
$arg_list = func_get_args();
for ($i = 1; $i < $numargs +1; $i++) {
echo "Side $i is: " . $arg_list[$i -1] . "<br />n";
$area += $arg_list[$i -1];
}
return $area;
}
$area_of_object = math(3,4,5,6,1); // Prints 'Number of arguments: 5'
echo "The area of the object is $area_of_object";
?>
Returning values
 A value can be returned by using the
optional return() statement
 Function execution is ended
immediately and control passed back
to the line that called the function
 Returns a single variable
 could be a single number or string
 could be an array with several values
return() examples
 Single number
<?php
function square($num)
{
return $num * $num;
}
echo square(5); //displays 25
?>
 Single String
<?php
function display($string1, $string2=“World”)
{
return $string1 . $string2;
}
echo display(“Hello”,” Todd”);// displays Hello Todd
echo display(“Hello ”);//displays Hello World
?>
More return() examples
 Array – use the built-in list() function
to access the array elements
<?php
function math($num1, $num2)
{
$div = $num1 / $num2;
$mutli = $num1 * $num2;
$add = $num1 + $num2;
$sub = $num1 - $num2;
return array($div, $mutli, $add, $sub);
}
list ($d, $m, $a, $s) = math("6","2");
echo "Division: $d";
echo "<br />Multiplication:". $m;
echo "<br />Addition: $a";
echo "<br />Subtraction: $s";
?>
More return() examples
 Passing by reference to return multiple values
<?php
function split_string($input, $cut_point, &$first, &$second)
{
if(strlen($input) < $cut_point)
return false;
$first = substr($input, 0, $cut_point);
$second = substr($input, $cut_point);
return true;
}
$input_text = "abcdefghijklmnopqrstuvwxyz";
if(split_string($input_text, 30, $first_half, $second_half) != true)
{
echo "Could not split input, cut-point is entire string!<br />";
}
if(split_string($input_text, 15, $first_half, $second_half) == true)
{
echo "First segment of input: $first_half<BR>";
echo "Second segment of input: $second_half<BR>";
}
?>
Oh, by the way…
 You can also return by reference. See
http://www.php.net/manual/en/language.references.return.php for a
simple example and some explanation
 Remember variable variables? (Slide 9) PHP also allows for
variable functions
<?php
function display()
{
echo “In a function…”;
}
$variable_function = “display”;
$variable_function();
?>
 Built in Functions - http://www.php.net/manual/en/funcref.php
 Sessions - http://www.php.net/manual/en/ref.session.php
 Oracle - http://www.php.net/manual/en/ref.oci8.php
 Strings - http://www.php.net/manual/en/ref.strings.php
 Date & Time - http://www.php.net/manual/en/ref.datetime.php
 Arrays - http://www.php.net/manual/en/ref.array.php
 File System - http://www.php.net/manual/en/ref.filesystem.php
 PDF - http://www.php.net/manual/en/ref.filesystem.php

More Related Content

What's hot (20)

PDF
Php Tutorials for Beginners
Vineet Kumar Saini
 
PDF
Data Types In PHP
Mark Niebergall
 
ODP
Introduction to Perl - Day 1
Dave Cross
 
PPT
LPW: Beginners Perl
Dave Cross
 
PDF
Improving Dev Assistant
Dave Cross
 
PDF
Cli the other SAPI confoo11
Combell NV
 
ODP
PHP Basic
Yoeung Vibol
 
PPT
Class 2 - Introduction to PHP
Ahmed Swilam
 
PPTX
Php functions
JIGAR MAKHIJA
 
PPT
Class 3 - PHP Functions
Ahmed Swilam
 
PDF
Operators in PHP
Vineet Kumar Saini
 
PDF
Sorting arrays in PHP
Vineet Kumar Saini
 
PDF
Zend Certification Preparation Tutorial
Lorna Mitchell
 
PPTX
PHP Basics
Saraswathi Murugan
 
PPT
slidesharenew1
truptitasol
 
PPT
My cool new Slideshow!
omprakash_bagrao_prdxn
 
KEY
Introduction to Perl Best Practices
José Castro
 
PPTX
Php server variables
JIGAR MAKHIJA
 
KEY
Intermediate PHP
Bradley Holt
 
Php Tutorials for Beginners
Vineet Kumar Saini
 
Data Types In PHP
Mark Niebergall
 
Introduction to Perl - Day 1
Dave Cross
 
LPW: Beginners Perl
Dave Cross
 
Improving Dev Assistant
Dave Cross
 
Cli the other SAPI confoo11
Combell NV
 
PHP Basic
Yoeung Vibol
 
Class 2 - Introduction to PHP
Ahmed Swilam
 
Php functions
JIGAR MAKHIJA
 
Class 3 - PHP Functions
Ahmed Swilam
 
Operators in PHP
Vineet Kumar Saini
 
Sorting arrays in PHP
Vineet Kumar Saini
 
Zend Certification Preparation Tutorial
Lorna Mitchell
 
PHP Basics
Saraswathi Murugan
 
slidesharenew1
truptitasol
 
My cool new Slideshow!
omprakash_bagrao_prdxn
 
Introduction to Perl Best Practices
José Castro
 
Php server variables
JIGAR MAKHIJA
 
Intermediate PHP
Bradley Holt
 

Viewers also liked (17)

PDF
Beginning web programming with PHP [PHP 101-02]
Mozammel Haque
 
PPTX
Day1
IRWAA LLC
 
PPT
SQL Devlopment for 10 ppt
Tanay Kishore Mishra
 
PPTX
PHP Basics
Henry Osborne
 
PPTX
Learning PHP Basics Part 2
ProdigyView
 
PPT
Functions in php
Mudasir Syed
 
PPTX
Arduino Foundations
John Breslin
 
PPT
Java script lecture 1
Mudasir Syed
 
PPT
Php i basic chapter 4
Muhamad Al Imran
 
PPT
Php basic for vit university
Mandakini Kumari
 
PPTX
functions of C++
tarandeep_kaur
 
PPT
Php Ppt
vsnmurthy
 
PPT
Introduction to PHP
Jussi Pohjolainen
 
PPT
PHP Project PPT
Pankil Agrawal
 
PPT
Php Presentation
Manish Bothra
 
PPTX
PHP Powerpoint -- Teach PHP with this
Ian Macali
 
PPT
Php mysql ppt
Karmatechnologies Pvt. Ltd.
 
Beginning web programming with PHP [PHP 101-02]
Mozammel Haque
 
Day1
IRWAA LLC
 
SQL Devlopment for 10 ppt
Tanay Kishore Mishra
 
PHP Basics
Henry Osborne
 
Learning PHP Basics Part 2
ProdigyView
 
Functions in php
Mudasir Syed
 
Arduino Foundations
John Breslin
 
Java script lecture 1
Mudasir Syed
 
Php i basic chapter 4
Muhamad Al Imran
 
Php basic for vit university
Mandakini Kumari
 
functions of C++
tarandeep_kaur
 
Php Ppt
vsnmurthy
 
Introduction to PHP
Jussi Pohjolainen
 
PHP Project PPT
Pankil Agrawal
 
Php Presentation
Manish Bothra
 
PHP Powerpoint -- Teach PHP with this
Ian Macali
 
Ad

Similar to Introduction to php (20)

PPTX
PHP Basics
Muthuganesh S
 
PPT
PHP - DataType,Variable,Constant,Operators,Array,Include and require
TheCreativedev Blog
 
KEY
PHP Underground Session 1: The Basics
Robin Hawkes
 
PPSX
DIWE - Fundamentals of PHP
Rasan Samarasinghe
 
PPTX
Introduction in php part 2
Bozhidar Boshnakov
 
PPTX
PHP PPT.pptxPHP PPT.pptxPHP PPT.pptxPHP n
ArtiRaju1
 
PPTX
Learn PHP Basics
McSoftsis
 
PPTX
PHP PPT FILE
AbhishekSharma2958
 
PDF
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
pkaviya
 
PDF
php AND MYSQL _ppt.pdf
SVN Polytechnic Kalan Sultanpur UP
 
PPTX
Unit IV.pptx Server side scripting PHP IT3401
lakshitakumar291
 
PPTX
PHPneweeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pptx
kamalsmail1
 
PPTX
Php & my sql
Norhisyam Dasuki
 
PPTX
Intro to php
NithyaNithyav
 
PPT
Php mysql
Alebachew Zewdu
 
PPT
PHP-01-Overview.pptfreeforeveryonecomenow
oliverrobertjames
 
PPTX
Php intro by sami kz
sami2244
 
PPTX
php programming.pptx
rani marri
 
PDF
Wt unit 4 server side technology-2
PUNE VIDYARTHI GRIHA'S COLLEGE OF ENGINEERING, NASHIK
 
PHP Basics
Muthuganesh S
 
PHP - DataType,Variable,Constant,Operators,Array,Include and require
TheCreativedev Blog
 
PHP Underground Session 1: The Basics
Robin Hawkes
 
DIWE - Fundamentals of PHP
Rasan Samarasinghe
 
Introduction in php part 2
Bozhidar Boshnakov
 
PHP PPT.pptxPHP PPT.pptxPHP PPT.pptxPHP n
ArtiRaju1
 
Learn PHP Basics
McSoftsis
 
PHP PPT FILE
AbhishekSharma2958
 
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
pkaviya
 
php AND MYSQL _ppt.pdf
SVN Polytechnic Kalan Sultanpur UP
 
Unit IV.pptx Server side scripting PHP IT3401
lakshitakumar291
 
PHPneweeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pptx
kamalsmail1
 
Php & my sql
Norhisyam Dasuki
 
Intro to php
NithyaNithyav
 
Php mysql
Alebachew Zewdu
 
PHP-01-Overview.pptfreeforeveryonecomenow
oliverrobertjames
 
Php intro by sami kz
sami2244
 
php programming.pptx
rani marri
 
Wt unit 4 server side technology-2
PUNE VIDYARTHI GRIHA'S COLLEGE OF ENGINEERING, NASHIK
 
Ad

More from sagaroceanic11 (20)

PPTX
Module 21 investigative reports
sagaroceanic11
 
PPTX
Module 20 mobile forensics
sagaroceanic11
 
PPTX
Module 19 tracking emails and investigating email crimes
sagaroceanic11
 
PPTX
Module 18 investigating web attacks
sagaroceanic11
 
PPTX
Module 17 investigating wireless attacks
sagaroceanic11
 
PPTX
Module 04 digital evidence
sagaroceanic11
 
PPTX
Module 03 searching and seizing computers
sagaroceanic11
 
PPTX
Module 01 computer forensics in todays world
sagaroceanic11
 
PPT
Virtualisation with v mware
sagaroceanic11
 
PPT
Virtualisation overview
sagaroceanic11
 
PPT
Virtualisation basics
sagaroceanic11
 
PPT
Introduction to virtualisation
sagaroceanic11
 
PPT
6 service operation
sagaroceanic11
 
PPT
5 service transition
sagaroceanic11
 
PPT
4 service design
sagaroceanic11
 
PPT
3 service strategy
sagaroceanic11
 
PPT
2 the service lifecycle
sagaroceanic11
 
PPT
1 introduction to itil v[1].3
sagaroceanic11
 
PPTX
Visual studio 2008 overview
sagaroceanic11
 
PPT
Vb introduction.
sagaroceanic11
 
Module 21 investigative reports
sagaroceanic11
 
Module 20 mobile forensics
sagaroceanic11
 
Module 19 tracking emails and investigating email crimes
sagaroceanic11
 
Module 18 investigating web attacks
sagaroceanic11
 
Module 17 investigating wireless attacks
sagaroceanic11
 
Module 04 digital evidence
sagaroceanic11
 
Module 03 searching and seizing computers
sagaroceanic11
 
Module 01 computer forensics in todays world
sagaroceanic11
 
Virtualisation with v mware
sagaroceanic11
 
Virtualisation overview
sagaroceanic11
 
Virtualisation basics
sagaroceanic11
 
Introduction to virtualisation
sagaroceanic11
 
6 service operation
sagaroceanic11
 
5 service transition
sagaroceanic11
 
4 service design
sagaroceanic11
 
3 service strategy
sagaroceanic11
 
2 the service lifecycle
sagaroceanic11
 
1 introduction to itil v[1].3
sagaroceanic11
 
Visual studio 2008 overview
sagaroceanic11
 
Vb introduction.
sagaroceanic11
 

Recently uploaded (20)

PDF
July Patch Tuesday
Ivanti
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
July Patch Tuesday
Ivanti
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 

Introduction to php

  • 2.  What is PHP?  PHP: Hypertext Preprocessor  A server-side, cross-platform HTML embedded scripting language  What do I need? 1. PHP-enabled web server 2. Text editor 3. A way to get PHP scripts from your machine to the server What is it? and What do I need?
  • 3. Basic Syntax  Escaping from HTML 1. <?php … ?> 2. <script language=“php”> … </script> 3. <? … ?> 4. <% … %>  For Example… <?php /* The world renowned first program. Programmer: Todd Barber Date: October 31, 2006 */ echo “Hello World!”; #displays on the screen // A simple program to illustrate just the basics ?>
  • 4. Types  Boolean -> TRUE or FALSE  Integer – number of the set Z = {..., -2, -1, 0, 1, 2, ...}  Float -> “decimal numbers”  String – series of characters  Single quote (‘) – doesn’t expand variables  Double quote (“) – does expand variables  Array – ordered map that assigns values to keys  NULL – represents that a variable has no value. NULL is the only possible value. See http://us2.php.net/manual/en/language.types.php for all possible types and more details.
  • 5. Variables  Variables are represented by a dollar sign followed by the name of the variable.  The variable name is case-sensitive.  Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. $this_is_a_valid_variable $this-one-is-not
  • 6. More Variables  Predefined Variables  $GLOBALS – all variables currently in the global scope  $_SERVER – all variables set by the web server  $_POST – variables provided by the HTTP POST  $_GET – variables provides by the HTTP GET (in the URL)  $_SESSION – variables currently registered with the script’s session
  • 7. More Variables - Scope  For the most part PHP variables have a single scope <?php $a=1; include ‘header_info.php’; ?> You can reference the $a variable in the file ‘header_info.php’ <?php $b=1; function footer_info () { echo $b; } footer_info(); ?> Nothing will output. The echo statement refers to the local scope of the variable (inside the function.) Global variables must be declared global inside the function.
  • 8.  Global Keyword <?php $a = 1; $b = 2; function Sum() {    global $a, $b;    $b = $a + $b; } Sum(); echo $b; ?> What is $b? More Variables – Scope  Passing Variables <?php $a = 1; $b = 2; function Sum ($a, $b) {    $b = $a + $b; } Sum($a, $b); echo $b; ?> What is $b?3 2
  • 9. More Variables - Variable This outputs hello world hello world  Variable names which can be set and used dynamically <?php $a = ‘hello’; $$a = ‘world’; echo “$a ${$a}”; echo “$a $hello”; ?>  Constants - value cannot change during the execution of the script A constant is case-sensitive by default. By convention, constant identifiers are always uppercase. <?php define (“PI”,”3.14159265358979323846”); echo PI; ?> This outputs 3.14159265358979323846
  • 10. Operator Precedence Associativity Operators Additional Information non-associative new new left [ array() non-associative ++ -- increment/decrement non-associative ~ - (int) (float) (string) (array) (object) @ types non-associative instanceof types right ! logical left * / % arithmetic left + - . arithmetic and string left << >> bitwise non-associative < <= > >= comparison non-associative == != === !== comparison left & bitwise and references left ^ bitwise left | bitwise left && logical left || logical left ? : ternary right = += -= *= /= .= %= &= |= ^= <<= >>= assignment left and logical left xor logical left or logical left , (comma) many uses
  • 11. Operators  Arithmetic  -$a is negation  $a + $b is addition  $a - $b is subtraction  $a * $b is multiplication  $a / $b is division (always returns float)  $a % $b is modulus  Assignment  $a = 5 is NOT “equal to.” It is “gets set to”  Combined operators  +=, -=, *=, /=, %=, .=
  • 12. More Operators  Comparison  $a == $b is equal  $a === $b is identical (includes type)  $a != $b is not equal  $a <> $b is not equal  $a !== $b is not identical  $a < $b is less than  $a > $b is greater than  $a <= $b is less than or equal to  $a >= $b is greater than or equal to  Conditional  ?: is ternary – expr1 ? expr2 : expr3  If expr1 is TRUE, the expression evaluates to expr2  If expr1 is FALSE, the expression evaluates to expr3  Shorthand for single expression if statements
  • 13. Comparing Different Types Operand 1 Operand 2 Result Null or String String Convert NULL to “”, numerical or lexical comparison Bool or null Anything Convert to bool, FALSE<TRUE String or number (or resource) String or number (or resource) Translate strings (and resources) to numbers, usual math Array Array Array with fewer numbers is smaller If key from operand 1 is not found in operand 2 then arrays are incomparable Compare value by value Array Anything Array is always greater
  • 14. More Operators  Error Control  @ - suppresses any errors that may be generated  Works on expressions – if you can take a value of it then you can use it.  Strings  Concatenation (.)  Concatenating Assignment (.=) <$php @include “header_info.php”; // suppress error if file doesn’t exist $a = “Hello”; // assign value Hello to $a $b = $a . “ World”; // $b evaluates to “Hello World” $a .= “ World”; // $a evaluates to “Hello World” ?>
  • 15. More Operators  Increment and Decrement  ++$a – Preincrement – Increment by one, then return $a  $a++ - Postincrement – Return $a, then increment by one  --$a – Predecrement - Decrement by one, then return $a  $a-- - Postdecrement - Return $a, then decrement by one <?php $a = 5; echo "Should be 5: " . $a++ . "<br />n"; echo "Should be 6: " . $a . "<br />n"; $a = 5; echo "Should be 6: " . ++$a . "<br />n"; echo "Should be 6: " . $a . "<br />n"; $a = 5; echo "Should be 5: " . $a-- . "<br />n"; echo "Should be 4: " . $a . "<br />n"; $a = 5; echo "Should be 4: " . --$a . "<br />n"; echo "Should be 4: " . $a . "<br />n"; ?>
  • 16. More Operators  Logical  $a and $b is AND – TRUE if both are TRUE  $a or $b is OR – TRUE if either is TRUE  $a xor $b is XOR – TRUE if either is TRUE, but not both  ! $a is NOT – TRUE is $a is not TRUE  $a && $b is AND – TRUE if both are TRUE  $a || $b is OR – TRUE if either is TRUE
  • 17. More Operators  Array  $a + $b is union – appends the right side to the left side and doesn’t overwrite variables  $a == $b is Equal – TRUE is they have the same key/value pairs  $a === $b is Identity – TRUE if they have the same key/value pairs in the same order and of the same types  $a != $b is Inequality – TRUE if $a is not equal to $b  $a <> $b – Same as Inequality above  $a !== $b is Non-identity – TRUE if $a not identical to $b
  • 18. Array Comparisons <?php $a = array ("a" => "apple", "b" => "banana"); $b = array ("a" => "pear", "b" => "strawberry", "c" => "cherry"); $c = $a + $b; // Union of $a and $b echo "Union of $a and $b: n"; var_dump ($c); $c = $b + $a; // Union of $b and $a echo "Union of $b and $a: n"; var_dump ($c); ?> <?php $a = array ("apple", "banana"); $b = array (1 => "banana", "0" => "apple"); var_dump($a == $b); // bool(true) var_dump($a === $b); // bool(false) ?> <?php $a = array(1,2,3); $b = array(1,7,8,9,10); $c = $a + $b; // Union of $a and $b echo "Union of $a and $b: n"; //echo $c print_r($c); ?>
  • 19. Control Structures -- if  if – evaluates an expression to its Boolean value – if the expression evaluates to TRUE then the conditional code is executed; otherwise it is ignored <?php $a = 5; if ($a = 6) echo “Hello World”; ?> <?php $a = 5; if ($a == 6) { echo “Hello World”; $b = 7; } ?> if block is executed and displays Hello World – note the assignment operator in the expression if block is ignored and nothing is done – note the comparison operator in the expression
  • 20. Control Structures - else  else – extension of if statement that executes code when the if expression evaluates to FALSE <?php $a=3; $b=4; if ($a < $b) echo “Variable A is less than B”; else echo “Variable B is less than A”; ?>
  • 21. Control Structures - elseif  elseif – another extension of if <?php $a=3; $b=4; if ($a < $b) { echo “Variable A is less than B”; } elseif ($a == $b) { echo “Variable A has the same value as B”; } else { echo “Variable B is less than A”; } ?>
  • 22. Control Structures - while  while – execute the statements as long as the expression evaluates to TRUE <?php $a=3; while ($a==4) { echo “The value of a is ”.$a; } ?> <?php $i = 1; while ($i <=10) { echo “i is set to “.$i++; } ?> <?php $j = 0; while ($j <=10) { echo “j is set to “.++$j; } ?> Counts to 10 Counts to 11
  • 23. Control Structures – do-while  do-while – same as while except the code chunk is guaranteed to execute at least once <?php $a=3; while ($a==4) { echo “The value of a is ”.$a; } ?> <?php $a=3; do { echo “The value of a is ”.$a; } while ($a==4); ?> Evaluates to FALSE and while loop statement(s) are never executed while expression isn’t evaluated until after at least one iteration of the do-while statements. This echoes “The value of a is 3” to the screen.
  • 24.  for (expr1; expr2; expr3) { statement(s); }  expr1 is evaluated unconditionally  expr2 is evaluated at the beginning of each iteration; continues on TRUE  expr3 is evaluated at end of iteration <?php for($i=1;$i<=10;$i++) { echo $i.”<br />”; } ?> Control Structures - for <?php $i=1; while ($i<=10) { echo $i.”<br />”; $i++; } ?> functions the same as
  • 25. Control Structures - switch  switch – the same as a series of if… elseif statements <?php $i = 2; switch ($i) { case 0: echo $i; break; case 1: echo $i; break; case 2: echo $i; break; default: echo $i; break; ?> <?php $i=2; if ($i==0) echo $i; elseif ($i==1) echo $i; elseif ($i==2) echo $i; ?>
  • 26. More switch <?php $i = 4; switch ($i) { case 0: case 1: case 2: case 3: echo “I is less than 4”; break; case 4: echo “I is equal to 4”; break; default: echo “I is greater than 4”; break; ?> Combining cases Omitting Breaks <?php $i = 4; switch ($i) { case 0: case 1: case 2: case 3: echo “I is less than 4”; case 4: echo “I is equal to 4”; default: echo “I is greater than 4”; ?>
  • 27. Control Structures – require and include  require – includes and evaluates a specific file; failure results in a Fatal Error <?php require ‘header.php’; ?>  include - includes and evaluates a specific file; failure results in a Warning <?php include ‘header.php’; ?>
  • 28. Control Structures – require_once and include_once  require_once – same as require except if the file has already been included, it will not be included again <?php require_once ‘header.php’; ?>  include_once - same as include except if the file has already been included, it will not be included again <?php include_once ‘header.php’; ?>  Use when the same file might be included and evaluated more than once during a particular execution of a script, and you want to be sure that it is included exactly once to avoid problems with function redefinitions, variable value reassignments, etc.
  • 29. User-defined functions  Any valid PHP code can appear inside a function  Names follow the same rules as other labels in PHP  All functions in PHP have the global scope <?php function my_first_function ($arg1, $arg2, … ,$arg_n) //arguments aren’t mandatory { echo “PHP code goes here.”; return $return_value; //only used when something is returned } my_first_function(); // example of function call with no arguments my_first_function(1,2); // function with static arguments my_first_function($variable); // function with a variable as an argument }
  • 30. Functions and Arguments  Information can be passed to the function by the argument list, a comma separated value list of expressions  Arguments may be passed by:  Value (default)  Reference  Default argument list  Variable-length argument lists are supported only in PHP4 and greater
  • 31.  Passing by value examples <?php ######### NUMBERS ########### function add_numbers($value1, $value2) { echo “The numbers $value1 + $value2 equal “. $value1+$value2; } add_numbers(3,4); #adding 2 static numbers add_numbers($age1,$age2); #adding 2 ages given by a user from a form ######### STRING ########### function display_instructions() { echo “Text goes here. Great for text that changes often and is used many places.”; } display_instructions(); ######### ARRAYS ########### function add_array_values($func_array) { echo “The numbers $func_array[0] + $func_array[1] = “. $func_array[0] + $func_array[1]; } $main_program_array = array(2,3); add_array_values($array); ?> Function Examples
  • 32. More Function Examples  Passing by Reference and Default Argument List <?php $dbc = OCILogon("A201","$password","$database"); function which_name($identifier,&$conn,$count="1") { //global $dbc; //$conn =& $GLOBALS['dbc']; if ($identifier == "last") $sql = "select t100_first_name, t100_last_name from a201t100 where t100_last_name like 'Q%'"; else $sql = "select t100_first_name, t100_last_name from a201t100 where t100_first_name like 'Q%'"; $stmt = OCIParse($conn,$sql); OCIExecute($stmt); while ($row=OCI_fetch_row($stmt)) { echo "<tr><td>".$count++."</td><td>$row[0] $row[1]</td></tr>";} OCIFreeStatement($stmt); OCILogoff($conn); } echo "<table border='1' cellpadding='3’ width='30%'><tr><td>Count</td><td>Name</td></tr>n“; which_name("first",$dbc); echo"</table>"; ?>
  • 33. More Function Examples  Passing by reference notes  Used when you want to change the value of the object you passed in  I don’t know of a realistic use except when using classes. Can be used to return more than one value from a function (more on that later).  Passing by default argument list  Any defaults must be on the right side of the argument list  Must be a constant expression  Uses default unless specified otherwise
  • 34. Variable length argument lists  Uses the func_num_args(), func_get_arg(), and func_get_args() functions. <?php function math() { $numargs = func_num_args(); echo "Number of arguments: $numargsn<br />"; echo "The second side is: " . func_get_arg(1) . "<br />n"; $arg_list = func_get_args(); for ($i = 1; $i < $numargs +1; $i++) { echo "Side $i is: " . $arg_list[$i -1] . "<br />n"; $area += $arg_list[$i -1]; } return $area; } $area_of_object = math(3,4,5,6,1); // Prints 'Number of arguments: 5' echo "The area of the object is $area_of_object"; ?>
  • 35. Returning values  A value can be returned by using the optional return() statement  Function execution is ended immediately and control passed back to the line that called the function  Returns a single variable  could be a single number or string  could be an array with several values
  • 36. return() examples  Single number <?php function square($num) { return $num * $num; } echo square(5); //displays 25 ?>  Single String <?php function display($string1, $string2=“World”) { return $string1 . $string2; } echo display(“Hello”,” Todd”);// displays Hello Todd echo display(“Hello ”);//displays Hello World ?>
  • 37. More return() examples  Array – use the built-in list() function to access the array elements <?php function math($num1, $num2) { $div = $num1 / $num2; $mutli = $num1 * $num2; $add = $num1 + $num2; $sub = $num1 - $num2; return array($div, $mutli, $add, $sub); } list ($d, $m, $a, $s) = math("6","2"); echo "Division: $d"; echo "<br />Multiplication:". $m; echo "<br />Addition: $a"; echo "<br />Subtraction: $s"; ?>
  • 38. More return() examples  Passing by reference to return multiple values <?php function split_string($input, $cut_point, &$first, &$second) { if(strlen($input) < $cut_point) return false; $first = substr($input, 0, $cut_point); $second = substr($input, $cut_point); return true; } $input_text = "abcdefghijklmnopqrstuvwxyz"; if(split_string($input_text, 30, $first_half, $second_half) != true) { echo "Could not split input, cut-point is entire string!<br />"; } if(split_string($input_text, 15, $first_half, $second_half) == true) { echo "First segment of input: $first_half<BR>"; echo "Second segment of input: $second_half<BR>"; } ?>
  • 39. Oh, by the way…  You can also return by reference. See http://www.php.net/manual/en/language.references.return.php for a simple example and some explanation  Remember variable variables? (Slide 9) PHP also allows for variable functions <?php function display() { echo “In a function…”; } $variable_function = “display”; $variable_function(); ?>  Built in Functions - http://www.php.net/manual/en/funcref.php  Sessions - http://www.php.net/manual/en/ref.session.php  Oracle - http://www.php.net/manual/en/ref.oci8.php  Strings - http://www.php.net/manual/en/ref.strings.php  Date & Time - http://www.php.net/manual/en/ref.datetime.php  Arrays - http://www.php.net/manual/en/ref.array.php  File System - http://www.php.net/manual/en/ref.filesystem.php  PDF - http://www.php.net/manual/en/ref.filesystem.php

Editor's Notes

  • #4: Since everything is HTML embedded, must have a way of telling the server what is PHP and what is HTML. 1 and 2 are both always available, however number 1 is used most often. 3 and 4 are only available if enabled by the server administrator. Closing tag is optional. Lines of code must end in PHP.
  • #8: Don’t add scope until talking about functions b/c examples don’t make sense until then.
  • #9: Don’t add scope until talking about functions b/c examples don’t make sense until then.
  • #10: Form with 8 names and name1, name2, etc… and it gets submitted For loop 8 times: $temp_name = name$i echo $$temp_name // holds the actual value from the form. End of for
  • #14: String to number- if string starts with number or sign then it gets that value, if it starts with anything else it gets evaluated to zero.
  • #17: Two different variations of AND and OR because they have different precedence
  • #20: Point out that on single command if statements the curly braces are optional.
  • #25: for ($i=1;$i&lt;=10;print $i++) More on for the expressions can be blank or have multiple expressions in them. Go to php.net for more