74
PHP BY :- Mohammed Mushtaq Ahmed

PHP complete reference with database concepts for beginners

Embed Size (px)

Citation preview

Page 1: PHP complete reference with database concepts for beginners

PHP

BY :-

Mohammed Mushtaq Ahmed

Page 2: PHP complete reference with database concepts for beginners

Contents

• HTML• JavaScript• PHP• MySQL• WAMP

Page 3: PHP complete reference with database concepts for beginners

HTML

• Hyper Text Markup Language• Developed by Tim Berners lee in 1990.• Easy to use ,Easy to learn• Markup tags tell the browser how to display

the page.• A HTML file must have an extension .htm

or.html.

Page 4: PHP complete reference with database concepts for beginners

Cont…..

• HTML tags are surrounded by “<“ and “>” (angular brackets).

• Tags normally come in pairs like <H1> and </H1>.

• Tags are not case sensitive i.e. <p> is same as <P>.

• The first tag in a pair is the start tag, the second tag is the end tag and so on ……,.

Page 5: PHP complete reference with database concepts for beginners

Cont…

Page 6: PHP complete reference with database concepts for beginners

JavaScript

• JavaScript ≠ Java• Developed by Netscape• Purpose: to Create Dynamic websites• Starts with < script type=“text/java script”>

and ends with < /script>.• Easy to learn , easy to use.• More powerful,loosely typed

Page 7: PHP complete reference with database concepts for beginners

Cont…

• Conversion automatically• Used to customize web pages.• Make pages more dynamic.• To validate CGI forms.• It’s limited (can not develpe standalone

aplli.)• Widely Used

Page 8: PHP complete reference with database concepts for beginners

About PHP

• PHP (Hypertext Preprocessor),• Dynamic web pages.• It’s like ASP.• PHP scripts are executed on the server .• PHP files have a file extension of ".php",

".php3", or ".phtml".

Page 9: PHP complete reference with database concepts for beginners

Why PHP

• PHP runs on different platforms (Windows, Linux, Unix, etc.)

• PHP is compatible with almost all servers used today (Apache, IIS, etc.)

• PHP is FREE to download from the official PHP resource: www.php.net

• PHP is easy to learn and runs efficiently on the server side

Page 10: PHP complete reference with database concepts for beginners

Cont…

• A PHP scripting block always starts with <?php and ends with ?>.

• Can be placed any where within a document.

• We can start a scripting block with <? and end with ?> on servers that provide shorthand support.

• It is advised to use standard tags for best outputs.

Page 11: PHP complete reference with database concepts for beginners

Features of PHP…

• Speed• Full database Support• Open source and free to download and

use.• Cross platform• Easy for newcomer and advance features

Page 12: PHP complete reference with database concepts for beginners

Cont…

• Used to create dynamic web pages.

• Freedom to choose any operating system and a web server.

• Not constrained to output only HTML. PHP's abilities include outputting images, PDF files etc.

• Support for a wide range of databases. Eg: dBase, MySQL, Oracle etc.

Page 13: PHP complete reference with database concepts for beginners

• URL is typed in the browser.• The browser sends a request to the web server. • The web server then calls the PHP script on that

page.• The PHP module executes the script, which then

sends out the result in the form of HTML back to the browser, which can be seen on the screen.

Working of PHP…

Page 14: PHP complete reference with database concepts for beginners

PHP BASICS…

A PHP scripting block always starts with <?php and ends with ?>A PHP scripting block can be placed anywhere in the document. On servers with shorthand support enabled you can start a scripting block with <? and end with ?>For maximum compatibility;

use the standard form <?php ?>rather than the shorthand form <? ?>

Page 15: PHP complete reference with database concepts for beginners

Structure of PHP Programe<html> <body>

<?php echo “hi friends….."; ?>

</body> </html>

Page 16: PHP complete reference with database concepts for beginners

Combining PHP with HTml

<html><head><title>My First Web Page</title></head><body bgcolor="white"><p>A Paragraph of Text</p><?phpEcho ”HELLO”;?></body></html>

Page 17: PHP complete reference with database concepts for beginners

Comments in PHP

• In PHP, we use // to make a single-line comment or /* and */ to make a large comment block.

Example :<?php //This is a comment /* This is a comment block */ ?>

17

Page 18: PHP complete reference with database concepts for beginners

PHP Variables• A variable is used to store information.

– text strings– numbers – Arrays

• Examples:– A variable containing a string:

<?php $txt="Hello World!"; ?>

– A variable containing a number: <?php

$x=16; ?>

18

Page 19: PHP complete reference with database concepts for beginners

Naming Rules for Variables

• Must start with a letter or an underscore "_"

• Can only contain alpha-numeric characters and underscores (a-z, A-Z, 0-9, and _ )

• Should not contain spaces. If a variable name is more than one word, it should be separated with an underscore ($my_string), or with capitalization ($myString)

19

Page 20: PHP complete reference with database concepts for beginners

PHP String Variables

• It is used to store and manipulate text. • Example:

<?php $txt1="Hello World!"; $txt2="What a nice day!"; echo $txt1 . " " . $txt2; ?>

• Output:Hello World! What a nice day!

20

Page 21: PHP complete reference with database concepts for beginners

The strlen() function

• The strlen() function is used to return the length of a string.

• Example:<?php echo strlen("Hello world!"); ?>

• Output:12

21

Page 22: PHP complete reference with database concepts for beginners

Assignment Operators

22

Page 23: PHP complete reference with database concepts for beginners

Comparison Operators

23

Page 24: PHP complete reference with database concepts for beginners

Logical Operators

24

Page 25: PHP complete reference with database concepts for beginners

Conditional Statements

25

Page 26: PHP complete reference with database concepts for beginners

PHP If...Else Statements

Conditional statements are used to perform different actions based on different conditions.

– if statement - use this statement to execute some code only if a specified condition is true

– if...else statement - use this statement to execute some code if a condition is true and another code if the condition is false

– if...elseif....else statement - use this statement to select one of several blocks of code to be executed

– switch statement - use this statement to select one of many blocks of code to be executed

26

Page 27: PHP complete reference with database concepts for beginners

Example: if..else statement <html> <body> <?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; elseecho "Have a nice day!"; ?> </body> </html>

27

Page 28: PHP complete reference with database concepts for beginners

Continue.. If..else• If more than one line should be executed if a condition is

true/false, the lines should be enclosed within curly braces:• Example:

<?php $d=date("D"); if ($d=="Fri") {echo "Hello!<br />";echo "Have a nice weekend!"; echo "See you on Monday!"; } ?>

28

Page 29: PHP complete reference with database concepts for beginners

PHP Switch Statement Conditional statements are used to perform different actions based on different conditions. Example:

<?php switch ($x) {case 1: echo "Number 1"; break; case 2:echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; }?>

29

Page 30: PHP complete reference with database concepts for beginners

PHP (Advanced Topics)

Arrays, Loops, Functions, Forms, Database Handling

30

Page 31: PHP complete reference with database concepts for beginners

Arrays

31

Page 32: PHP complete reference with database concepts for beginners

Arrays

There are three different kind of arrays:

• Numeric array - An array with a numeric ID key• Associative array - An array where each ID key is

associated with a value• Multidimensional array - An array containing one or

more arrays

32

Page 33: PHP complete reference with database concepts for beginners

Numeric Array

Example 1In this example the ID key (index) is

automatically assigned:

$names = array("Peter", "Quagmire", "Joe");

33

Page 34: PHP complete reference with database concepts for beginners

Numeric Array

Example 2In this example we assign the ID key manually:

$names[0] = "Peter";$names[1] = "Quagmire";$names[2] = "Joe";

34

Page 35: PHP complete reference with database concepts for beginners

Displaying Numeric Array

<?php$names[0] = "Peter";$names[1] = "Quagmire";$names[2] = "Joe";echo $names[1] . " and " . $names[2] ." are ". $names[0] . "'s neighbors";?>

OutputQuagmire and Joe are Peter's neighbors

35

Page 36: PHP complete reference with database concepts for beginners

Associative Array

Example 1$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

Example 2$ages['Peter'] = "32";$ages['Quagmire'] = "30";$ages['Joe'] = "34";

Displaying Associative Array<?php$ages['Peter'] = "32";$ages['Quagmire'] = "30";$ages['Joe'] = "34";echo "Peter is " . $ages['Peter'] . " years old.";?>

OutputPeter is 32 years old.

36

Page 37: PHP complete reference with database concepts for beginners

Loops

37

Page 38: PHP complete reference with database concepts for beginners

Loops

In PHP we have the following looping statements:

• 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

• for - loops through a block of code a specified number of times

• foreach - loops through a block of code for each element in an array

38

Page 39: PHP complete reference with database concepts for beginners

while & do while Loops//Programs Displaying value from 1 to 5.

<html><body><?php$i=1;while($i<=5){echo "The number is " . $i . "<br />";$i++;}?></body></html>

<html><body><?php$i=0;do{$i++;echo "The number is " . $i . "<br />";}while ($i<5);?></body></html>

39

Page 40: PHP complete reference with database concepts for beginners

for and foreach Loops

<html><body><?phpfor ($i=1; $i<=5; $i++){echo "Hello World!<br />";}?></body></html>

<html> <body><?php$arr=array("one", "two", "three");foreach ($arr as $value){echo "Value: " . $value . "<br />";}?></body> </html>

//The following examples prints the text "Hello World!" five times:

40

Page 41: PHP complete reference with database concepts for beginners

Functions

41

Page 42: PHP complete reference with database concepts for beginners

Functions

Creating PHP functions:

• All functions start with the word "function()“• The name can start with a letter or underscore (not a

number)• Add a "{" – The code starts after the opening curly brace• Insert the code or STATEMENTS• Add a "}" - The code is finished by a closing curly brace

42

Page 43: PHP complete reference with database concepts for beginners

Functions//A simple function that writes name when it is called:

<html><body><?phpfunction writeMyName(){echo "Kai Jim Refsnes";}writeMyName();?></body></html>

// Now we will use the function in a PHP script: <html><body><?phpfunction writeMyName(){echo "Kai Jim Refsnes";}echo "Hello world!<br />";echo "My name is ";writeMyName();echo ".<br />That's right, ";writeMyName();echo " is my name.";?></body> </html>

OutputHello world!My name is Kai Jim Refsnes.That's right, Kai Jim Refsnes is my name.

43

Page 44: PHP complete reference with database concepts for beginners

Functions with Parameters//The following example will write different first names, but the same last name:

<html><body><?phpfunction writeMyName($fname){echo $fname . " Refsnes.<br />";}echo "My name is ";writeMyName("Kai Jim");echo "My name is ";writeMyName("Hege");echo "My name is ";writeMyName("Stale");?></body></html>

OutputMy name is Kai Jim Refsnes.My name is Hege Refsnes.My name is Stale Refsnes.

//The following function has two parameters: <html><body><?phpfunction writeMyName($fname,$punctuation){echo $fname . " Refsnes" . $punctuation . “<br/>";}echo "My name is ";writeMyName("Kai Jim",".");echo "My name is ";writeMyName("Hege","!");echo "My name is ";writeMyName("Ståle","...");?></body></html>

44

Page 45: PHP complete reference with database concepts for beginners

Functions: Return Values//Functions can also be used to return values. <html><body><?phpfunction add($x,$y){$total = $x + $y;return $total;}echo "1 + 16 = " . add(1,16);?></body></html>

Output1 + 16 = 17

45

Page 46: PHP complete reference with database concepts for beginners

Form (User Input)

46

Page 47: PHP complete reference with database concepts for beginners

PHP Form

The PHP $_GET and $_POST variables are used to retrieve information from forms, like user input.

PHP Form HandlingThe most important thing to notice when dealing with HTML forms and PHP is that any form element in an HTML page will automatically be available to your PHP scripts.

47

Page 48: PHP complete reference with database concepts for beginners

PHP Forms ($_POST)Example//The file name is input.html<html><body><form action="welcome.php" method="post">Name: <input type="text" name="name" />Age: <input type="text" name="age" /><input type="submit" /></form></body></html>

The example HTML page above contains two input fields and a submit button. When the user fills in this form and click on the submit button, the form data is sent to the "welcome.php" file.

// The "welcome.php" file looks like this: <html> <body>Welcome <?php echo $_POST["name"]; ?>.<br />You are <?php echo $_POST["age"]; ?> years old.</body> </html>

1

2

OutputWelcome John.You are 28 years old.

3

48

Page 49: PHP complete reference with database concepts for beginners

$_POST, $_GET, and $_REQUEST

• The $_POST variable is an array of variable names and values sent by the HTTP POST method.

• When using the $_GET variable all variable names and values are displayed in the URL. So this method should not be used to send sensitive information.

• The PHP $_REQUEST variable can be used to get the result from form data sent with both the GET and POST methods.

49

Page 50: PHP complete reference with database concepts for beginners

$_POST, $_GET, and $_REQUEST

Example:

//FILE calling welcome.php<form action="welcome.php" method="get">Name: <input type="text" name="name" />

$_GET Example://PHP file can now use the $_GET variable to catch the form dataWelcome <?php echo $_GET["name"]; ?>.<br />

$_REQUEST Example://PHP file can now use the $_GET variable to catch the form dataWelcome <?php echo $_REQUEST["name"]; ?>.<br />

OR

File

1: H

TML

File

2: P

HP

50

Page 51: PHP complete reference with database concepts for beginners

Database Handling

PHP and MySQL

51

Page 52: PHP complete reference with database concepts for beginners

MySQL

• MySQL is a database.• The data in MySQL is stored in database

objects called tables.• The data in MySQL is stored in database

objects called tables.• A database most often contains one or more

tables. Each table is identified by a name (e.g. "Customers" or "Orders").

52

Page 53: PHP complete reference with database concepts for beginners

MySQL

LastName FirstName Address City

Hansen Ola Timoteivn 10 Sandnes

Svendson Tove Borgvn 23 Sandnes

Pettersen Kari Storgt 20 Stavanger

All SQL queries are applicable in MySQL e.g. SELECT, CREATE, INSERT, UPDATE, and DELETE.

Below is an example of a table called "Persons":

53

Page 54: PHP complete reference with database concepts for beginners

PHP MySQL ConnectionSyntaxmysql_connect(servername,username,password);

Parameter Descriptionservername (Optional) - Specifies the server to connect to.

Default value is "localhost:3306"username (Optional) - Specifies the username to log in with.

Default value is the name of the user that owns the server process

password (Optional) - Specifies the password to log in with.Default is "".

54

Page 55: PHP complete reference with database concepts for beginners

Opening PHP MySQL ConnectionExampleIn the following example we store the connection in a variable

($con) for later use in the script. The "die" part will be executed if the connection fails:

<?php$con = mysql_connect("localhost",“user",“password");if (!$con){die('Could not connect: ' . mysql_error());}// some code?>

55

Page 56: PHP complete reference with database concepts for beginners

Closing PHP MySQL ConnectionThe connection will be closed automatically when the script ends. To close the connection before, use the mysql_close() function:

<?php$con = mysql_connect("localhost",“user",“password");if (!$con){die('Could not connect: ' . mysql_error());}// some codemysql_close($con);?>

56

Page 57: PHP complete reference with database concepts for beginners

Create Database

SyntaxCREATE DATABASE database_name

ExampleThe following example creates a database called "my_db":

die('Could not connect: ' . mysql_error());}if (mysql_query("CREATE DATABASE my_db",$con)){ echo "Database created"; }else{ echo "Error creating database: " . mysql_error(); }mysql_close($con);?>

<?php$con = mysql_connect("localhost“, ”user_name",“password");if (!$con){

57

Page 58: PHP complete reference with database concepts for beginners

Create Table

SyntaxCREATE TABLE table_name(column_name1 data_type,column_name2 data_type,column_name3 data_type,....)

FirstName varchar(15),LastName varchar(15),Age int )";// Execute querymysql_query($sql,$con);mysql_close($con);?>

Example:

<?php$con =mysql_connect("localhost", “user",“password");if (!$con){ die('Could not connect: ' . mysql_error()); }// Create databaseif (mysql_query("CREATE DATABASE my_db",$con)){ echo "Database created"; }else{ echo "Error creating database: " . mysql_error(); }// Create tablemysql_select_db("my_db", $con);$sql = "CREATE TABLE Persons (

58

Page 59: PHP complete reference with database concepts for beginners

Create TablePrimary Key and Auto Increment Fields

• Each table should have a primary key field.• The primary key field cannot be null & requires a value.

Example $sql = "CREATE TABLE Persons(personID int NOT NULL AUTO_INCREMENT,PRIMARY KEY(personID),FirstName varchar(15),LastName varchar(15),Age int)";mysql_query($sql,$con);

59

Page 60: PHP complete reference with database concepts for beginners

Insert Data

Syntax:

INSERT INTO table_nameVALUES (value1, value2, value3,...)

OR

INSERT INTO table_name (column1, column2, column3,...)VALUES (value1, value2, value3,...)

60

Page 61: PHP complete reference with database concepts for beginners

Insert Data

Example

<?php$con = mysql_connect("localhost", “user_name",“password");if (!$con){ die('Could not connect: ' . mysql_error()); }mysql_select_db("my_db", $con);mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Peter', 'Griffin', '35')");mysql_query("INSERT INTO Persons (FirstName, LastName, Age)VALUES ('Glenn', 'Quagmire', '33')");mysql_close($con);?>

61

Page 62: PHP complete reference with database concepts for beginners

Insert Data (HTML FORM to DB)

<!-- Save this file as web_form.html --><html><body><form action="insert.php" method="post">Firstname: <input type="text" name="firstname" />Lastname: <input type="text" name="lastname" />Age: <input type="text" name="age" /><input type="submit" /></form></body></html>

Note: Two files are required to input and store data. First, web_form.html file containing HTML web form. Secondly, insert.php (on next slide) file to store received data into database.

Note: Two files are required to input and store data. First, web_form.html file containing HTML web form. Secondly, insert.php (on next slide) file to store received data into database. 62

Page 63: PHP complete reference with database concepts for beginners

Insert Data (HTML FORM to DB)//Save this file as insert.php<?php$con = mysql_connect("localhost", “user_name",“password");if (!$con){ die('Could not connect: ' . mysql_error()); }mysql_select_db("my_db", $con);$sql="INSERT INTO Persons (FirstName, LastName, Age)VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()); }echo "1 record added";mysql_close($con)?>

63

Page 64: PHP complete reference with database concepts for beginners

Retrieve Data

Example:

<?php

$con = mysql_connect("localhost", “user_name",“password");if (!$con){ die('Could not connect: ' . mysql_error()); }mysql_select_db("my_db", $con);$result = mysql_query("SELECT * FROM Persons");while($row = mysql_fetch_array($result)){ echo $row['FirstName'] . " " . $row['LastName']; echo "<br />“;}mysql_close($con);?>

mysql_query() function is used to send a query.

64

Page 65: PHP complete reference with database concepts for beginners

Display Retrieved Data

Example:

<?php$con = mysql_connect("localhost",

“user_name",“password");if (!$con){die('Could not connect: ' . mysql_error());}mysql_select_db("my_db", $con);$result = mysql_query("SELECT * FROM Persons");echo "<table border='1'><tr><th>Firstname</th>

<th>Lastname</th></tr>";while($row =

mysql_fetch_array($result)){echo "<tr>";echo "<td>" . $row['FirstName'] .

"</td>";echo "<td>" . $row['LastName'] .

"</td>";echo "</tr>";}echo "</table>";mysql_close($con);?>

65

Page 66: PHP complete reference with database concepts for beginners

Searching (using WHERE clause)

Example:<?php$con = mysql_connect("localhost",“user_name",“password");if (!$con){ die('Could not connect: ' . mysql_error()); }mysql_select_db("my_db", $con);$result = mysql_query("SELECT * FROM PersonsWHERE FirstName='Peter'");while($row = mysql_fetch_array($result)){ echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; }?>

OutputPeter Griffin

66

Page 67: PHP complete reference with database concepts for beginners

UpdateExample

<?php$con = mysql_connect("localhost",“user_name",”password");if (!$con){die('Could not connect: ' . mysql_error());}mysql_select_db("my_db", $con);mysql_query("UPDATE Persons SET Age = '36'WHERE FirstName = 'Peter' AND LastName = 'Griffin'");mysql_close($con);?> Peter Griffin’s age was 35

Now age changed into 3667

Page 68: PHP complete reference with database concepts for beginners

DeleteExample:

<?php$con = mysql_connect("localhost",“user_name",“password");if (!$con){die('Could not connect: ' . mysql_error());}mysql_select_db("my_db", $con);mysql_query("DELETE FROM Persons WHERE LastName='Griffin'");mysql_close($con);?>

68

Page 69: PHP complete reference with database concepts for beginners

WAMP Server (Apache, PHP, and MySQL)

Installation69

Page 70: PHP complete reference with database concepts for beginners

Installation

What do you need? Most people would prefer to install all-in-one

solution:

– WampServer -> for Windows platform Includes: • Apache 2.2.11 - MySQL 5.1.36 - PHP 5.3.0 • Download from http://www.wampserver.com/en/

– http://lamphowto.com/ -> for Linux platform

70

Page 71: PHP complete reference with database concepts for beginners

Software to be used

WampServer provides a plateform to develop web applications using PHP, MySQL and Apache web server. After successful installation, you should have an new icon in the bottom right, where the clock is:

Wampserver (Apache, MySQL, PHP for Windows)

71

Page 72: PHP complete reference with database concepts for beginners

WAMP

Local Host IP address 127.0.0.1

72

Page 73: PHP complete reference with database concepts for beginners

Saving your PHP files

Whenever you create a new PHP page, you need to save it in your WWW directory. You can see where this is by clicking its item on the menu:

When you click on www directory You'll probably have only two files, index and testmysql.

This www folder for Wampserver is usally at this location on your hard drive:

c:/wamp/www/

73

Page 74: PHP complete reference with database concepts for beginners

Thank You.