0% found this document useful (0 votes)
64 views28 pages

Lec 5.1-PHP

PHP is a server-side scripting language used for web development. It allows code to be embedded within HTML pages and dynamically generate content. Some key PHP concepts include: - PHP code is executed on the server and outputs the results within HTML pages. - Variables, operators, conditionals like if/else statements, loops, and functions provide basic programming logic. - Arrays and constants can store multiple values and identifiers. - Built-in functions perform tasks like outputting dates and times. - Forms, cookies, files handling allow PHP to interact with user input and store/retrieve data.

Uploaded by

Binh Pham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views28 pages

Lec 5.1-PHP

PHP is a server-side scripting language used for web development. It allows code to be embedded within HTML pages and dynamically generate content. Some key PHP concepts include: - PHP code is executed on the server and outputs the results within HTML pages. - Variables, operators, conditionals like if/else statements, loops, and functions provide basic programming logic. - Arrays and constants can store multiple values and identifiers. - Built-in functions perform tasks like outputting dates and times. - Forms, cookies, files handling allow PHP to interact with user input and store/retrieve data.

Uploaded by

Binh Pham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

PHP

1
Content
PHP Basics:
▪ Introduction to PHP
• a PHP file, PHP workings, running PHP.
▪ Basic PHP syntax
• variables, operators, if...else...and switch, while, do while, and for.
▪ Some useful PHP functions
▪ How to work with
• HTML forms, cookies, files, time and date.
▪ How to create a basic checker for user-entered data

2
Introduction to PHP

• Server-side programming tries to avoid the drawbacks


▪ Code is embedded in HTML pages, and evaluated on the server while the pages are being served. Add
dynamically generated content to an existing HTML page.
• Active Server Pages (ASP, Microsoft) : The ASP engine is integrated into the web server so it does
not require an additional process. It allows programmers to mix code within HTML pages instead of
writing separate programs. (Drawback(?) Must be run on a server using Microsoft server software.)
• Java Servlets (Sun): As CGI scripts, they are code that creates documents. These must be compiled
as classes which are dynamically loaded by the web server when they are run.
• Java Server Pages (JSP): Like ASP, another technology that allows developers to embed Java in
web pages.

3
Introduction to PHP
• Developed in 1995 by Rasmus Lerdorf (member of the Apache Group)
▪ originally designed as a tool for tracking visitors at Lerdorf's Web site
▪ within 2 years, widely used in conjunction with the Apache server
▪ free, open-source
▪ now fully integrated to work with mySQL databases
• PHP is similar to JavaScript, only it’s a server-side language
▪ PHP code is embedded in HTML using tags
▪ when a page request arrives, the server recognizes PHP content via the file extension (.php or .phtml)
▪ the server executes the PHP code, substitutes output into the HTML page
▪ the resulting page is then downloaded to the client
▪ user never sees the PHP code, only the output in the page
• The acronym PHP means (in a slightly recursive definition)
▪ PHP: Hypertext Preprocessor

4
Basic PHP syntax
<html>
<!-- hello.php CS443 -->
<head><title>Hello World</title></head> A PHP scripting block always starts with <?php
<body> and ends with ?>. A PHP scripting block can be
<p>This is going to be ignored by the PHP interpreter.</p>
placed (almost) anywhere in an HTML document.
<?php echo '<p>While this is going to be parsed.</p>';
?>
print and echo
<p>This will also be ignored by the PHP preprocessor.</p>
<?php print('<p>Hello and welcome to <i>my</i> for output
page!</p>');
?>
<?php a semicolon (;)
//This is a comment at the end of each
/* statement
This is
a comment
block
*/ // for a single-line comment
?>
</body> /* and */ for a large
</html> comment block.
view the output page

The server executes the print and echo statements, substitutes output.
Scalars
<html><head></head>
<!-- scalars.php CS443 -->
<body> <p>
<?php
$foo = true; if ($foo) echo "It is TRUE! <br /> \n";
$txt='1234'; echo "$txt <br /> \n"; All variables in PHP start with a $ sign
$a = 1234; echo "$a <br /> \n";
$a = -123; symbol. A variable's type is
echo "$a <br /> \n";
$a = 1.234;
determined by the context in which
echo "$a <br /> \n"; that variable is used (i.e. there is no
$a = 1.2e3;
echo "$a <br /> \n"; strong-typing in PHP).
$a = 7E-10;
echo "$a <br /> \n";
echo 'Arnold once said: "I\'ll be back"', "<br /> \n";
$beer = 'Heineken'; Four scalar types:
echo "$beer's taste is great <br /> \n";
$str = <<<EOD boolean
Example of string
spanning multiple lines
true or false
using “heredoc” syntax. integer,
EOD;
echo $str; float,
?>
</p> floating point numbers
</body>
</html>
string
single quoted
view the output page double quoted
Arrays
<?php array() = creates arrays
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar key = either an integer or a string.
echo $arr[12]; // 1
?> value = any PHP type.
if no key given (as in example), the PHP
<?php
array(5 => 43, 32, 56, "b" => 12);
interpreter uses (maximum of the integer
array(5 => 43, 6 => 32, 7 => 56, "b" => 12); indices + 1).
?> if an existing key, its value will be overwritten.
<?php can set values in an array
$arr = array(5 => 1, 12 => 2);
foreach ($arr as $key => $value) { echo $key, '=>',
$value); } unset() removes a
$arr[] = 56; // the same as $arr[13] = 56; key/value pair
$arr["x"] = 42; // adds a new element
unset($arr[5]); // removes the element array_values()
unset($arr); // deletes the whole array makes reindexing effect
$a = array(1 => 'one', 2 => 'two', 3 => 'three'); (indexing numerically)
unset($a[2]);
$b = array_values($a);
?>
view the output page *Find more on arrays
Constants
A constant is an identifier (name) for a simple value. A constant is case-sensitive by default.
By convention, constant identifiers are always uppercase.
<?php

// Valid constant names


define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");
You can access
// Invalid constant names (they shouldn’t start constants anywhere in
// with a number!) your script without
define("2FOO", "something"); regard to scope.
// This is valid, but should be avoided:
// PHP may one day provide a "magical" constant
// that will break your script

define("__FOO__", "something");

?>
Operators
Example Is the same as
• Arithmetic Operators: +, -, *,/ , %, ++, -- x+=y x=x+y
x-=y x=x-y
• Assignment Operators: =, +=, -=, *=, /=, %= x*=y
x/=y
x=x*y
x=x/y
x%=y x=x%y

• Comparison Operators: ==, !=, >, <, >=, <=


• Logical Operators: &&, ||, !
• String Operators: . and .= (for string concatenation)
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"

$a = "Hello ";
$a .= "World!";
Conditionals: if else
Can execute a set of code depending on a condition
<html><head></head>
<!-- if-cond.php CS443 -->
if (condition)
<body> code to be executed if condition
is true;
<?php
$d=date("D"); else
echo $d, "<br/>"; code to be executed if condition
if ($d=="Fri")
echo "Have a nice weekend! <br/>";
is false;
else
echo "Have a nice day! <br/>";

$x=10;
if ($x==10) date() is a built-in PHP function
{ that can be called with many
echo "Hello<br />"; different parameters to return the
echo "Good morning<br />"; date (and/or local time) in
}
various formats
?>

</body> In this case we get a three letter


</html> view the output page string for the day of the week.
Conditionals: switch
<html><head></head>
<body>
<!–- switch-cond.php CS443 -->
<?php
Can select one of many sets of lines to execute
$x = rand(1,5); // random integer
echo "x = $x <br/><br/>";
switch ($x) switch (expression)
{ {
case 1: case label1:
echo "Number 1"; code to be executed if expression = label1;
break; break;
case 2: case label2:
echo "Number 2"; code to be executed if expression = label2;
break; break;
case 3: default:
echo "Number 3"; code to be executed
break; if expression is different
default:
from both label1 and label2;
echo "No number between 1 and 3";
break;
break;
}
}
?>
</body>
</html> view the output page
Looping: while and do-while

Can loop depending on a condition


<html><head></head> <html><head></head>
<body> <body>

<?php <?php
$i=1; $i=0;
while($i <= 5) do
{ {
echo "The number is $i <br />"; $i++;
$i++; echo "The number is $i <br />";
} }
?> while($i <= 10);
?>
</body>
</body>
</html> view the output page </html> view the output page
loops through a block of code if, and loops through a block of code once,
as long as, a specified condition is and then repeats the loop as long
true as a special condition is true (so
will always execute at least once)
Looping: for and foreach
Can loop depending on a "counter"
<?php <?php
for ($i=1; $i<=5; $i++) $a_array = array(1, 2, 3, 4);
{ foreach ($a_array as $value)
echo "Hello World!<br />"; {
} $value = $value * 2;
?> echo "$value <br/> \n";
}
?>
loops through a block of code a
specified number of times
<?php
$a_array=array("a","b","c");
foreach ($a_array as $key => $value)
{
echo $key . " = " . $value . "\n";
}
view the output page ?>

loops through a block of code for each


element in an array
User Defined Functions
Can define a function using syntax such as the following:
<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{ Can also define conditional
echo "Example function.\n"; functions, functions within functions,
}
return $retval;
and recursive functions.
?>

Can return a value of any type <?php


<?php function small_numbers()
function square($num) {
{ return array (0, 1, 2);
return $num * $num; }
} list ($zero, $one, $two) = small_numbers();
echo square(4); echo $zero, $one, $two;
?> ?>

<?php
function takes_array($input)
{
echo "$input[0] + $input[1] = ", $input[0]+$input[1];
}
takes_array(array(1,2));
?> view the output page
Variable Scope
The scope of a variable is the context within which it is defined.
<?php
$a = 1; /* limited variable scope */
function Test()
{
echo $a; The scope is local within functions,
/* reference to local scope variable */ and hence the value of $a is
}
Test();
undefined in the “echo” statement.
?>

<?php <?php
$a = 1; function Test()
$b = 2; global { static
function Sum() static $a = 0;
{ refers to its echo $a; does not lose
global $a, $b; global $a++; its value.
$b = $a + $b; }
}
version. Test1();
Sum(); Test1();
echo $b; Test1();
?> view the output page ?>
Including Files
The include() statement includes and evaluates the specified file.
// vars.php <?php
<?php
function foo()
$color = 'green'; {
$fruit = 'apple'; global $color;

?> include ('vars.php‘);

// test.php echo "A $color $fruit";


<?php }

echo "A $color $fruit"; // A /* vars.php is in the scope of foo() so *


* $fruit is NOT available outside of this *
include 'vars.php'; * scope. $color is because we declared it *
* as global. */
echo "A $color $fruit"; // A green apple
foo(); // A green apple
?> echo "A $color $fruit"; // A green

view the output page ?>


view the output page

*The scope of variables in “included” files depends on where the “include” file is added!
You can use the include_once, require, and require_once statements in similar ways.
PHP Information
The phpinfo() function is used to output PHP information about the version installed on the server, parameters

selected when installed, etc.


INFO_GENERAL The configuration line,
<html><head></head> php.ini location,
<!– info.php CS443 build date,
<body> Web Server,
<?php System and more
// Show all PHP information
phpinfo(); INFO_CREDITS PHP 4 credits
?> INFO_CONFIGURATION Local and master values
<?php for php directives
// Show only the general information
phpinfo(INFO_GENERAL); INFO_MODULES Loaded modules
?> INFO_ENVIRONMENT Environment variable
</body> information
</html> INFO_VARIABLES All predefined variables
from EGPCS

view the output page INFO_LICENSE PHP license information

INFO_ALL Shows all of the above (default)


Server Variables
The $_SERVER array variable is a reserved variable that contains all server information.
<html><head></head>
<body>

<?php
echo "Referer: " . $_SERVER["HTTP_REFERER"] . "<br />";
echo "Browser: " . $_SERVER["HTTP_USER_AGENT"] . "<br />";
echo "User's IP address: " . $_SERVER["REMOTE_ADDR"];
?>

<?php
echo "<br/><br/><br/>";
echo "<h2>All information</h2>";
foreach ($_SERVER as $key => $value)
{
echo $key . " = " . $value . "<br/>"; $_SERVER info
} on php.net
?>

</body>
</html>
view the output page

The $_SERVER is a super global variable, i.e. it's available in all scopes of a PHP script.
File Open
The fopen("file_name","mode") function is used to open files in PHP.

r Read only. r+ Read/Write.


w Write only. w+ Read/Write.
a Append. a+ Read/Append.
x Create and open for write only. x+ Create and open for read/write.

<?php For w, and a, if no file exists, it tries to create it


$fh=fopen("welcome.txt","r"); (use with caution, i.e. check that this is the case,
?> otherwise you’ll overwrite an existing file).
For x if a file exists, this function fails (and
<?php returns 0).
if
( !($fh=fopen("welcome.txt","r")) )
exit("Unable to open file!"); If the fopen() function is unable to open
?> the specified file, it returns 0 (false).
File Workings

<?php <?php fclose() closes a file.


$myFile = "welcome.txt"; $myFile = "welcome.txt";
if (!($fh=fopen($myFile,'r'))) $fh = fopen($myFile, 'r'); fgetc() reads a single character
exit("Unable to open file."); $theData = fgets($fh);
while (!feof($fh)) fclose($fh); fwrite(), fputs ()
{ echo $theData;
$x=fgetc($fh); ?> view the output page writes a string with and without \n
echo $x;
}
fclose($fh); <?php feof() determines if the end is
?> view the output page $myFile = "testFile.txt";
true.
$fh = fopen($myFile, 'a') or
die("can't open file");
<?php $stringData = "New Stuff 1\n"; fgets() reads a line of data
$lines = file('welcome.txt'); fwrite($fh, $stringData);
foreach ($lines as $l_num => $line) $stringData = "New Stuff 2\n";
file() reads entire file into an
{ fwrite($fh, $stringData); array
echo "Line #{$l_num}:“ fclose($fh);
.$line.”<br/>”;
}
?> view the output page
?> view the output page
Form Handling
Any form element is automatically available via one of the built-in PHP variables (provided
that HTML element has a “name” defined with it).
<html>
<-- form.html CS443 -->
<body>
<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" /> <br/>
Enter your age: <input type="text" name="age" /> <br/>
<input type="submit" /> <input type="reset" />
</form>
</body>
</html>

<html> $_POST
<!–- welcome.php COMP 519 -->
<body> contains all POST data.
Welcome <?php echo $_POST["name"]."."; ?><br />
You are <?php echo $_POST["age"]; ?> years old!
$_GET
contains all GET data.
</body>
</html>

view the output page


Cookie Workings
setcookie(name,value,expire,path,domain) creates cookies.
<?php
setcookie("uname", $_POST["name"], time()+36000);
?>
<html> NOTE:
<body> setcookie() must appear
<p>
Dear <?php echo $_POST["name"] ?>, a cookie was set on this
BEFORE <html> (or
page! The cookie will be active when the client has sent the any output) as it’s part
cookie back to the server. of the header
</p> information sent with
</body> the page.
</html>
view the output page
<html>
<body>
$_COOKIE
<?php contains all COOKIE data.
if ( isset($_COOKIE["uname"]) )
echo "Welcome " . $_COOKIE["uname"] . "!<br />"; isset()
else
echo "You are not logged in!<br />"; finds out if a cookie is set
?>
</body> use the cookie name as a
</html> view the output page variable
Getting Time and Date

date() and time () formats a time or a date.


<?php date() returns a string
//Prints something like: Monday formatted according to the
echo date("l");
specified format.
//Like: Monday 15th of January 2003 05:51:38 AM
echo date("l jS \of F Y h:i:s A");

//Like: Monday the 15th


echo date("l \\t\h\e jS");
?> view the output page

<?php time() returns


$nextWeek = time() + (7 * 24 * 60 * 60); current Unix
// 7 days; 24 hours; 60 mins; 60secs
echo 'Now: '. date('Y-m-d') ."\n";
timestamp
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
?>

view the output page


Required Fields in User-Entered Data
A multipurpose script which asks users for some basic contact information and then checks to
see that the required fields have been entered.
<html>
<!-- form_checker.php CS443 -->
<head>
<title>PHP Form example</title>
</head>
<body>
<?php
/*declare some functions*/

Print Function
function print_form($f_name, $l_name, $email, $os)
{
?>

<form action="form_checker.php" method="post">


First Name: <input type="text" name="f_name" value="<?php echo $f_name?>" /> <br/>
Last Name <b>*</b>:<input type="text" name="l_name" value="<?php echo $l_name?>" /> <br/>
Email Address <b>*</b>:<input type="text" name="email" value="<?php echo $email?>" /> <br/>
Operating System: <input type="text" name="os" value="<?php echo $os?>" /> <br/><br/>
<input type="submit" name="submit" value="Submit" /> <input type="reset" />
</form>

<?php
} //** end of "print_form" function
Check and Confirm Functions
function check_form($f_name, $l_name, $email, $os)
{
if (!$l_name||!$email){
echo "<h3>You are missing some required fields!</h3>";
print_form($f_name, $l_name, $email, $os);
}
else{
confirm_form($f_name, $l_name, $email, $os);
}
} //** end of "check_form" function

function confirm_form($f_name, $l_name, $email, $os)


{
?>

<h2>Thanks! Below is the information you have sent to us.</h2>


<h3>Contact Info</h3>

<?php
echo "Name: $f_name $l_name <br/>";
echo "Email: $email <br/>";
echo "OS: $os";
} //** end of "confirm_form" function
Main Program

/*Main Program*/

if (!$_POST["submit"])
{
?>

<h3>Please enter your information</h3>


<p>Fields with a "<b>*</b>" are required.</p>

<?php
print_form("","","","");
}
else{
check_form($_POST["f_name"],$_POST["l_name"],$_POST["email"],$_POST["os"]);
}
?>

</body>
</html> view the output page
Learning Outcomes
In the lecture you have learned
▪ What is PHP and what are some of its workings.
▪ Basic PHP syntax
• variables, operators, if...else...and switch, while, do while, and for.
▪ Some useful PHP functions
▪ How to work with
• HTML forms, cookies, files, time and date.
▪ How to create a basic checker for user-entered data.
28

You might also like