INTRODUCTION TO PHP/MYSQL I FTSM Lab / May 2011. Goal Provide the basic knowledge of PHP...

Post on 11-Jan-2016

227 views 2 download

Transcript of INTRODUCTION TO PHP/MYSQL I FTSM Lab / May 2011. Goal Provide the basic knowledge of PHP...

INTRODUCTION TO PHP/MYSQL I

FTSM Lab / May 2011

Goal

Provide the basic knowledge of PHP programming Explain how you can code and run PHP

scripts Creating dynamic pages Basic database interactions – read, insert,

update and delete data Basic session management PHP Application packages

StructureHTML/XHTML

CSS

JavaScript

DatabasePHP

HTML/JavaScript/CSS

http://www.w3schools.com HTML, JavaScript and CSS tutorials

Client-server architecture

What is PHP?

PHP = ‘Hypertext PreProcessor’ Originally created by Rasmus

Lerdorf in 1994 The main implementation of PHP

is now produced by The PHP Group (de facto standard for PHP) - http://www.php.net/

Open-source (access to source code and free distribution right), server-side scripting language

How PHP works

PHP on Windows

Method1

IIS

FastCGI + PHP

mySQL

Method2

Apache

PHP

mySQL

Method3

WAMP Packages

Method4

Web Hosting

How to run PHP scripts

Webhosting

Webhosting information

WAMP Packages - XAMPP

http://www.apachefriends.org/en/index.html

Version for Windows includes: Apache, MySQL, PHP, Perl, phpMyAdmin, JpGraph, FileZilla FTP Server, SQLite etc.

WAMP Packages - WAMPServer http://www.wampserver.com/en/

Version for Windows includes: Apache, PHP, Mysql (version 64 and 32 bits), PhpMyadmin, SQLBuddy, XDebug, webGrind, XDC

Basic syntaxes, data types, variable, control structures, arrays, function

PHP Scripts

PHPVARIABLESBASIC

SYNTAXDATA TYPE

FUNCTION

CONTROL STATEMEN

TSDATABASE

CONNECT/ READ

INSERTUPDAT

EDELET

E

SESSIONPHP

PACKAGES

PHP code

Structurally similar to C/C++ All PHP statements end with a semi-colon Each PHP script must be enclosed in the

reserved PHP tag

<?php……?>

PHP code - comments

Standard C, C++, and shell comment symbols

// C++ and Java-style comment

# Shell-style comments

/* C-style comments These can span multiple lines */

PHP code - output

<?php$nilai = 25; // Numerical variable$ayat = “Hello”; // String variable

echo $ayat; // Outputs Helloecho $nilai, $ayat; // Outputs 25Helloecho “5x5=”,$nilai; // Outputs 5x5=25echo “5x5=$nilai”; // Outputs 5x5=25echo ‘5x5=$nilai’; // Outputs 5x5=$nilai?>

Use ‘echo’ or ‘print’ Strings in single quotes (‘ ’) are not

interpreted or evaluated by PHP

If the string has a set of double quotation marks that must remain visible, use the \ [backslash] before the quotation marks to ignore and display them.<?php

$jab=“\”PHP\””;

print $jab; //”PHP”

?>

PHP – escape character

PHP code - variables

PHP variables must begin with a “$” sign Case-sensitive ($var != $VAR != $vAr) Global and locally-scoped variables

Global variables can be used anywhere Local variables restricted to a function or

class Certain variable names reserved by PHP

Form variables ($_POST, $_GET) Server variables ($_SERVER)

PHP code – variables

<?php

$nilai = 25; //Numerical variable$ayat = “Hello”; //String variable

$nilai = ($nilai * 7); //Multiplies variable nilai by 7

?>

PHP code - operations<?php

$a=30;$b=5;$total=$a+$b;print $total; //35print “<p>Jumlah ialah $total</p>”;

// Jumlah ialah 35

print $a-$b; //25print $a*$b; //150print $a/$b; //6print $a+=$b; //35print $a%$b; //0

?>

Use a period to join strings into one.

<?php

$string1=“Hello”;$string2=“PHP”;

$string3=$string1 . “ ” . $string2;

print $string3; //Hello PHP

?>

PHP code – strings function

PHP – Control Statements

Control structures similar with JavaScript/C++ if, elseif, else switch, case while for foreach

PHP - if, elseif, else

<?php

$markah = 90;

if ($markah >= 80)echo “Lulus dengan cemerlang";

elseif ($markah >= 40)   echo “Lulus";else   echo “Gagal";

?>

PHP control – switch

…switch ($jantina){

case “L”:   echo “Lelaki";   break;

case “P”:   echo “Perempuan";   break;

default:   echo “Tiada input jantina";

}…

PHP control – while loops

<?php

$nombor = 1;

while ($nombor!=10){print “Bilangan $nombor”;$nombor++;}

?>

PHP control – for loops

<?php

for ($n = 1; $n<=10; $n++){print “Bilangan $n”;}

?>

PHP control – foreach loops

<?php

$numbers = array("one","two","three");

foreach ($numbers as $value) {echo $value . "<br />";

  }

?>

PHP arrays

Three kind of arrays: Numeric array - An array with a

numeric index Associative array - An array

where each ID key is associated with a value

Multidimensional array - An array containing one or more arrays

PHP – numeric arrays

<?php

//numeric array$cars = array("Saab","Volvo","BMW",“Ford");

echo $cars[2]; //BMW

?>

PHP – associative arrays

<?php

//associative array

$umur = array ("Raju"=>32, "Gopal"=>34, "Samy" => 36); //same as $umur[‘Raju’]=32…

echo $umur[‘Gopal’]; //34

?>

PHP - multi dimensional arrays<?php

//multidimensional array

$kump = array ("Merah"=> array ("Ali", "Raju", "Joan"), "Biru"=> array ("Abu", "Jason", "Lin"), "Hijau" => array ("David", "Jim", "Mary");

echo $kump [‘Merah’][2]; //Joanecho $kump [‘Hijau’][0]; //David

?>

PHP array functions array_push() – adds element/s to an array

<?php

$a=array("Dog","Cat");array_push($a,"Horse","Bird");print_r($a);

/*Array ([0]=>Dog [1]=>Cat [2]=>Horse [3]=>Bird) */

?>

PHP array functions array_pop() – deletes last element in an array

<?php

$a=array("Dog","Cat","Horse");array_pop($a);print_r($a);

// Array ([0]=>Dog [1]=>Cat)

?>

PHP array functions

unset() – destroy a variable

$array = array(0, 1, 2, 3);unset($array[2]);

/* array(3) { [0]=>int(0)

[1]=>int(1) [3]=>int(3)} */

Functions MUST be defined before they can be called

Function headers are of the format

function function_name ($var1, $var2…){

…}

Function names are not case sensitive

PHP - functions

<?php// This is a functionfunction darab($arg1, $arg2){

$arg3 = $arg1 * $arg2;return $arg3;}

echo darab(12,3); // 36?>

PHP - functions

PHP - Using external files

Using external files for: HTML codes Structure – template files like headers, footers Functions – separate file to store all functions Config – separate configurationsettings in different file

PHP – include and require

Four functions: include() include_once() require() require_once()

Generates warnings when the function doesn’t work

Generates errors and halts scripts when the function doesn’t work

Using “include” to include external files

<?phpinclude “header.php”Include “tarikh.php”include “menubar.php”…?>

<?phpprint “Tarikh hari ini ialah $date2”;

?>

PHP - include

PHP References

• http://www.php.net <- php home page• http://www.php.net/downloads <- php

download page• http://www.php.net/manual/en/install.wind

ows.php <- php installation manual

• http://www.w3schools.com/php/default.asp <-php online tutorial

SQL, MySQL, phpMyAdmin, creating database and tables

Database and SQL

SQL

SQL – Structured Query Language SQL can be used to access and

manipulate databases

SELECT * FROM pelajar

SELECT * FROM pelajarWHERE NoMatrik=‘A123456’

SQL Queries

Query database for specific information and have a recordset returned from table

SELECT nama FROM pelajar

namaJalil

GopalAh Meng

SQL Keywords

SELECT – select from tables FROM – specifies tables WHERE – specifies criteria

INSERT – inserts data into table UPDATE – updates data in table DELETE – deletes data in table

CREATE – create new table DROP – delete existing table

SQL Keywords Usage

SELECT * FROM pelajarOutput: select all columns from table pelajar

SELECT nama, nomatrik FROM pelajarOutput: select columns nama and nomatrik from

table pelajar

SELECT nama, nomatrik FROM pelajarWHERE nomatrik=‘A12345’Output: select columns nama, nomatrik from table

pelajar where row nomatrik equals ‘A12345’

SQL Keywords Usage

INSERT INTO pelajar (nomatrik, nama, jabatan, kumpulan)

VALUES (‘A12365’, ‘Hashim’, ‘4’, ‘9’) Action: insert specified value to table pelajar,

creating new row

DELETE FROM pelajarWHERE nomatrik=‘A12369’Action: select row from table pelajar where

nomatrik as specified and delete the row

SQL Keywords Usage

UPDATE pelajar SET nama = ‘Hisham’WHERE nama = ‘Hashim’ AND

nomatrik = ‘A12365’Action: update specified row to table

pelajar

MySQL

MySQL - "My Structured Query Language“ Created by Michael Widenius from TcX

(Sweden) in 1994 Open-source, relational database

management system MySQL is used in web applications and acts

as the database component of the WAMP/LAMP

Used in free software projects (e.g. WordPress, Joomla)

MySQL and WAMP/LAMP

Download at www.mysql.com

MySQL Interfaces

Interfaces to manage and browse database easily phpMyAdmin heidiSQL MySQL-Front SQLyog

phpMyAdmin

Creating Database

CREATE DATABASE databasename

Creating Tables

Some of MySQL data types:

Type Description

CHAR [length]

Fixed-length, 0 to 255 characters long

VARCHAR [length]

Variable-length, 0 to 255 characters long

TEXT String, maximum 65,535 characters

INT [length] -2.147 millions to 2,147 millions

DATE YYYY-MM-DD format

TIME HH:MM:SS

Creating Tables

1. Choose a suitable name and create table

2. Identify columns names3. Identify data types4. Identify suitable MySQL data type5. Identify suitable length

Creating Tables

Creating table for a guestbook application

Creating Tables

Identifying column general data type

Column name

Type

ID NumberNAMA TextEMAIL TextTARIKH Date/timeKOMEN Text

Table: guestbook

Column name

Type MySQL data type

ID Number INT

NAMA Text VARCHAR [40]

EMAIL Text VARCHAR [40]

TARIKH Date/time DATETIME

KOMEN Text TEXT

guestbook

ID NAMA EMAIL TARIKH KOMEN

1 Simon simon@yahoo.com

2010-09-21

07:40:48

Excellent website! Well done!

2 Azizi azizi@hotmail.com

2010-09-23

10:20:48

Sila lawati laman web saya:

azizi.com.my

3 Wei Yoong

wy@gloomy.co.uk

2010-09-23

10:45:12

Still waiting for the updates :D

Read, insert, update and delete data using PHP

PHP and MySQL

DELETE DATA

CREATE CONNECTION

CLOSE CONNECTION

INSERT DATA

READ DATA

UPDATE DATA

PHP Creating & Closing Connection Use mysql_connect() and mysql_close()

$con = mysql_connect (servername, username, password);

if (!$con) {die('Could not connect: ' . mysql_error());}

…mysql_close($con);

PHP Selecting Database

Use mysql_select_db()

…$con = mysql_connect (servername, username, password);

mysql_select_db (databasename, $con);…

PHP Displaying data

Use mysql_query() to run SQL The return result are usually in array

form$result = mysql_query ("SELECT * FROM guestbook");

while($row = mysql_fetch_array ($result)) {echo $row[‘NAMA'] . “-" . $row[‘EMAIL'] .

”-” . row[‘TARIKH'] . “-" . $row[‘KOMEN'];  }

PHP Inserting data

…//run querymysql_query("INSERT INTO guestbook(ID, NAMA, EMAIL, TARIKH, KOMEN) VALUES (5, ‘Jason', ‘jason@gmail.com‘, NOW(), ‘Website yang bagus!’)");…

Use mysql_query()

PHP Inserting data

//Create query$qry = "INSERT INTO guestbook (ID, NAMA, EMAIL, TARIKH, KOMEN) VALUES (5, ‘Jason', ‘jason@gmail.com‘, NOW(), ‘Website yang bagus!’)”;

//Run querymysql_query($qry);…

PHP Inserting data from Form

HTML FORM PHP

PHP Inserting data from Form

PHP Inserting data from Form

…  $sql="INSERT INTO guestbook (NAMA, EMAIL, TARIKH, KOMEN)VALUES ('$_POST[nama]', '$_POST[email]‘, '$_POST[tarikh]‘, '$_POST[komen]')";…

PHP Displaying data in table

…echo "<table>"; while($row = mysql_fetch_array($result)) {

echo "<tr>";echo "<td>" . $row[‘NAMA'] . "</td>";echo "<td>" . $row[‘EMAIL'] . "</td>";echo "<td>" . $row[‘TARIKH'] . "</td>";echo "<td>" . $row[‘KOMEN'] . "</td>";echo "</tr>";  }

echo "</table>"; …

PHP Updating data

Use UPDATE /SET /WHERE to update data

mysql_query (“UPDATE guestbook SET EMAIL = ‘simon_new@yahoo.com’ WHERE NAMA = ‘Simon‘ ");  }

PHP Deleting data

Use DELETE FROM /WHERE to delete data from database

…mysql_query (“DELETE FROM guestbook WHERE Nama = ‘Simon‘ ");…

Update/Delete in Form

Modify display table form to incorporate update/delete functions

//make a link at the end of each table row for UPDATE and DELETE…echo “<td>”;echo "<a href='delete.php?cmd=delete&id=$id‘>Delete</a>"; echo “</td><td>”;echo "<a href=‘update.php?&id=$id‘>Delete</a>"; echo "<br>";

if($_GET["cmd"]=="delete") {…}

HTTP Requests

GET Gets/retrieves information from server (e.g

retrieve an image, fetch search results) Sends information as part of URL (visible,

2048 chars limit) Cached, bookmark-able

POST Posts/sends data (e.g login information, post

form data) Submitted data is hidden (invisible) Non-cached, non-bookmark-able

Update Process

Select data by primary key using SQL SELECT

Use SQL UPDATE to update data

User sessions

PHP Session Management

Sessions

Using session identifier in server to locate and store user data

Advantage over cookies: More secure – all data stored in server Not browser/computer dependent – some

users reject cookies/turn off Store more data than cookie

Use session_start() and $_SESSION[variable]

Sessions

…//login processsession_start();$_SESSION[‘user_id’] = A11201;…

…session_start();If (isset($_SESSION[‘user_id’])){…

…//reset session array$_SESSION = array();//delete sessionsession_destroy();…

Installing packages, customizing packages

PHP Application Packages

PHP packages

Useful and easy to install PHP applications Phpmyadmin Joomla modx phpBB Wordpress Mediawiki zend

phpMyadmin

MySQL interface Deployment:

Download from site Unzip to web document root

Joomla

Multi-user CMS Deployment:

Download and unzip inweb document root Launch install script

modx

Multi-user CMS

phpBB

Bulletin board

Wordpress

Blogging application - http://www.wordpress.org

MediaWiki

Wiki - http://www.mediawiki.org/wiki/MediaWiki

Zend

http://framework.zend.com

THANK YOU