php-notes
php-notes
UNIT CONTENT
1 PHP BASICS
UNIT - 1
PHP Basics
PHP is a server-side scripting language. It is used to develop Static
websites or Dynamic websites or Web applications.
PHP stands for Hypertext Pre-processor, that earlier stood for Personal Home
Pages.
PHP scripts can only be interpreted on a server that has PHP installed.
The client computers accessing the PHP scripts require a web browser only.
A PHP file contains PHP tags and ends with the extension ".php".
Commonusesof 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,
through email you can send data, return data to the user.
We can add, delete and modify elements within our database through PHP.
Access cookies variables and set cookies.
Using PHP, you can restrict users to access some pages of your website.
It can encrypt data.
History of PHP
Characteristics of PHP
There are many features given by PHP. All Features discussed below one by one.
Familiarity
Simplicity
Efficiency
Security
Flexibility
Open source
Object Oriented
Familiarity:
If you are in programming background then you can easily understand
the PHP syntax. And you can write PHP script because of most of PHP
syntax inherited from other languages like C or Pascal.
Simplicity:
PHP provides a lot of pre-define functions to secure your data. It is also
Efficiency:
PHP 4.0 introduced resource allocation mechanisms and more
pronounced support for object-oriented programming, in addition to session
management features. Eliminating unnecessary memory allocation.
Security:
Several trusted data encryption options are supported in PHP’s predefined
function set.
You can use a lot of third-party applications to secure data, allowing for securing
application.
Flexibility: -
PHP is a very flexible language because PHP is an embedded language
you can embed PHP scripts with HTML, JAVA SCRIPT, WML, XML, and
many others. You can run your PHP script on any device like mobile Phone,
tabs, laptops, PC and others because of PHP script execute on the server then
after sending to the browser of your device.
<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>
The variable $txt will hold the value Hello world! the variable $x
will hold the value 5, and the variable $y will hold the value 10.5.
PHP Variables
A variable can have a short name (like x and y) or a more descriptive
name (age, car name, total volume).
Output Variables
The PHP echo statement is often used to output data to the screen.
The following example will show how to output text and a variable:
Example:
<?php
$txt = "Hello
World!"; echo
"Welcome To $txt!";
?>
Output:
Welcome To Hello World!
The following example will produce the same output as the example above:
<?php
$txt = "Hello World";
echo "Welcome To " . $txt. "!";
?>
Output: Welcome To Hello World!
Example:
<?php
$x = 5; // global scope
function myTest() {
// using x inside this function will generate an error
echo"<p>Variable x inside function is: $x</p>";
}
myTest();
Output:
Variable x inside function is:
Variable x outside function is: 5
A variable declared within a function has a LOCAL SCOPE and
can only be accessed within that function:
Example:
<?php
function myTest() {
$x = 5; // local scope
echo"<p>Variable x inside function is: $x</p>";
}
myTest();
Global Keyword
The global keyword is used to access a global variable from
within a function. To do this, use the global keyword before the
variables (inside the function):
Example:
<?php
$x = 5;
$y = 10;
functionmyTe
st(){ global
$x, $y;
$y = $x + $y;
}
myTest();
Example:
<?php
function
myTest() {
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
Output: 0 1 2
Then, each time the function is called, that variable will still have the
information it contained from the last time the function was called.
PHP String
A string is a sequence of characters, like "Hello world!". A string can
be any text inside quotes. You can use single or double quotes:
Example
<?php
$x = "Hello world!";
$y = 'Hello
world!'; echo
$x;
echo"<br>";
echo $y; ?>
Output:
Hello World
Hello World
PHP Float
A float (floating point number) is a number with a decimal point or a
number in exponential form.
In the following example $x is a float. The PHP var_dump () function
returns the data type and value:
Example
<?php
$x = 10.365;
var_dump($x);
?>
Output:
float (10.365)
PHP Boolean
PHP Array
An array stores multiple values in one single variable.
In the following example $cars is an array. The PHP var_dump ()
function returns the data type and value:
<?php
$cars =
array("Volvo","BMW","Toyo
ta"); var_dump($cars);
?>
Output
array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(6) "Toyota"
}
PHP Object
An object is a data type which stores data and information on how to
process that data. In PHP, an object must be explicitly declared. First we
must declare a class of object. For this, we use the class keyword.
<? php
class
Car {
function Car () {
$this->model = "VW";
}
}
// create an object
$herbie = new Car();
// show object
properties echo
$herbie->model;
?>
Output: VW
var_dump(
$x);
?>
Output: NULL
PHP Resource
The special resource type is not an actual data type. It is the storing of a
reference to functions and resources external to PHP. A common example of
using the resource data type is a database call.
PHP Operators
Operators are used to perform operations on variables and values.
x=y x=y The left operand gets set to the value of the
expression on the right
x += y x=x+y Addition
x -= y x=x–y Subtraction
x *= y x=x*y Multiplication
x /= y x=x/y Division
x %= y x=x%y Modulus
Comparison Operators
The PHP comparison operators are used to compare two values (number or
string):
or Or $x or $y True if either $x or
$y is true
True if either $x or
xor Xor $x xor
$y is true, but not
$y
both
|| Or $x || $y True if either $x or
$y is true
Concatenati
$txt1 .= $txt2 Appends $txt2 to
on
.= $txt1
assignment
PHP Array Operators
The PHP array operators are used to compare arrays.
Conditional statements are used to perform different actions based on different
conditions
UNIT 2
CONTROL STRUCTURE AND LOOPS
Syntax
if (condition)
{
code to be executed if condition is true;
}
The example below will output "Have a good day!" if the current time (HOUR) is
less than 20:
Example
<?php
$t = date("H");
if ($t <"20") {
echo"Have a good day!";
}
?>
The if else statement executes some code if a condition is true and another code if
that
condition is false.
Syntax
if (condition)
{
code to be executed if condition is true;
} else {
code to be executed if condition is false;
}
The example below will output "Have a good day!" if the current time
is less than 20, and "Have a good night!" otherwise:
{
code to be executed if this condition is true;
} elseif (condition) {
code to be executed if this condition is true;
} else {
The example below will output "Have a good morning!" if the current
time is less than 10, and "Have a good day!" if the current time is less than
20. Otherwise it will output "Have a good night!":
Example
<?php
$t = date("H");
if ($t <"10") {
echo"Have a good morning!";
} elseif ($t <"20") {
echo"Have a good
day!";
} else {
echo"Have a good night!";
}
?>
executed.
Syntax
switch (n)
{
caselabel1:
code to be executed if n=label1;
break;
case
label2:
code to be executed
if n=label2;
break;
case label3:
code to be executed if n=label3;
break;
default:
code execute when n is different from all label
This is how it works: First we have a single expression n (most often a variable),
that is evaluated once. The value of the expression is then compared with the
values for each case in the structure. If there is a match, the block of code
associated with that case is executed. Use break to prevent the code from
running into the next case automatically. The default statement is used if no
match is found.
Example
<?php
$favcolor =
"red"; switch
($favcolor){
case “red":
echo “Your
favoritecolor is red!";
break;
case"blue":
echo"Your favoritecolor
is blue!"; break;
case"green":
echo"Your favoritecolor
is green!"; break;
default:
echo"Your favoritecolor is neither red, blue, nor green!";
}
?>
PHP Loops
Often when you write code, you want the same block of code to run over
and over again in a row. Instead of adding several almost equal code-lines in a
script, we can use loops to perform a task like this.
while - loops through a block of code as long as the specified condition is true
do...while - loops through a block of code once, and then repeats the
loop as long as the specified condition is true
for - loops through a block of code a specified number of times
for each - loops through a block of code for each element in an array
The PHP while Loop
The while loop executes a block of code as long as the specified condition is
true.
Syntax
while (condition is true)
{
code to be executed;
}
The example below first sets a variable $x to 1 ($x = 1). Then, the
while loop will continue to run as long as $x is less than, or equal to 5 ($x <=
5). $x will increase by 1 each time the loop runs ($x++):
Example
<?php
$x = 1;
while($x <=
5) {
echo"The number is: $x <br>";
$x++;
}
?>
Output :
Syntax
do
{
code to be executed;
} while (condition is true);
The example below first sets a variable $x to 1 ($x = 1). Then, the
do while loop will write some output, and then increment the variable $x with
Output:
The number is: 1 The number is: 2 The number is: 3 The number is: 4 The number
is: 5
Array
An array stores multiple values in one single variable:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
An array is a special variable, which can hold more than one value at a time.
If you have a list of items (a list of car names, for example), storing
the cars in single variables could look like this:
$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";
Create an Array in
PHP
array();
$cars[1] = "BMW";
$cars[2] = "Toyota";
Example
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
Associative arrays are arrays that use named keys that you
assign to them. There are two ways to create an associative
array:
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43"); or:
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";
Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43"); echo "Peter is " . $age['Peter'] .
" years old.";
?>
Example
<?php
$cars = array("Volvo", "BMW",
"Toyota"); sort($cars);
?>
The following example sorts the elements of the $numbers array in ascending
numerical
order:
Example
<?php
$numbers = array(4, 6, 2,
22, 11); sort($numbers);
?>
Sort Array in Descending Order - rsort()
The following example sorts the elements of the $cars array in descending
alphabetical
order:
Example
<?php
$cars = array("Volvo", "BMW",
"Toyota"); rsort($cars);
?>
Example
<?php
$numbers = array(4, 6, 2,
22, 11); rsort($numbers);
?>
Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43"); asort($age);
?>
<?php
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43"); ksort($age);
?>
Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43"); arsort($age);
?>
Example
<?php
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43"); krsort($age);
?>
UNIT-III
PHP – FUNCTIONS, OBJECTS AND ERRORS
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.
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.
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 function and 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!";
}
</body>
</html>
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>
</head>
<body>
<?php
addFunction(10, 20);
?>
</body>
</html>
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.
<html>
<head>
</head>
<body>
<?php
function addFive($num) {
$num += 5;
function addSix(&$num) {
$num += 6;
$orignum = 10;
addFive( $orignum );
addSix( $orignum );
?>
</body>
</html>
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>
</head>
<body>
<?php
return $sum;
?>
</body>
</html>
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>
</head>
<body>
<?php
print $param;
printMe("This is test");
printMe();
?>
</body>
</html>
This is test
There are usually different types of error. In PHP, mainly four types of errors are
considered:
2. Fatal Error
3. Warning Error
4. Notice Error
A syntax error is a mistake in the syntax of source code, which can be done by
programmers due to their lack of concern or knowledge. It is also known as Parse
error. Compiler is used to catch the syntax error at compile time.
Fatal Error
A fatal error is another type of error, which is occurred due to the use of undefined
function. The PHP compiler understands the PHP code but also recognizes the
undefined function. This means that when a function is called without providing its
definition, the PHP compiler generates a fatal error.
Warning Error
A warning is generated when the programmer tries to include a missing file. The PHP
function calls that missing file which does not exist. The warning error does not
stop/prevent the execution of the program.
The main reason behind generating a warning error is to pass an incorrect number of
parameters to a function or to include a missing file
Notice Error
Notice error is same as warning error. When program contains something wrong, the
notice error occurs. But it allows/continue the execution of the program with a notice
error. Notice error does not prevent the execution of the code. For example - access to
undefined variable.
Objects in php
A class is defined by using the class keyword, followed by the name of the class and a
pair of curly braces ({}). All its properties and methods go inside the braces
<?php
class Fruit {
// code goes here...
}
?>
Classes are nothing without objects! We can create multiple objects from a class. Each
object has all the properties and methods defined in the class, but they will have
different property values.
In the example below, $apple and $banana are instances of the class Fruit:
Example
<?php
class Fruit {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>
UNIT 4
WORKING WITH FORMS
HTML forms are used to send the user information to the server and returns the result
back to the browser. For example, if you want to get the details of visitors to your
website, and send them good thoughts, you can collect the user information by means
of form processing. Then, the information can be validated either at the client-side or
on the server-side. The final result is sent to the client through the respective web
browser. To create a HTML form, form tag should be used.
Attribute Description
It specifies the location to which the form data has to be sent when
action the form is submitted.
It specifies the encryption type for the form data when the form is
encType submitted.
It implies the server not to verify the form data when the form is
novalidate submitted.
Creating a simple HTML Form: All the form controls given above is designed by
using the input tag based on the type attribute of the tag. In the below script, when
the form is submitted, no event handling mechanism is done. Event handling refers to
the process done while the form is submitted. These event handling mechanisms can
be done by using javaScript or PHP. However, JavaScript provides only client-side
validation. Hence, we can use PHP for form processing.
Form Validation: Form validation is done to ensure that the user has provided the
relevant information. Basic validation can be done using HTML elements. For
example, in the above script, the email address text box is having a type value as
“email”, which prevents the user from entering the incorrect value for an email. Every
form field in the above script is followed by a required attribute, which will intimate
the user not to leave any field empty before submitting the form. PHP methods and
arrays used in form processing are:
isset(): This function is used to determine whether the variable or a form control is
having a value or not.
$_GET[]: It is used the retrieve the information from the form control through the
parameters sent in the URL. It takes the attribute given in the url as the parameter.
$_POST[]: It is used the retrieve the information from the form control through
the HTTP POST method. IT takes name attribute of corresponding form control as
the parameter.
$_REQUEST[]: It is used to retrieve an information while using a database.
When and why we are using forms?
Forms come in handy when developing flexible and dynamic applications that
accept user input.
Forms can be used to edit already existing data from the database
Create a form
We will use HTML tags to create a form. Below is the minimal list of things you need
to create a form.
We can create and use forms in PHP. To get form data, we need to use PHP
superglobals $_GET and $_POST.
The form request may be get or post. To retrieve data from get request, we need to use
$_GET, for post request $_POST.
Get request is the default form request. The data passed through get request is visible
on the URL browser so it is not secured. You can send limited amount of data through
get request.
Post request is widely used to submit form that have large amount of data such as file
upload, image upload, login form, registration form etc.
The data passed through post request is not visible on the URL browser so it is secured.
You can send large amount of data through post request.
Let's see a simple example to receive data from post request in PHP.
File: form1.html
<form action="login.php" method="post">
<table>
<tr><td>Name:</td><td> <input type="text" name="name"/></td></tr>
<tr><td>Password:</td><td> <input type="password" name="password"/></td></tr>
File: login.php
<?php
$name=$_POST["name"];//receiving name field value in $name variable
$password=$_POST["password"];//receiving password field value in $password
variable
Controls used in forms: Form processing contains a set of controls through which
the client and server can communicate and share information. The controls used in
forms are:
Textbox: Textbox allows the user to provide single-line input, which can be used
for getting values such as names, search menu and etc.
Textarea: Textarea allows the user to provide multi-line input, which can be used
for getting values such as an address, message etc.
<h2>Registration Form</h2>
</form>
</body>
</html>
HERE,
The action attribute of the form specifies the submission URL that processes the data.
The method attribute specifies the submission type.
This is the built in PHP super global array variable that is used to get values
submitted via HTTP POST method.
The array variable can be accessed from any script in the program; it has a global
scope.
This method is ideal when you do not want to display the form post values in the
URL.
A good example of using post method is when submitting login details to the
server.
<?php
$_POST['variable_name'];
?>
HERE,
This is the built in PHP super global array variable that is used to get values
submitted via HTTP GET method.
The array variable can be accessed from any script in the program; it has a global
scope.
This method displays the form values in the URL.
It’s ideal for search engine forms as it allows the users to book mark the results.
<?php
$_GET['variable_name'];
?>
HERE,
POST GET
Values not visible in the URL Values visible in the URL
Has not limitation of the length Has limitation on the length of the
of the values since they are values usually 255 characters. This is
submitted via the body of HTTP because the values are displayed in the
URL. Note the upper limit of the
characters is dependent on the browser.
The registration form submits data to itself as specified in the action attribute of the
form.
When a form has been submitted, the values are populated in the $_POST super global
array.
We will use the PHP isset function to check if the form values have been filled in the
$_POST array and process the data.
We will modify the registration form to include the PHP code that processes the data.
Below is the modified code
<html>
<head>
<title>Registration Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>Registration Form</h2>
First name:
<input type="text" name="firstname">
</form>
If the form_fobmitted field hasn’t been filled in the $_POST[] array, the form is
displayed.
UNIT 5
MORE WITH FORMS
The checked attribute can be used with <input type="checkbox"> and <input
type="radio">.
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php"
method="get">
<input type="checkbox" name="vehicle1"
value="Bike">
<label for="vehicle1"> I have a
bike</label><br>
<input type="checkbox" name="vehicle2"
value="Car">
<label for="vehicle2"> I have a
car</label><br>
<input type="checkbox" name="vehicle3"
value="Boat" checked>
<label for="vehicle3"> I have a
boat</label><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
OUT PUT
The input checked attribute
I have a bike
I have a car
I have a boat
isset() Function
The isset() function checks whether a variable is set, which means thet it has to be
declared and is not NULL. This function returns true if the variable exists and is not
NULL,otherwise it returns false.
Example
Check whether a variable is empty. Also check whether the variable is set/declared:
<?php
$a = 0;
// True because $a is set
if (isset($a)) {
echo "Variable 'a' is set.<br>";
}
$b = null;
// False because $b is NULL
if (isset($b)) {
echo "Variable 'b' is set.";
}
?>
OUTPUT
Variable 'a' is set.
Radio buttons are normally presented in radio groups (a collection of radio buttons
describing a set of related options). Only one radio button in a group can be selected at
the same time.
Note: The radio group must have share the same name (the value of the name attribute)
to be treated as a group. Once the radio group is created, selecting any radio button in
that group automatically deselects any other selected radio button in the same group.
You can have as many radio groups on a page as you want, as long as each group has
its own name.
Note: The value attribute defines the unique value associated with each radio button.
The value is not shown to the user, but is the value that is sent to the server on "submit"
to identify which radio button that was selected.
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php">
<p>Please select your favorite Web
language:</p>
<input type="radio" id="html"
name="fav_language" value="HTML">
<label for="html">HTML</label><br>
<input type="radio" id="css"
name="fav_language" value="CSS">
<label for="css">CSS</label><br>
<input type="radio" id="javascript"
name="fav_language" value="JavaScript">
<label for="javascript">JavaScript</label>
<br>
<label for="age3">61 -
100</label><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
OUTPUT
Display Radio Buttons
HTML
CSS
JavaScript
0 - 30
31 - 60
61 - 100
Submit
An HTML form contains various input fields such as text box, checkbox, radio buttons,
submit button, and checklist, etc. These input fields need to be validated, which ensures
that the user has entered information in all the required fields and also validates that the
information provided by the user is valid and correct.
There is no guarantee that the information provided by the user is always correct. PHP
Empty String
The code below checks that the field is not empty. If the user leaves the required field
empty, it will show an error message. Put these lines of code to validate the required
field.
if (emptyempty ($_POST["name"])) {
$errMsg = "Error! You didn't enter the Name.";
echo $errMsg;
} else {
$name = $_POST["name"];
}
Validate String
The code below checks that the field will contain only alphabets and whitespace, for
example - name. If the name field does not receive valid input from the user, then it
will show an error message:
The below code validates that the field will only contain a numeric value. For example
- Mobile no. If the Mobile no field does not receive numeric data from the user, the
code will display an error message:
}
Validate Email
A valid email must contain @ and . symbols. PHP provides various methods to validate
the email address. Here, we will use regular expressions to validate the email address.
The below code validates the email address provided by the user through HTML form.
If the field does not contain a valid email address, then the code will display an error
message:
The input length validation restricts the user to provide the value between the specified
range, for Example - Mobile Number. A valid mobile number must have 10 digits.
The given code will help you to apply the length validation on user input:
of website provided by the user via HTML form. If the field does not contain a valid
URL, the code will display an error message, i.e., "URL is not valid".
$websiteURL = $_POST["website"];
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-
9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "URL is not valid";
echo $websiteErr;
} else {
echo "Website URL is: " .$websiteURL;
}
UNIT – 6
STORING AND ROTECTING DATA
The PHP code to read the file and write it to the output buffer is as
follows (the readfile () function returns the number of bytes read on success)
Example
<?php
echo readfile("webdictionary.txt")
?>
Mode Description
s
R Open a file for read only. File pointer starts at the beginning of the
file
W Open a file for write only. Erases the contents of the file or creates a
new file if it doesn't exist. File pointer starts at the beginning of the
file
A Open a file for write only. The existing data in file is preserved. File
pointer starts at the end of the file. Creates a new file if the file doesn't
exist
X Creates a new file for write only. Returns FALSE and an error if file
already exists
r+ Open a file for read/write. File pointer starts at the beginning of the
file
w+ Open a file for read/write. Erases the contents of the file or creates a
new file if it doesn't exist. File pointer starts at the beginning of the
file
a+ Open a file for read/write. The existing data in file is preserved. File
pointer starts at the end of the file. Creates a new file if the file doesn't
exist
x+ Creates a new file for read/write. Returns FALSE and an error if file
already exists
The first parameter of fread() contains the name of the file to read from and
the second parameter specifies the maximum number of bytes to read.
The fclose () requires the name of the file (or a variable that holds the
filename) we want to close:<?php
$myfile = fopen ("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>
The example below outputs the first line of the "webdictionary.txt" file:
Example
<?php
$myfile = fopen ("webdictionary.txt", "r") or die ("Unable
to open file!"); echo fgets($myfile);
fclose($myfile);
?>
If you use fopen () on a file that does not exist, it will create it, given
that the file is opened for writing (w) or appending (a).
The example below creates a new file called "testfile.txt". The file will
be created in the same directory where the PHP code resides:
Example
If you are having errors when trying to get this code to run, check that
you have granted your PHP file access to write information to the hard drive.
The first parameter of fwrite () contains the name of the file to write to
and the second parameter is the string to be written.
The example below writes a couple of names into a new file called
"newfile.txt":
Example
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John
Doe\n";
fwrite($myfile,
$txt);
$txt = "Jane
Doe\n";
fwrite($myfile,
$txt);
fclose($myfile)
;
?>
Notice that we wrote to the file "newfile.txt" twice. Each time we wrote
to the file we sent the string $txt that first contained "John Doe" and second
contained "Jane Doe". After we finished writing, we closed the file using the
fclose () function.
Cookie
A cookie is often used to identify a user. A cookie is a small file that the
server embeds on the
user's computer. Each time the same computer requests a page with a
browser, it will send the cookie too. With PHP, you can both create and
retrieve cookie values.
Syn
tax setcookie (name, value, expire, path, domain, secure, httponly);
Only the name parameter is required. All other parameters are optional.
We then retrieve the value of the cookie "user" (using the global
variable $_COOKIE). We also use the isset()function to find out if the cookie
is set:
Example
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400
= 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie
_name])) {
echo "Cookie named '" . $cookie_name. "' is not set!";
} else {
echo "Cookie '" . $cookie_name. "'
is set!<br>"; echo "Value is: " .
$_COOKIE[$cookie_name];
}
?>
</body>
</html>
Note: The setcookie () function must appear BEFORE the <html> tag.
Note: The value of the cookie is automatically URL encoded when sending
the cookie, and automatically decoded when received (to prevent URL
encoding, use setrawcookie () instead).
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie
_name])) {
echo "Cookie named '" . $cookie_name. "' is not set!";
} else {
echo "Cookie '“. $cookie_name. "'
is set! <br>"; echo "Value is: “.
$_COOKIE[$cookie_name];
}
?>
</body>
</html>
Delete a Cookie
To delete a cookie, use the setcookie () function with an expiration date in the
past:
Example
<?php
// set the expiration date to one
hour ago setcookie("user", "",
time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Example
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
Session
A session is a way to store information (in variables) to be used across
multiple pages.
Unlike a cookie, the information is not stored on the user’s computer.
When you work with an application, you open it, do some changes,
and then you close it. This is much like a Session. The computer knows who
you are. It knows when you start the application and when you end. But on
the internet there is one problem: the web server does not know who you are
or what you do, because the HTTP address doesn't maintain state.
So; Session variables hold information about one single user, and
are available to all pages in one application.
Tip: If you need a permanent storage, you may want to store the data in a database.
Example
<?php
// Start the
session
session_start(
);
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>
</body>
</html>
Note: The session_start () function must be the very first thing in your document.
Before any HTML tags.
Example
<?php
session_sta
rt ();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on
previous page echo "Favoritecolor is “.
$_SESSION["favcolor"]. ”. <br>"; echo
"Favorite animal is “.
$_SESSION["favanimal"]. ".";
?>
</body>
</html>
Another way to show all the session variable values for a user session is to
run the following code:
Example
<?php
session_sta
rt ();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SES
SION);
?>
</body>
</html>
UNIT – 7
MYSQL DATABASE OVERVIEW
Database
A database is a separate application that stores a collection of data.
Each database has one or more distinct APIs for creating, accessing,
managing, searching and replicating the data it holds.
Other kinds of data stores can also be used, such as files on the file
system or large hash tables in memory but data fetching and writing would
not be so fast and easy with those type of systems.
RDBMS Terminology
Table − A table is a matrix with data. A table in a database looks like a simple
spreadsheet.
Column − One column (data element) contains data of one and the same
kind, for example the column postcode.
Row − A row (= tuple, entry or record) is a group of related data, for example the
data of one subscription.
Primary Key − A primary key is unique. A key value can not occur twice in
one table. With a key, you can only find one row.
Foreign Key − A foreign key is the linking pin between two tables.
Compound Key
Referential Integrity
an existing row.
MySQL Database
MySQL is a fast, easy-to-use RDBMS being used for many small and big
businesses. MySQL is developed, marketed and supported by MySQL AB,
which is a Swedish company. MySQL is becoming so popular because of
many good reasons −
MySQL works very quickly and works well even with large data sets.
MySQL is very friendly to PHP, the most appreciated language for web
development.
MySQL uses many different data types broken into three categories −
Numeric
Date and Time
String Types.
MySQL uses all the standard ANSI SQL numeric data types, so if
you're coming to MySQL from a different database system, these definitions
will look familiar to you.
The following list shows the common numeric data types and their descriptions −
INT
A normal-sized integer that can be signed or unsigned. If signed, the
allowable range is from -2147483648 to 2147483647. If unsigned, the
allowable range is from 0 to 4294967295. You can specify a width of up to
11 digits.
TINYINT
A very small integer that can be signed or unsigned. If signed, the
allowable range is from -128 to 127. If unsigned, the allowable range is from
0 to 255. You can specify a width of up to 4 digits.
SMALLINT
A small integer that can be signed or unsigned. If signed, the allowable
range is from - 32768 to 32767. If unsigned, the allowable range is from 0 to
65535. You can specify a width of up to 5 digits.
MEDIUMINT
A medium-sized integer that can be signed or unsigned. If signed, the
allowable range is from -8388608 to 8388607. If unsigned, the allowable
range is from 0 to 16777215. You can specify a width of up to 9 digits.
BIGINT
A large integer that can be signed or unsigned. If signed, the allowable range
is from -
9223372036854775808 to 9223372036854775807. If unsigned, the allowable
range is from 0 to 18446744073709551615. You can specify a width of up to
20 digits.
FLOAT(M,D)
A floating-point number that cannot be unsigned. You can define the
display length (M) and the number of decimals (D). This is not required and
will default to 10,2, where 2 is the number of decimals and 10 is the total
number of digits (including decimals). Decimal precision can go to 24 places
for a FLOAT.
DOUBLE(M,D)
A double precision floating-point number that cannot be unsigned. You
can define the display length (M) and the number of decimals (D). This is not
required and will default to 16,4, where 4 is the number of decimals. Decimal
precision can go to 53 places for a DOUBLE. REAL is a synonym for
DOUBLE.
DECIMAL(M,D)
An unpacked floating-point number that cannot be unsigned. In the
unpacked decimals, each decimal corresponds to one byte. Defining the
display length (M) and the number of decimals (D) is required. NUMERIC is
a synonym for DECIMAL.
DATE
A date in YYYY-MM-DD format, between 1000-01-01 and 9999-
12-31. For example, December 30th, 1973 would be stored as 1973-12-30.
DATE TIME
A date and time combination in YYYY-MM-DD HH:MM:SS format,
between 1000-01-01 00:00:00 and 9999-12-31 23:59:59. For example, 3:30
in the afternoon on December 30th, 1973
would be stored as 1973-12-30 15:30:00.
TIME STAMP
A timestamp between midnight, January 1st, 1970 and sometime in
2037. This looks like the previous DATETIME format, only without the
hyphens between numbers; 3:30 in the afternoon on December 30th, 1973
would be stored as 19731230153000 (YYYYMMDDHHMMSS).
TIME
Stores the time in a HH:MM:SS format.
YEAR(M)
Stores a year in a 2-digit or a 4-digit format. If the length is specified as
2 (for example YEAR(2)), YEAR can be between 1970 to 2069 (70 to 69).
If the length is specified as 4, then YEAR can be 1901 to 2155. The default
length is 4.
String Types
Although the numeric and date types are fun, most data you'll store will
be in a string format. This list describes the common string datatypes in
MySQL.
CHAR(M)
A fixed-length string between 1 and 255 characters in length (for
example CHAR(5)), right-padded with spaces to the specified length when
stored. Defining a length is not required, but the default is 1.
VARCHAR(M)
A variable-length string between 1 and 255 characters in length. For
example, VARCHAR(25). You must define a length when creating a
VARCHAR field.
BLOB or TEXT
A field with a maximum length of 65535 characters. BLOBs are
"Binary Large Objects" and are used to store large amounts of binary data,
such as images or other types of files. Fields defined as TEXT also hold large
amounts of data. The difference between the two is that the sorts and
comparisons on the stored data are case sensitive on BLOBs and are not case
sensitive in TEXT fields. You do not specify a length with BLOB or TEXT.
TINYBLOB or TINYTEXT
A BLOB or TEXT column with a maximum length of 255 characters.
You do not specify a length with TINYBLOB or TINYTEXT.
MEDIUMBLOB or MEDIUMTEXT
A BLOB or TEXT column with a maximum length of 16777215
characters. You do not specify a length with MEDIUMBLOB or
MEDIUMTEXT.
LONGBLOB or LONGTEXT
A BLOB or TEXT column with a maximum length of 4294967295
characters. You do not specify a length with LONGBLOB or LONGTEXT.
ENUM
An enumeration, which is a fancy term for list. When defining an
Syntax
submission_date DATE,
);
this field to be NULL. So, if a user will try to create a record with a
NULL value, then MySQL will raise an error.
After the data type, you can specify other optional attributes for each column:
NOT NULL - Each row must contain a value for that column, null values are
not allowed
DEFAULT value - Set a default value that is added when no other value is
passed
UNSIGNED - Used for number types, limits the stored data to positive
numbers and zero
AUTO INCREMENT - MySQL automatically increases the value of
the field by 1 each time a new record is added
PRIMARY KEY - Used to uniquely identify the rows in a table. The
column with PRIMARY KEY setting is often an ID number, and is
often used with AUTO_INCREMENT
Each table should have a primary key column (in this case: the "id"
column). Its value must be unique for each record in the table.
The SELECT statement is used to select data from one or more tables:
SELECT column_name(s) FROM table_name
or we can use the * character to select ALL
columns from a table: SELECT * FROM
table_name
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn-
>query($sql); if
($result->num_rows>
0) {
// output data of each row
while($row = $result-
>fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"].
"<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
Output:
id: 1 - Name: John
The following examples delete the record with id=3 in the "MyGuests" table:
Example (MySQLi)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli ($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// sql to delete a record
$sql = "DELETE FROM MyGuests
WHERE id=3"; if ($conn-
>query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>