Go to link & download:-Php_Quick_Guide_Learning DOC
Go to link & download:-Beginning_PHP_53_by_Matt_Doyle
PHP INTRODUCTION
PHP started out as a small open source project that evolved
as more and more people found out how useful it was. Rasmus Lerdorf unleashed
the first version of PHP way back in 1994.
PHP is a recursive acronym for "PHP: Hypertext
Preprocessor".
PHP is a server side scripting language that is embedded in
HTML. It is used to manage dynamic content, databases, session tracking, even
build entire e-commerce sites.
It is integrated with a number of popular databases,
including MySQL, PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL
Server.
PHP is pleasingly zippy in its execution, especially when
compiled as an Apache module on the Unix side. The MySQL server, once started, executes
even very complex queries with huge result sets in record-setting time.
PHP supports a large number of major protocols such as POP3,
IMAP, and LDAP. PHP4 added support for Java and distributed object
architectures (COM and CORBA), making n-tier development a possibility for the
first time.
PHP is forgiving: PHP language tries to be as forgiving as
possible.
PHP Syntax is C-Like.
Common uses of PHP
PHP performs system functions, i.e. from files on a system
it can create, open, read, write, and close them.
PHP can handle forms, i.e. gather data from files, save data
to a file, thru email you can send data, return data to the user.
You add, delete, modify elements within your database thru
PHP.
Access cookies variables and set cookies.
Using PHP, you can restrict users to access some pages of
your website.
It can encrypt data.
Characteristics of PHP
Five important characteristics make PHP's practical nature
possible −
Simplicity
Efficiency
Security
Flexibility
Familiarity
"Hello World" Script in PHP
To get a feel for PHP, first start with simple PHP scripts.
Since "Hello, World!" is an essential example, first we will create a
friendly little "Hello, World!" script.
As mentioned earlier, PHP is embedded in HTML. That means
that in amongst your normal HTML (or XHTML if you're cutting-edge) you'll have
PHP statements like this −
<html>
<head>
<title>Hello World</title>
</head>
<body>
<?php echo "Hello,
World!";?>
</body>
</html>
It will produce following result −
Hello, World!
If you examine the HTML output of the above example, you'll
notice that the PHP code is not present in the file sent from the server to
your Web browser. All of the PHP present in the Web page is processed and
stripped from the page; the only thing returned to the client from the Web
server is pure HTML output.
All PHP code must be included inside one of the three
special markup tags ate are recognised by the PHP Parser.
<?php
PHP code goes here ?>
<? PHP code goes here ?>
<script language="php"> PHP code goes here </script>
A most common tag is the <?php...?> and we will also
use the same tag in our tutorial.
From the next chapter we will start with PHP Environment
Setup on your machine and then we will dig out almost all concepts related to
PHP to make you comfortable with the PHP language.
The main way to store information in the middle of a PHP
program is by using a variable.
Here are the most important things to know about variables
in PHP.
All variables in PHP are denoted with a leading dollar sign
($).
The value of a variable is the value of its most recent
assignment.
Variables are assigned with the = operator, with the
variable on the left-hand side and the expression to be evaluated on the right.
Variables can, but do not need, to be declared before
assignment.
Variables in PHP do not have intrinsic types - a variable
does not know in advance whether it will be used to store a number or a string
of characters.
Variables used before they are assigned have default values.
PHP does a good job of automatically converting types from
one to another when necessary.
PHP variables are Perl-like.
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 'PHP
supports string operations.'
Arrays − are named and indexed collections of other
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).
The first five are simple types, and the next two (arrays
and objects) are compound - the compound types can package up other arbitrary
values of arbitrary type, whereas the simple types cannot.
We will explain only simple data type in this chapters.
Array and Objects will be explained separately.
Integers
They are whole numbers, without a decimal point, like 4195.
They are the simplest type .they correspond to simple whole numbers, both
positive and negative. Integers can be assigned to variables, or they can be
used in expressions, like so −
$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, and hexadecimals have a leading 0x.
For most common platforms, the largest integer is (2**31 .
1) (or 2,147,483,647), and the smallest (most negative) integer is . (2**31 .
1) (or .2,147,483,647).
Doubles
They like 3.14159 or 49.1. By default, doubles print with
the minimum number of decimal places needed. For example, the code −
<?php
$many = 2.2888800;
$many_2 = 2.2111200;
$few = $many + $many_2;
print("$many + $many_2 = $few <br>");
?>
It produces the following browser output −
2.28888 + 2.21112 = 4.5
Boolean
They have only two possible values either true or false. PHP
provides a couple of constants especially for use as Booleans: TRUE and FALSE,
which can be used like so −
if (TRUE)
print("This will always print<br>");
else
print("This will never print<br>");
Interpreting
other types as Booleans
Here are the rules for determine the "truth" of
any value not already of the Boolean type −
If the value is a number, it is false if exactly equal to
zero and true otherwise.
If the value is a string, it is false if the string is empty
(has zero characters) or is the string "0", and is true otherwise.
Values of type NULL are always false.
If the value is an array, it is false if it contains no
other values, and it is true otherwise. For an object, containing a value means
having a member variable that has been assigned a value.
Valid resources are true (although some functions that
return resources when they are successful will return FALSE when unsuccessful).
Don't use double as Booleans.
Each of the following variables has the truth value embedded
in its name when it is used in a Boolean context.
$true_num = 3 + 0.14159;
$true_str = "Tried and true"
$true_array[49] = "An array element";
$false_array = array();
$false_null = NULL;
$false_num = 999 - 999;
$false_str = "";
NULL
NULL is a special type that only has one value: NULL. To
give a variable the NULL value, simply assign it like this −
$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.
It returns FALSE when tested with IsSet() function.
Strings
They are sequences of characters, like "PHP supports
string operations". Following are valid examples of string
$string_1 = "This is a string in double quotes";
$string_2 = "This is a somewhat longer, singly quoted
string";
$string_39 = "This string has thirty-nine
characters";
$string_0 = ""; // a string with zero characters
Singly quoted strings are treated almost literally, whereas
doubly quoted strings replace variables with their values as well as specially
interpreting certain character sequences.
<?php
$variable = "name";
$literally = 'My $variable will not
print!';
print($literally);
print "<br>";
$literally = "My $variable will
print!";
print($literally);
?>
This will produce following result −
My $variable will not print!\n
My name will print
There are no artificial limits on string length - within the
bounds of available memory, you ought to be able to make arbitrarily long
strings.
Strings that are delimited by double quotes (as in
"this") are preprocessed in both the following two ways by PHP −
Certain character sequences beginning with backslash (\) are
replaced with special characters
Variable names (starting with $) are replaced with string
representations of their values.
The escape-sequence replacements are −
\n is replaced by the newline character
\r is replaced by the carriage-return 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 (\)
Here
Document
You can assign multiple lines to a single string variable
using here document −
<?php
$channel =<<<_XML_
<channel>
<title>What's For
Dinner</title>
<link>http://menu.example.com/
</link>
<description>Choose what to eat
tonight.</description>
</channel>
_XML_;
echo <<<END
This uses the "here
document" syntax to output
multiple lines with variable
interpolation. Note
that the here document terminator must
appear on a
line with just a semicolon. no extra
whitespace!
END;
print $channel;
?>
This will produce following result −
This uses the "here document" syntax to output
multiple lines with variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
<channel>
<title>What's For Dinner<title>
<link>http://menu.example.com/<link>
<description>Choose what to eat
tonight.</description>
Variable Scope
Scope can be defined as the range of availability a variable
has to the program in which it is declared. PHP variables can be one of four
scope types −
Local variables
Function parameters
Global variables
Static variables
Variable Naming
Rules for naming a variable is −
Variable names must begin with a letter or underscore
character.
A variable name can consist of numbers, letters, underscores
but you cannot use characters like + , - , % , ( , ) . & , etc
There is no size limit for variables.
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 is case-sensitive. By convention, constant identifiers are always
uppercase. A constant name starts with a letter or underscore, followed by any
number of letters, numbers, or underscores. If you have defined a constant, it
can never be changed or undefined.
To define a constant you have to use define() function and
to retrieve the value of a constant, you have to simply specifying its name.
Unlike with variables, you do not need to have a constant with a $. You can
also use the function constant() to read a constant's value if you wish to
obtain the constant's name dynamically.
constant() function
As indicated by the name, this function will return the
value of the constant.
This is useful when you want to retrieve value of a
constant, but you do not know its name, i.e. It is stored in a variable or
returned by a function.
constant() example
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as
the previous line
?>
Only scalar data (boolean, integer, float and string) can be
contained in constants.
Differences between constants and variables are
There is no need to write a dollar sign ($) before a
constant, where as in Variable one has to write a dollar sign.
Constants cannot be defined by simple assignment, they may
only be defined using the define() function.
Constants may be defined and accessed anywhere without
regard to variable scoping rules.
Once the Constants have been set, may not be redefined or
undefined.
Valid and invalid constant names
// Valid constant names
define("ONE",
"first thing");
define("TWO2",
"second thing");
define("THREE_3", "third thing")
// Invalid constant names
define("2TWO",
"second thing");
define("__THREE__", "third value");
PHP Magic constants
PHP provides a large number of predefined constants to any
script which it runs.
There are five magical constants that change
depending on where they are of __LINE__ depends on the line that it's used on in your
script. These special constants are case-insensitive and are as follows −
A few "magical" PHP constants ate given below −
Name
|
Description
|
__LINE__
|
The current line number of the
file.
|
__FILE__
|
The full path and filename of
the file. If used inside an include,the name of the included file is
returned. Since PHP 4.0.2, __FILE__ always contains an
absolute path whereas in older versions it contained relative path under some
circumstances.
|
__FUNCTION__
|
The function name. (Added in
PHP 4.3.0) As of PHP 5 this constant returns the function name as it was
declared (case-sensitive). In PHP 4 its value is always lowercased.
|
__CLASS__
|
The class name. (Added in PHP
4.3.0) As of PHP 5 this constant returns the class name as it was declared
(case-sensitive). In PHP 4 its value is always lowercased.
|
__METHOD__
|
The class method name. (Added
in PHP 5.0.0) The method name is returned as it was declared
(case-sensitive).
|
What is Operator? Simple answer can be given
using expression 4 + 5 is equal to 9. Here 4 and 5 are called
operands and + is called operator. PHP language supports following type of
operators.
Arithmetic Operators
Comparison Operators
Logical (or Relational) Operators
Assignment Operators
Conditional (or ternary) Operators
Lets have a look on all operators one by one.
\Arithmetic Operators
There are following arithmetic operators supported by PHP
language −
Assume variable A holds 10 and variable B holds 20 then −
Show Examples
Operator
|
Description
|
Example
|
+
|
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
de-numerator
|
B / A will give 2
|
%
|
Modulus Operator and remainder
of after an integer division
|
B % A will give 0
|
++
|
Increment operator, increases
integer value by one
|
A++ will give 11
|
--
|
Decrement operator, decreases
integer value by one
|
A-- will give 9
|
Comparison Operators
There are following comparison operators supported by PHP
language
Assume variable A holds 10 and variable B holds 20 then −
Show Examples
Operator
|
Description
|
Example
|
==
|
Checks if the value of two
operands are equal or not, if yes then condition becomes true.
|
(A == B) is not true.
|
!=
|
Checks if the value of two
operands are equal or not, if values are not equal then condition becomes
true.
|
(A != B) is true.
|
>
|
Checks if the value of left
operand is greater than the value of right operand, if yes then condition
becomes true.
|
(A > B) is not true.
|
<
|
Checks if the value of left
operand is less than the value of right operand, if yes then condition
becomes true.
|
(A < B) is true.
|
>=
|
Checks if the value of left
operand is greater than or equal to the value of right operand, if yes then
condition becomes true.
|
(A >= B) is not true.
|
<=
|
Checks if the value of left
operand is less than or equal to the value of right operand, if yes then
condition becomes true.
|
(A <= B) is true.
|
Logical Operators
There are following logical operators supported by PHP
language
Assume variable A holds 10 and variable B holds 20 then −
Show Examples
Operator
|
Description
|
Example
|
and
|
Called Logical AND operator.
If both the operands are true then condition becomes true.
|
(A and B) is true.
|
or
|
Called Logical OR Operator. If
any of the two operands are non zero then condition becomes true.
|
(A or B) is true.
|
&&
|
Called Logical AND operator.
If both the operands are non zero then condition becomes true.
|
(A && B) is true.
|
||
|
Called Logical OR Operator. If
any of the two operands are non zero then condition becomes true.
|
(A || B) is true.
|
!
|
Called Logical NOT Operator.
Use to reverses the logical state of its operand. If a condition is true then
Logical NOT operator will make false.
|
!(A && B) is false.
|
Assignment Operators
There are following assignment operators supported by PHP
language −
Show Examples
Operator
|
Description
|
Example
|
=
|
Simple assignment operator,
Assigns values from right side operands to left side operand
|
C = A + B will assign value of
A + B into C
|
+=
|
Add AND assignment operator,
It adds right operand to the left operand and assign the result to left
operand
|
C += A is equivalent to C = C
+ A
|
-=
|
Subtract AND assignment operator,
It subtracts right operand from the left operand and assign the result to
left operand
|
C -= A is equivalent to C = C
- A
|
*=
|
Multiply AND assignment
operator, It multiplies right operand with the left operand and assign the
result to left operand
|
C *= A is equivalent to C = C
* A
|
/=
|
Divide AND assignment
operator, It divides left operand with the right operand and assign the
result to left operand
|
C /= A is equivalent to C = C
/ A
|
%=
|
Modulus AND assignment
operator, It takes modulus using two operands and assign the result to left
operand
|
C %= A is equivalent to C = C
% A
|
Conditional Operator
There is one more operator called 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. The
conditional operator has this syntax −
Show Examples
Operator
|
Description
|
Example
|
? :
|
Conditional Expression
|
If Condition is true ? Then
value X : Otherwise value Y
|
Operators Categories
All the operators we have discussed above can be categorised
into following categories −
Unary prefix operators, which precede a single operand.
Binary operators, which take two operands and perform a
variety of arithmetic and logical operations.
The conditional operator (a ternary operator), which takes
three operands and evaluates either the second or third expression, depending
on the evaluation of the first expression.
Assignment operators, which assign a value to a variable.
Precedence of PHP Operators
Operator precedence determines the grouping of terms in an
expression. This affects how an expression is evaluated. Certain operators have
higher precedence than others; for example, the multiplication operator has
higher precedence than the addition operator −
For example x = 7 + 3 * 2; Here x is assigned 13, not 20
because operator * has higher precedence than + so it first get multiplied with
3*2 and then adds into 7.
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
|
Associativity
|
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
|
= += -= *= /= %=
|
Right to left
|
The if, elseif ...else and switch statements are used to
take decision based on the different condition.
You can use conditional statements in your code to make your
decisions. 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 not true
elseif statement − is used with the if...else statement to
execute a set of code if one of the several condition is true
switch statement − is used if you want to select one of many
blocks of code to be executed, use the Switch statement. The switch statement
is used to avoid long blocks of if..elseif..else code.
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;
Example
The following example will output "Have a nice
weekend!" if the current day is Friday, Otherwise, it will output
"Have a nice day!":
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have
a nice weekend!";
else
echo "Have
a nice day!";
?>
</body>
</html>
It will produce the following result −
The ElseIf Statement
If you want to execute some code if one of the several
conditions are true use the elseif statement
Syntax
if (condition)
code to be executed
if condition is true;
elseif (condition)
code to be executed
if condition is true;
else
code to be executed
if condition is false;
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!";
elseif ($d=="Sun")
echo "Have
a nice Sunday!";
else
echo "Have
a nice day!";
?>
</body>
</html>
It will produce the following result −
The Switch Statement
If you want to select one of many blocks of code to be
executed, use the Switch statement.
The switch statement is used to avoid long blocks of
if..elseif..else code.
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
if expression is
different
from both label1
and label2;
}
Example
The switch statement
works in an unusual way. First it evaluates given expression then seeks a lable
to match the resulting value. If a matching value is found then the code
associated with the matching label will be executed or if none of the lable
matches then statement will execute any specified default code.
<html>
<body>
<?php
$d=date("D");
switch ($d)
{
case "Mon":
echo "Today is Monday";
break;
case "Tue":
echo "Today is Tuesday";
break;
case "Wed":
echo "Today is Wednesday";
break;
case "Thu":
echo "Today is Thursday";
break;
case "Fri":
echo "Today is Friday";
break;
case "Sat":
echo "Today is Saturday";
break;
case "Sun":
echo "Today is Sunday";
break;
default:
echo "Wonder which day is this ?";
}
?>
</body>
</html>
It will produce the following result –
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 if and 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 special condition is true.
foreach − 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.
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;
}
The initializer is used to set the start value for the
counter of the number of loop iterations. A variable may be declared here for
this purpose and it is traditional to name it $i.
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>
This will produce the following result −
At the end of the loop a=50 and
b=25
The while loop statement
The while statement will execute a block of code if and as
long as a test expression is true.
If the test expression is true then the code block will be
executed. After the code has executed the test expression will again be
evaluated and the loop will continue until the test expression is found to be
false.
Syntax
while (condition)
{
code to be
executed;
}
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" );
?>
</body>
</html>
This will produce the following result −
Loop stopped at i = 10 and num =
40
The do...while loop statement
The do...while statement will execute a block of code at
least once - it then will repeat the loop as long as a condition is true.
Syntax
do
{
code to be
executed;
}
while (condition);
Example
The following example will increment the value of i at least
once, and it will continue incrementing the variable i as long as it has a
value of less than 10 −
<html>
<body>
<?php
$i = 0;
$num = 0;
do{
$i++;
}
while( $i < 10 );
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
This will produce the following result −
Loop stopped at i = 10
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;
}
Example
Try out following example to list out the values of an
array.
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
echo "Value
is $value <br />";
}
?>
</body>
</html>
This will produce the following result −
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
The break statement
The PHP break keyword is used to terminate the execution of
a loop prematurely.
The break statement
is situated inside the statement block. If gives you full control and whenever
you want to exit from the loop you can come out. After coming out of a loop
immediate statement to the loop will be executed.
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 ("Loop stopped at i = $i" );
?>
</body>
</html>
This will produce the 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 situated inside the statement block containing the code that the loop
executes, preceded by a conditional test. For the pass encountering continue statement,
rest of the loop code is skipped and next pass starts.
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);
foreach( $array as $value )
{
if( $value == 3 )continue;
echo "Value
is $value <br />";
}
?>
</body>
</html>
This will produce the following result −
Value is 1
Value is 2
Value is 4
Value is 5
PHP -
Arrays
An array is a data structure that stores one or more similar
type of values in a single value. For example if you want to store 100 numbers
then instead of defining 100 variables its easy to define an array of 100
length.
There are three different kind of arrays and each array
value is accessed using an ID c which is called array index.
Numeric array − An array with a numeric index. Values are
stored and accessed in linear fashion.
Associative array − An array with strings as index. This stores
element values in association with key values rather than in a strict linear
index order.
Multidimensional array − An array
containing one or more arrays and values are accessed using multiple indices
PHP
- GET & POST Methods
There are two ways the browser client can send information
to the web server.
The GET Method
The POST Method
Before the browser sends the information, it encodes it
using a scheme called URL encoding. In this scheme, name/value pairs are joined
with equal signs and different pairs are separated by the ampersand.
name1=value1&name2=value2&name3=value3
Spaces are removed and replaced with the + character
and any other nonalphanumeric characters are replaced with a hexadecimal
values. After the information is encoded it is sent to the server.
The GET Method
The GET method sends the encoded user information appended
to the page request. The page and the encoded information are separated by
the ?character.
http://www.test.com/index.htm?name1=value1&name2=value2
The GET method produces a long string that appears in your
server logs, in the browser's Location: box.
The GET method is restricted to send upto 1024 characters
only.
Never use GET method if you have password or other sensitive
information to be sent to the server.
GET can't be used to send binary data, like images or word
documents, to the server.
The data sent by GET method can be accessed using
QUERY_STRING environment variable.
The PHP provides $_GET associative array to
access all the sent information using GET method.
PHP -
Files & I/O
This chapter will explain following functions related to
files −
Opening a file
Reading a file
Writing a file
Closing a file
Opening and Closing Files
The PHP fopen() function is used to open a
file. It requires two arguments stating first the file name and then mode in
which to operate.
Files modes can be specified as one of the six options in
this table.
Mode
|
Purpose
|
r
|
Opens the file for reading only.
Places the file pointer at the beginning of the file.
|
r+
|
Opens the file for reading and writing.
Places the file pointer at the beginning of the file.
|
w
|
Opens the file for writing only.
Places the file pointer at the beginning of the file.
and truncates the file to zero length. If files does not
exist then it attempts to create a file.
|
w+
|
Opens the file for reading and writing only.
Places the file pointer at the beginning of the file.
and truncates the file to zero length. If files does not
exist then it attempts to create a file.
|
a
|
Opens the file for writing only.
Places the file pointer at the end of the file.
If files does not exist then it attempts to create a file.
|
a+
|
Opens the file for reading and writing only.
Places the file pointer at the end of the file.
If files does not exist then it attempts to create a file.
|
If an attempt to open a file fails then fopen returns
a value of false otherwise it returns a file pointer which
is used for further reading or writing to that file.
After making a changes to the opened file it is important to
close it with thefclose() function. The fclose() function
requires a file pointer as its argument and then returns true when
the closure succeeds or false if it fails.
Reading a file
Once a file is opened using fopen() function
it can be read with a function called fread(). This function
requires two arguments. These must be the file pointer and the length of the
file expressed in bytes.
The files length can be found using the filesize() function
which takes the file name as its argument and returns the size of the file
expressed in bytes.
So here are the steps required to read a file with PHP.
Open a file using fopen() function.
Get the file's length using filesize() function.
Read the file's content using fread() function.
Close the file with fclose() function.
PHP -
Functions
PHP functions are similar to other programming languages. A
function is a piece of code which takes one more input in the form of parameter
and does some processing and returns a value.
You already have seen many functions like fopen() and fread() etc.
They are built-in functions but PHP gives you option to create your own
functions as well.
There are two parts which should be clear to you −
Creating a PHP Function
Calling a PHP Function
In fact you hardly need to create your own PHP function
because there are already more than 1000 of built-in library functions created
for different area and you just need to call them according to your
requirement.
Please refer to PHP Function Reference for a complete
set of useful functions.
Creating PHP Function
Its very easy to create your own PHP function. Suppose you
want to create a PHP function which will simply write a simple message on your
browser when you will call it. Following example creates a function called
writeMessage() and then calls it just after creating it.
Note that while creating a function its name should start
with keyword functionand all the PHP code should be put inside {
and } braces as shown in the following example below −
<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();
?>
</body>
</html>
This will display following result −
You are really a nice person, Have a nice time!
PHP Functions with Parameters
PHP gives you option to pass your parameters inside a
function. You can pass as many as 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.
<html>
<head>
<title>Writing PHP Function with Parameters</title>
</head>
<body>
<?php
function addFunction($num1, $num2)
{
$sum = $num1 + $num2;
echo "Sum of the two numbers is : $sum";
}
addFunction(10, 20);
?>
</body>
</html>
This will display following result −
Sum of the two numbers is : 30
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.
Following example depicts both the cases.
<html>
<head>
<title>Passing Argument by Reference</title>
</head>
<body>
<?php
function addFive($num)
{
$num += 5;
}
function addSix(&$num)
{
$num += 6;
}
$orignum = 10;
addFive( $orignum );
echo "Original
Value is $orignum<br />";
addSix( $orignum );
echo "Original
Value is $orignum<br />";
?>
</body>
</html>
This will display following result −
Original Value is 10
Original Value is 16
PHP Functions returning value
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.
You can return more than one value from a function
using return array(1,2,3,4).
Following example takes two integer parameters and add them
together and then returns their sum to the calling program. Note that return keyword
is used to return a value from a function.
<html>
<head>
<title>Writing PHP Function which returns value</title>
</head>
<body>
<?php
function addFunction($num1, $num2)
{
$sum = $num1 + $num2;
return $sum;
}
$return_value = addFunction(10, 20);
echo "Returned
value from the function : $return_value";
?>
</body>
</html>
This will display following result −
Returned value from the function : 30
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 NULL in case use does not pass any
value to this function.
<html>
<head>
<title>Writing PHP Function which returns value</title>
</head>
<body>
<?php
function printMe($param = NULL)
{
print $param;
}
printMe("This is test");
printMe();
?>
</body>
</html>
This will produce following result −
This is test
Dynamic Function Calls
It is possible to assign function names as strings to
variables and then treat these variables exactly as you would the function name
itself. Following example depicts this behaviour.
<html>
<head>
<title>Dynamic Function Calls</title>
</head>
<body>
<?php
function sayHello()
{
echo "Hello<br />";
}
$function_holder = "sayHello";
$function_holder();
?>
</body>
</html>
This will display following result −
Hello
PHP -
Cookies
Cookies are text files stored on the client computer and
they are kept of use tracking purpose. PHP transparently supports HTTP cookies.
There are three steps involved in identifying returning
users −
Server script sends a set of cookies to the browser. For
example name, age, or identification number etc.
Browser stores this information on local machine for future
use.
When next time browser sends any request to web server then
it sends those cookies information to the server and server uses that
information to identify the user.
PHP -
Sessions
An alternative way to make data accessible across the
various pages of an entire website is to use a PHP Session.
A session creates a file in a temporary directory on the
server where registered session variables and their values are stored. This
data will be available to all pages on the site during that visit.
The location of the temporary file is determined by a
setting in the php.ini file called session.save_path.
Bore using any session variable make sure you have setup this path.
When a session is started following things happen −
PHP first creates a unique identifier for that particular session
which is a random string of 32 hexadecimal numbers such as
3c7foj34c3jj973hjkop2fc937e3443.
A cookie called PHPSESSID is
automatically sent to the user's computer to store unique session
identification string.
A file is automatically created on the server in the
designated temporary directory and bears the name of the unique identifier
prefixed by sess_ ie sess_3c7foj34c3jj973hjkop2fc937e3443.
When a PHP script wants to retrieve the value from a session
variable, PHP automatically gets the unique session identifier string from the
PHPSESSID cookie and then looks in its temporary directory for the file bearing
that name and a validation can be done by comparing both values.
A session ends when the user loses the browser or after
leaving the site, the server will terminate the session after a predetermined
period of time, commonly 30 minutes duration.
Starting a PHP Session
A PHP session is easily started by making a call to the session_start()function.This
function first checks if a session is already started and if none is started
then it starts one. It is recommended to put the call tosession_start() at the
beginning of the page.
Session variables are stored in associative array called $_SESSION[].
These variables can be accessed during lifetime of a session.
The following example starts a session then register a
variable called counterthat
is incremented each time the page is visited during the session.
Make use of isset() function to
check if session variable is already set or not.
Put this code in a test.php file and load this file many
times to see the result −
<?php
session_start();
if( isset( $_SESSION['counter'] ) )
{
$_SESSION['counter'] += 1;
}
else
{
$_SESSION['counter'] = 1;
}
$msg = "You have visited this
page ". $_SESSION['counter'];
$msg .= "in this
session.";
?>
<html>
<head>
<title>Setting up a PHP session</title>
</head>
<body>
<?php echo ( $msg ); ?>
</body>
</html>
It will produce the following result −
Destroying a PHP Session
A PHP session can be destroyed by session_destroy() function.
This function does not need any argument and a single call can destroy all the
session variables. If you want to destroy a single session variable then you
can useunset() function
to unset a session variable.
Here is the example to unset a single variable −
<?php
unset($_SESSION['counter']);
?>
Here is the call which will destroy all the session
variables −
<?php
session_destroy();
?>
Turning on Auto Session
You don't need to call start_session() function to start a
session when a user visits your site if you can set session.auto_start variable to
1 in php.ini file.
Sessions without cookies
There may be a case when a user does not allow to store
cookies on their machine. So there is another method to send session ID to the
browser.
Alternatively, you can use the constant SID which is defined
if the session started. If the client did not send an appropriate session
cookie, it has the form session_name=session_id. Otherwise, it expands to an
empty string. Thus, you can embed it unconditionally into URLs.
The following example demonstrates how to register a
variable, and how to link correctly to another page using SID.
<?php
session_start();
if (isset($_SESSION['counter'])) {
$_SESSION['counter'] = 1;
}
else {
$_SESSION['counter']++;
}
$msg = "You have visited
this page ". $_SESSION['counter'];
$msg .= "in this
session.";
echo ( $msg );
?>
<p>
To continue click following link <br />
<a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">
</p>
It will produce the following result −
The htmlspecialchars() may be used
when printing the SID in order to prevent XSS related attacks.