Bab 1

BAB 1 : PENGENALAN PHP


  • Apa Itu PHP ? PHP adalah PHP Hypertext Preprocessor.
  • PHP dicipta oleh Rasmus Lerdorf.
  • PHP adalah bahasa pengaturcaraan yang boleh berinteraksi dgn server (server side scripting).
  • Ia juga boleh digunakan di dalam HTML itu sendiri.
  • Ini menjadikan PHP ini lebih senang di fahami berbanding dengan pesaingnya yang lain seperti ASP, Cold Fusion, JSP, Perl, Python dan lain-lain.

BAB 1.1 : PENGENALAN PHP


  • PHP memerlukan pelayan server (web server) untuk berfungsi seperti Apache dan IIS.
  • Walau bagaimanapun, PHP akan menjadi lebih stabil dengan menggunakan Apache sebagai pelayan server.

BAB 1.2 : PENGENALAN PHP


  • PHP juga boleh berinteraksi dengan pangkalan data (database) bagi membangunkan aplikasi web yang dinamik.
  • Antara pangkalan data yang boleh berinteraksi dengan PHP adalah Mysql, Mssql, Oracle, PostgreSql, dBase, mSQL, ODBC dan Sybase
  • PHP mempunyai modul atau API tertentu supaya dapat berkomunikasi dengan pangkalan data tersebut.
  • Di antara pangkalan data diatas yang paling stabil dan efektif berfungsi dengan PHP adalah Mysql.

Apakah Kelebihan PHP


  1. PHP dapat menghasilkan laman web yang dinamik berbanding laman web statik yang dihasilkan oleh HTML (HyperText Markup Language)
  2. Data-data dapat dimanipulasi dan dipaparkan dalam bentuk yang lebih menarik dan pelbagai
  3. Namun begitu, PHP juga boleh digabungkan penggunaannya dengan HTML

Apakah Kelebihan PHP


  1. PHP adalah aplikasi sumber terbuka (open source)
  2. Ini bermakna anda tidak perlu membuat bayaran atau lesen untuk menggunakan aplikasi ini.

Apakah Kelebihan PHP


  1. Kod (code) PHP adalah embed dan tidak dipaparkan dalam Web Browser Source Code
  2. Ini bermakna pelayar (client) tidak akan mengetahui maklumat data yang dicari seterusnya akan menjadikan ianya lebih selamat.

Bab 2

BAB 2 : Menulis Halaman PHP

Penyunting PHP


  • Kod PHP boleh ditulis menggunakan pelbagai penyunting (editor) seperti PHPed, Crimson Editor, Adobe Dreamweaver dan sebagainya.
  • Malah notepad juga boleh digunakan untuk menulis kod PHP.
  • Setiap penyunting mempunyai kelebihannya sendiri.

Script PHP Pertama Saya


  • Kod PHP ditulis dalam lingkungan <?php ... ?>
  • Setiap fail yang mengandungi kod-kod PHP perlu disimpan dalam format file.php
Latihan 1.1 : Halaman menggunakan kod PHP
<?php
?>
Latihan 1.2 : Contoh namafail.php
<?php
	echo 'Aku tanya apa khabar';
?>

Kod Komen


  • Kod komen adalah berguna untuk membuat nota atau mematikan sesuatu fungsi atau kod
  • Terdapat 3 kaedah yang boleh digunakan untuk memasukkan komen dalam kod PHP iaitu menggunakan simbol #, // atau /* ... */
Latihan 2 : Menulis komen
<?php
// ini komen sebaris
# ini komen sebaris juga
/*
boleh komen
panjang panjang
*/

/////////////////////////////////////////////////////////////////////////
// untuk buat garisan

##########################################################################
# untuk buat garisan juga
?>

Backslash


  • Untuk kes-kes tertentu kita perlu memasukkan karektor (character) tertentu dalam string untuk kita paparkan dipelayar.
  • Antaranya ialah tanda ', ", \ dan $
  • Fungsi backslash adalah bagi memastikan string yang mengandungi karektor-karektor ini akan dapat dipaparkan
Latihan 3 : Menggunakan backslash
<?php
	# guna ' 
	echo ' \' \" \\ \$ ';
	
	# guna "
	echo " \' \" \\ \$ ";

?>

Bab 3

BAB 3 : SINTAKS ASAS PHP

Bab 3.1 : Jenis-jenis Data

  • Terdapat 3 jenis data asas dalam PHP iaitu interger, double dan string.
  • Selain itu PHP juga mempunyai data yang lebih kompleks iaitu arrays dan objects.
  • Integer adalah data dalam bentuk nombor.
    Contohnya: 2, 564
  • Double pula adalah data dalam bentuk perpuluhan.
    Contohnya: 2.62, 0.23
  • Manakala string adalah data yang atau tidak mengandungi interger atau double.
  • Contohnya: Saya suka belajar PHP, "2"

Bab 3.2 : Pembolehubah PHP

  1. Seperti bahasa pengaturcaraan yang lain, PHP juga boleh menyimpan data sebagai pembolehubah (variables)
  2. kemudiannya memanggil data tadi dengan menggunakan nama pembolehubah yang telah ditetapkan tadi.
  3. Setiap pembolehubah akan bermula dengan symbol $.

Bab 3.2 : Pembolehubah PHP

  1. isset() digunakan untuk menyemak samada sesuatu pembolehubah telah dicipta atau belum.
  2. empty() adalah bertentangan dengan isset().
    Ia akan menjadi true jika tiada pembolehubah ditetapkan
    atau nilai bagi pembolehubah berkenaan adalah 0.
  3. unset() digunakan untuk menghapus pembolehubah berkenaan.
Latihan 4 : Mencipta dan memanggil pembolehubah
<?php
$mula = 1;
echo (isset($mula) '$mula sudah wujud
' ? '$mula tidak wujud
'; echo (empty($mula) "\$mula = $mula
" ? "\$mula = kosong
"; unset($mula); echo (isset($mula) '$mula sudah wujud
' ? '$mula tidak wujud
'; ?>

Bab 3.3 : Pengecam (Identifiers)

  • Pengecam adalah cara bagi nama untuk pembolehubah, fungsi, dan pelbagai lagi
  • Ia memegang sesuatu nilai yang telah diistiharkan.
  • Biasanya dalam bentuk '$'.
    Contohnya : $maklumat, $tempat.
  • Ia juga adalah case sensitive.
  • Nilai yang dipegang oleh $maklumat tak sama dengan nilai yang dipegang oleh $Maklumat.
  • Ia tidak boleh dimulai dengan nombor.

Bab 3.3 : Pengecam (Identifiers)

BolehTidak boleh
saya_zahraIni&itu
Saiz!kaunter
_perkataan3suku

Bab 3.4 : Pemalar (Constant)

  • Nilai yang dibawa oleh identifiers boleh berubah melalui proses atau fungsi tertentu.
  • Namun ada juga nilai yang tetap iaitu pemalar (constant).
  • PHP juga mempunyai pemalar yang telah siap dibina seperti PHP_VERSION, PHP_OS, TRUE, FALSE
  • defined() digunakan bagi menyemak samada pemalar telah dicipta atau belum
Latihan 5 : Mencipta dan menggunakan pemalar
<?php
	# isytihar tatarajah mysql
	define('DB_TYPE', 'mysql');
	define('DB_HOST', 'localhost');
	define('DB_NAME', 'rahsia');
	define('DB_USER', 'root');
	define('DB_PASS', '***');
?>

Bab 4

BAB 4 : OPERATOR

  • Operator digunakan untuk menentukan sesuatu nilai dengan melakukan operasi terhadap satu atau lebih nilai yang lain.
  • Di dalam PHP konsep operasi adalah hampir sama dengan konsop operasi C atau Perl.

Operator Aritmetik


+ Tambah 6 + 2
- Tolak 6 - 2
* Darab 6 * 2
/ Bahagi 6 / 2
% Modulus 7 % 2
Latihan 6 : Penggunaan operator aritmetik
<?php
?>

Operator Perbandingan


== Sama dengan 6 == 6
> Lebih besar 6 > 2
< Lebih kecil 2 < 6
>= Lebih sama atau sama dengan 6 >= 6
<= Lebih kecil atau sama dengan 2 <= 6
!= Tidak sama 6 != 2
<> Tidak sama 6 <> 2
Latihan 7 : Penggunaan operator perbandingan
<?php
?>

Operator Logikal


&& Dan $a && $b
|| Or $a || $b
and Dan $a and $b
or Atau $a or b
! Tidak !$a
Latihan 8 : Penggunaan operator logikal
<?php
?>

Bab 5

Bab 5 : PERNYATAAN

Bab 5.1 : Pernyataan if

  • Pernyataan yang berada dalam syarat if hanya akan diproses sekiranya ia memenuhi syarat tersebut.
  • Simbol { dan } akan digunakan sekiranya proses melibatkan lebih daripada satu pernyataan.
  • Syarat-syarat tersebut juga boleh menggabungkan dua
    atau lebih operator logikal seperti &&, ||, and atau or.
Latihan 9 : Penggunaan pernyataan if
<?php
$mula = 1; echo (isset($mula) '$mula sudah wujud
' ? '$mula tidak wujud
'; $mula = 0; if (isset($mula): echo '$mula sudah wujud
'; else: '$mula tidak wujud
'; endif; if (isset($mula) echo '$mula sudah wujud
'; else '$mula tidak wujud
'; ?>

Bab 5.2 : Pernyataan switch

  • Konsep pernyataan switch hampir sama dengan
    pernyataan if iaitu bagi tujuan membuat perbandingan
    terhadap sesuatu nilai.
  • Pernyataan switch lebih efisyen digunakan sekiranya
    anda membuat perbandingan antara satu
    pembolehubah dengan nilai-nilai yang banyak.
Latihan 10 : Penggunaan switch
<?php
$warna = 'merah';

switch ($warna) 
{
	case 'merah':
		echo "Warna kegemaran adalah merah!!!";
		break;
	case 'biru':
		echo "Warna kegemaran adalah biru!!!";
		break;
	case 'hijau':
		echo "Warna kegemaran adalah hijau!!!";
		break;
	default:
		echo "Warna kegemaran bukan merah, biru atau hijau !!!";
}
?>

Bab 5.3 : Pernyataan Loop

  • Pernyataan loop digunakan untuk mengulangi sesuatu arahan bagi satu set pernyataan yang ditetapkan.
  • Terdapat 3 jenis pernyataan loop iaitu while loop, do... while loop dan for loop.
  • Terdapat pernyataan loop yang khas iaitu foreach. Biasanya melibatkan tatasusunan.
Latihan 11.1 : Penggunaan pernyataan while loop
<?php
$x = 1;

while($x <= 5) 
{
	echo "Ini nombor: $x 
"; $x++; } ?>
Latihan 11.2 : Penggunaan pernyataan do... while loop
<?php
$i = 0;

do{ $i++; }
while($i < 10);

echo "Gelong berhenti pada i = $i";
?>
Latihan 12 : Penggunaan pernyataan for loop
<?php
for ($x = 0; $x <= 10; $x++) 
{
    echo "Ini nombor: $x 
"; }
Latihan 13 : Penggunaan pernyataan foreach
<?php
$x = array(1,2,3,4,5,6,7,8,9,10);
foreach ($x as $kunci => $nilai) 
{
    echo "\$kunci = $kunci | \$nilai = $nilai 
"; } ?>

Bab 5.4 : Memasukan Fail Ke Dalam Halaman PHP

  • PHP mempunyai 2 lagi pernyataan iaitu require() dan include()
  • Ia membolehkan sesuatu halaman PHP memanggil sesuatu fungsi atau pemalar yang telah dikodkan dalam sesuatu halaman PHP yang lain.
  • require() lebih sesuai digunakan untuk mendapatkan nilai pemalar kekal.
Latihan 14 : Penggunaan require() dan include()
<?php
require 'tatarajah.php';
include 'jadual.php';
?>

Bab 6

BAB 6 : FUNGSI

  • Fungsi adalah satu blok kod yang boleh dipanggil untuk melakukan sesuatu proses tertentu.
  • Fungsi diistiharkan menggunakan pernyataan function.
Latihan 15 : Penggunaan fungsi
<?php
function kira($kiraan)
{
    # pecahan kepada ratus
    return number_format($kiraan,0,'.',',');
} 

echo kira(123456); # output 123,456
?>
1.1 Membentuk Function
<?php
function namaFunction ($var1,$var2,$var3)
{
		Arahan-arahan;
}
?>
1.2 Memanggil Function
<?php
namaFunction ($var1,$var2,$var3);
?>
Contoh ringkas
<?php
selamatDatang();

function selamatDatang()
{
	print"Selamat Datang
\n"; print"ke Pusat Pembangunan Maklumat dan Komunikasi
\n"; print"Universiti Putra Malaysia
\n"; } ?>
Menghantar maklumat
<?php
$aplikasi="Sistem XYZ";
selamatDatang("Abu",$aplikasi);

function selamatDatang($nama,$app)
{
	print"Selamat Datang $nama
\n"; print" ke aplikasi $app
\n"; print"Universiti Putra Malaysia
\n"; } ?>
Menerima maklumat
<?php
$gaji=1000;
$bil=230;
$baki = kiraBaki($gaji, $bil);
jumlahBersih(kiraBaki($gaji, $bil));

function kiraBaki($a,$b)
{
	$simpanan=$a-$b;
	return $simpanan;
}
?>
Menghantar maklumat ke fail lain
<?php
function selamatDatang($nama,$app)
{
	print"Selamat Datang $nama
\n"; print" ke aplikasi $app
\n"; print"Universiti Putra Malaysia
\n"; } include('failFunction'); selamatDatang('Abu",$aplikasi); ?>
1.3 Contoh-contoh Function
Membaca fail konfigurasi 'system.php'
<?php
//[Database]
host='xyz.upm.edu.my'; user='user1'; pwd='rahsia'; db='abcdef';
//[Konfig]
tajuk="Aplikasi XYZ"; versi=3.12;
'failFunction.php'
<?php
function bacaKonfigurasi()
{
	$ini_array = parse_ini_file("system.php",TRUE);
	return $ini_array;
}
<?php
include('failFunction.php');
$SETTING=bacaKonfigurasi();
Mengguna MySQL 'dll.php'
<?php
function connection($host,$ user,$ pswd,$ db)
{
	$link = mysql_connect($host, $ user, $ pswd) 
	or die("Could not connect");
	mysql_select_db($db) or die("Could not select database");
	return $link;
}
<?php
include('dll.php');
$SETTING=bacaKonfigurasi();
connection(
	$SETTING['Database']['host'], 
	$SETTING['Database']['user'], 
	$SETTING['Database']['pwd'], 
	$SETTING['Database']['db']
);
fungsi verifyUserInput
<?php
function verifyUserInput($userInput,$maxlength,$toLower,
$addSlashes,$stripTag,$stripNONnumber,$reserve2)
{
	$userInput=trim($userInput);
	if($toLower==1)
		{ $userInput=strtolower($userInput); }

	if($stripTag)
		{ $userInput=strip_tags($userInput); }

	if($addSlashes)
		{ $userInput=addslashes($userInput); }

	if($stripNONnumber)
	{ 
		$userInput=preg_replace("/\D/","",$userInput);
		$userInput=str_replace(" ","",$userInput); 
	}

	if($maxlength)
		{ $userInput=substr($userInput,0,$maxlength); }

	$userInput=rtrim($userInput);
	$userInput=ltrim($userInput);
	return $userInput;
}
fungsi selectInput
<?php
function selectInput($SETTING,$outputType,$table,$id,
$disp,$default,$order,$where1,$where2)
{	#$outputType, p=print v=return value
	$value="";
	if($where1) {$where = "where $where1";} else {$where="";}
	if($where2) {$where .= " $where2";} //tambah AND/OR sendiri
	if($order) {$order = "order by $order";}
	$sql="select $id,$disp from $table $where $order";
	$result=executemysql($SETTING,$sql);
	while($data=mysql_fetch_array($result))
	{
		if($data[0] == $default){$check="selected";} else {$check="";}
		if($outputType=="p")
		{print"<option value=$data[0] $check 
		style=\"background-Color:#eeffee\">$data[1]\n";}
		if($outputType=="v")
		{$value.="<option value=$data[0] $check 
		style=\"background-Color:#eeffee\">$data[1]\n";}
	}
	if($outputType=="v") {return $value; }
}
?>
checkboxInput()
<?php
function checkboxInput($SETTING,$column,$class,$tableName,$id,
$disp,$namePrefix,$valuePrefix,$default,
$hidden,$where1,$where2,$order,$js)
{
	/*
	$column = number bermaksud num of column
	$default = array of checked item  */
		  
	if($class) {$class = "class=$class";}
	if($where1) 
		{$where = "where $where1";} 
	else {$where="";}
	if($where2 and $where1) {$where .= " and $where2";}
	if($order) {$order = "order by $order";}
	$sql="select $id,$disp from $tableName $where $order";
	$result=executemysql($SETTING,$sql);
	$count=0;  
	print"<table>\n";
	while($data=mysql_fetch_array($result))
	{
		if(!$hidden OR !in_array($data[0], $hidden))
		{
			if($default AND in_array($data[0], $default))
			{$check="checked";} 
			else {$check="";}
			print "<td align=left $class>"
			. "<input type=checkbox name=$namePrefix$data[0] "
			. "value=$valuePrefix$data[0] $check $class $js>$data[1]</td>\n";
			$count++;
			if($count==$column) {print"<tr>"; $count=0;}
		}
	}
	print"</table>\n";
}
?>
borderStart()
<?php
function borderStart($width,$tajuk,$tab,$borderType)
{
	$TAB="";
	for($aa=1;$aa<=$tab;$aa++){$TAB.="\t";}

	list($leftwidth, $leftheight) = getimagesize("image/border/$borderType/1.png");
	list($rightwidth, $rightheight) = getimagesize("image/border/$borderType/3.png");
	$borderTitleclass="border".$borderType."Title";
	$borderTeksclass="border".$borderType."Teks";

	if($tajuk){$tajuk="<span class=$borderTitleclass>$tajuk</span><br>";} else{$tajuk="";}
	print"
	$TAB<table border=0 cellpadding=0 cellspacing=0 align=center width=$width height=100%>
	$TAB<tr valign=top height=$leftheight><td width=$leftwidth height=$leftheight background=/image/border/$borderType/1.png></td>
	$TAB<td background=/image/border/$borderType/2.png></td>
	$TAB<td height=$rightheight width=$rightwidth background=/image/border/$borderType/3.png></td>
	$TAB<tr valign=top><td background=/image/border/$borderType/4.png></td>
	$TAB<td background=/image/border/$borderType/5.png class=$borderTeksclass>$tajuk
	$TAB	
	\n";
}
?>
borderEnd()
<?php
function borderEnd($class,$text,$tab,$borderType)
{
	if($class){$class="class='$class'";}
	$TAB="";
	for($aa=1;$aa<=$tab;$aa++){$TAB.="\t";}

	list($leftwidth, $leftheight) = getimagesize("image/border/$borderType/7.png");
	list($rightwidth, $rightheight) = getimagesize("image/border/$borderType/9.png");

	print"
	$TAB	
	$TAB</td>
	$TAB<td background=/image/border/$borderType/6.png>
	$TAB<tr valign=top> 
	$TAB<td background=/image/border/$borderType/8.png $class valign=center>$text 
	$TAB<td background=/image/border/$borderType/9.png border=0 height=$rightheight>
	$TAB</table>
	\n";
}
?>
GET_REF_kodLANDLINE() & GET_REF_fullmonth($LANG)
<?php

function GET_REF_kodLANDLINE()
{return array('03','04','05','06','07','081','082','083','087','088','089','09','1300','1800');}

function GET_REF_fullmonth($LANG)
{
	if($LANG=="en")
		return array('', 'January', 'February', 'March', 'April', 
		'May', 'June', 'July', 'August', 
		'September', 'October', 'November', 'December'); 
	else 
		return array('', 'Januari', 'Februari', 'Mac', 'April', 
		'Mei', 'Jun', 'Julai', 'Ogos', 
		'September', 'Oktober', 'November', 'Disember'); 
}
?>

Bab 7

Bab 7.1 : Tatasusunan

  • Pembolehubah hanya membawa satu nilai tertentu.
  • Berbanding dengan pembolehubah, tatasusunan (arrays) pula membawa nilai lebih daripada satu.
  • Penggunaan tatasusunan adalah dalam bentuk array().
  • Tatasusunan mengandungi sebaris elemen dimana setiap elemen mempunyai nilai tersendiri.

Bab 7.2 : Contoh tatasusunan

$negara[0]$negara[1]$negara[2]$negara[3]$negara[4]
"MY""ID""SG""TH""UK"

Bab 7.3 : Membentuk Tatasusunan


  1. Cara mudah
  2. <?php $bunga= array("Ros","Orkid","Raya","Tulip");
    
  3. Menetapkan terus kedudukan dalam tatasusunan
  4. <?php
    $majalah[3]="Dewan Masyarakat";
    $majalah[23]="Ujang";
    
  5. Menggunakan associative array
  6. <?php
    $kereta=array("Proton"=>"Saga","Toyota"=>"Wish",
    "Nissan"=>"Livina");
    
  7. Mendapatkan dari pembolehubah lain
  8. <?php
    $kad_pengenalan = explode ('-', $ic);
    

Bab 7.3 : Membentuk Tatasusunan


  1. Menggunakan function PHP
  2. <?php
    #tambah elemen dibelakang array
    array_push ($pelajar,"Salleh"); 
    #buang elemen dibelakang array
    $terkini = array_pop ($pelajar); 
    #tambah elemen di hadapan array
    array_unshift ($pelajar,"Salleh"); 
    #buang elemen di hadapan array
    array_shift ($pelajar); 
    
  3. Menggunakan function PHP-MySQL
  4. <?php
    $data=mysql_fetch_array($result);
    
  5. Mendapatkan tatasusunan dari fail
  6. <?php
    $baris=file("pelajar.txt");
    

Bab 7.4 : Paparan Tatasusunan


  • Berikut merupakan kaedah yang boleh digunakan untuk memaparkan tatasusunan
  • Paparan elemen tertentu
  • <?php
    print  $majalah[3];
    print  $kereta["Toyota"];
    
  • Menggunakan function PHP
  • <?php
    print_r($namaArray);
    
  • Menggunakan foreach
  • <?php
    foreach($namaArray as $a=>$b)
    { print "$b";  }
    

Bab 7.5 : Tatasusunan Multi-dimensional


  • Tatasusunan juga boleh diisikan kebeberapa peringkat
<?php
$kereta= array( 
	'Proton'=>array('Saga','Iswara','Gen2'),
	'Toyota'=>array('Rav4','Wish','Alphard','Estima'),
	'Perodua'=>array('Kancil','Kembara','Kelisa')
);

print $kereta['Proton'][2];
print_r($kereta);

Bab 7.6 : Menghapuskan array


<?php
unset ($majalah[3]);
unset ($kereta);

Bab 7.7 : function array PHP


  • Selain dari contoh diatas, berikut merupakan function dalaman PHP yang lain untuk PHP
<?php
array_change_key_case, array_chunk, array_combine, array_count_values, array_diff_assoc, array_diff_uassoc, 
array_diff, array_fill, array_filter, array_flip, array_intersect_assoc, array_intersect, array_key_exists, 
array_keys, array_map, array_merge_recursive, array_merge, array_multisort, array_pad, array_pop, array_push, 
array_rand, array_reduce, array_reverse, array_search, array_shift, array_slice, array_splice, array_sum, 
array_udiff_assoc, array_udiff_uassoc, array_udiff, array_unique, array_unshift, array_values, 
array_walk_recursive, array_walk, array, arsort, asort, compact, count, current, each, end, extract, 
in_array, key, krsort, ksort, list, natcasesort, natsort, next, pos, prev, range, reset, rsort, 
shuffle, sizeof, sort, uasort, uksort, usort,
Latihan 16 : Penggunaan array
<?php
$x[0] = 'nombor1';
$x = array(1,2,3,4,5,6,7,8,9,10);
foreach ($x as $kunci => $nilai) 
{
    echo "\$kunci = $kunci | \$nilai = $nilai 
"; } ?>

Bab 8

Bab 8 : MANIPULASI FAIL

Selain daripada pangkalan data seperti mySQL, data juga boleh disimpan dalam fail teks.

Bab 8.1 : Membuka Fail

  • Sebelum kita boleh melihat atau mengakses data dalam sesuatu fail, kita perlu membuka fail tersebut.
  • Fungsi fopen() digunakan untuk membuka fail.
  • Di dalam fungsi fopen() juga terdapat beberapa mod pilihan iaitu:
ModKeterangan
a Membuka fail untuk menambah data. Data akan ditambah dibaris akhir dalam fail tersebut. Sekiranya fail berkenaan tiada, maka PHP akan mencipta fail tersebut.
a+ Membuka fail untuk menambah dan membaca data. Data akan ditambah dibaris akhir dalam fail tersebut. Sekiranya fail berkenaan tiada, maka PHP akan mencipta fail tersebut.
ModKeterangan
rMembuka fail untuk dibaca sahaja.
r+ Membuka fail untuk membaca dan menulis data. Data akan dimasukkan di baris pertama data fail berkenaan.
ModKeterangan
w Membuka fail untuk menulis data sahaja. Data akan dimasukkan ke dalam fail berkenaan. Data-data yang sedia ada dalam fail berkenaan akan terhapus. Sekiranya fail berkenaan tiada, maka PHP akan mencipta fail tersebut.
w+ Membuka fail untuk menulis dan membaca data. Data akan dimasukkan ke dalam fail berkenaan. Data-data yang sedia ada dalam fail berkenaan akan terhapus. Sekiranya fail berkenaan tiada, maka PHP akan mencipta fail tersebut.
Latihan 17 : Membuka fail
<?php
$fail = fopen("/rumah/kita/file.txt", "r");
$fail = fopen("/rumah/kita/file.gif", "wb");
$fail = fopen("http://www.example.com/", "r");
$fail = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>
ModKeterangan
b(windows) Menterjemahkan fail tersebut sebagai fail binary selain daripada fail teks. Contoh: imej.jpg Fungsi passthru() pula akan memaparkan fail yang dibuka.
Latihan 18 : Memaparkan fail
<?php
print exec("uptime");
passthru("who");

exec("dir", $output, $return);
echo "Dir returned $return, and output:\n";
var_dump($output);
?>

Bab 8.2 : Menutup Fail

  • Setelah kita membuka fail, kita perlu menutup penggunaan fail tersebut.
  • Di sini fungsi fclose() akan digunakan.
Latihan 19 : Menutup fail
<?php
$fail = fopen("/rumah/kita/file.txt", "r");
fclose($fail);
?>

Bab 8.2 : Membaca Fail

  • Selain daripada membaca keseluruhan anda juga boleh membaca data pada baris-baris tertentu yang ditetapkan.
  • fread() akan digunakan untuk membaca data yang ditetapkan.
  • file() pula akan membaca keseluruhan data yang terdapat di dalam sesuatu fail.
  • Data-data ini akan disimpan dalam bentuk array.
Latihan 20 : Membaca data tertentu dalam fail
<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
Latihan 21 : Membaca keseluruhan data dalam fail
<?php
/ Get a file into an array.  In this example we'll go through HTTP to get
// the HTML source of a URL.
$lines = file('http://www.example.com/');

// Loop through our array, show HTML source as HTML source; and line numbers too.
foreach ($lines as $line_num => $line) {
    echo "Line #{$line_num} : " . htmlspecialchars($line) . "
\n"; } // Another example, let's get a web page into a string. See also file_get_contents(). $html = implode('', file('http://www.example.com/')); // Using the optional flags parameter since PHP 5 $trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); ?>

Bab 8.3 : Menulis Fail

  • Untuk menulis data ke dalam sesuatu fail, fungsi fwrite() akan digunakan.
  • Sebelum menulis data ke dalam fail, fungsi is_writable()
    boleh digunakan untuk menyemak samada fail tersebut boleh ditulis atau tidak.
Latihan 22 : Menulis fail
<?php
$fail = 'test.txt';
if (is_writable($fail)) 
{
	echo 'Fail ini boleh ditulis';
} 
else 
{
	echo 'Fail ini tidak boleh ditulis';
}
?>

Bab 8.4 : Menyalin Fail

  • PHP membenarkan sesuatu fail disalin dan ditampal ke direktori yang lain.
  • Fungsi copy() akan digunakan untuk membuat salinan fail.
  • Kemudiannya ia akan membawa nilai TRUE sekiranya berjaya atau FALSE sekiranya gagal.
Latihan 23 : Membuat salinan fail
<?php
$fail_lama = 'contoh.txt';
$fail_baru = 'contoh.txt.bak';

if (!copy($fail_lama, $fail_baru)) 
{
	echo "gagal untuk salin $file...\n";
}
?>

Bab 8.5 : Menghapuskan Fail

  • Fail juga boleh dihapuskan dengan menggunakan fungsi unlink().
  • Ia akan membawa nilai TRUE sekiranya berjaya atau FALSE sekiranya gagal.
Latihan 24 : Menghapuskan fail
<?php
$fh = fopen('test.html', 'a');
fwrite($fh, '

Hello world!

'); fclose($fh); unlink('test.html'); # buang folder if (!is_dir('examples')) mkdir('examples'); rmdir('examples'); ?>

Bab 8.6 : Menamakan Fail

  • Untuk menamakan fail, kita akan menggunakan fungsi rename().
  • Latihan 25 : Menamakan fail

<?php
rename("/tmp/tmp_fail.txt", "/sistem/fail_kita.txt");
?>

Bab 8.7 : Semak Fail

  • Adalah sebaiknya terlebih dahulu kita menyemak samada fail tersebut wujud atau tidak sebelum kita menghapuskan atau menamakan sesuatu fail.
  • Untuk membuat semakan ini, fungsi file_exists() akan digunakan.
  • Selain itu fungsi filesize() juga boleh digunakan untuk menyemak saiz fail dan fungsi filetype() untuk menyemak jenis fail.
Latihan 26 : Menyemak Fail
<?php
$fail = '/path/to/foo.txt';

if (file_exists($fail))
	echo 'Fail ' . $fail . ' ini wujud';
else 
	echo 'Fail ' . $fail . ' ini tidak wujud';
   
// outputs e.g.  somefile.txt: 1024 bytes
echo $fail . ': ' . filesize($fail) . ' bytes';

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir
?>

Bab 8.8 : Memuatnaik (Upload) Fail

  • Selain daripada aplikasi FTP, PHP juga membolehkan fail-fail dimuatnaik ke web server.
  • Untuk memuatnaik fail ke dalam web server, elemen <input type=file> dalam HTML form digunakan.
  • Tetapan nilai file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size dan max_input_time boleh ditetapkan dalam php.ini

Bab 8.8.1 : Pembolehubah $_FILES

  1. $_FILES['userfile']['name'] => papar nama fail yang hendak dimuatnaik
  2. $_FILES['userfile']['type'] => papar mime type fail berkenaan. Contohnya: "image/gif"
  3. $_FILES['userfile']['size'] => papar saiz fail yang dimuatnaik dalam bytes

Bab 8.8.1 : Pembolehubah $_FILES

  1. $_FILES['userfile']['tmp_name'] => papar nama sementara (temporary) fail dimana fail yang dimuatnaik disimpan di web server.
  2. $_FILES['userfile']['error'] => papar status muatnaik fail
  3. is_upload_file() => semak samada fail berjaya (TRUE) atau tidak dimuatnaik melalui HTTP POST
  4. move_uploaded_file() => semak samada fail berjaya atau tidak dimuatnaik ke lokasi yang baru
Latihan 27 : Memuatnaik fail
<?php
if (is_uploaded_file($_FILES['fail']['tmp_name'])) 
{
	echo "Fail " . $_FILES['fail']['name'] 
	. " berjaya dimuatnaik .\n";
	echo "Papar kandungan\n";
	readfile($_FILES['fail']['tmp_name']);
} 
else 
{
	echo "Fail mungkin serangan muatnaik: ";
	echo "fail '" . $_FILES['fail']['tmp_name'] . "'.";
}
?>
Latihan 28 : Membuat counter
<?php
?>
Latihan 29 : Membuat random quote
<?php
?>

Bab 9

BAB 9 : MANIPULASI TARIKH DAN MASA

  • Fungsi tarikh dan masa adalah untuk mendapatkan tarikh dan masa daripada server.
  • Anda boleh menggunakan fungsi ini untuk menetapkan tarikh dan masa dalam pelbagai cara.

BAB 9.1 : Timestamp

  1. Timestamp adalah nombor unik yang melambangkan sesuatu tarikh
  2. Nilainya merupakan bilangan saat dari 1 Januari 1970 ke sesuatu tarikh tertentu.
  3. Timestamp boleh dikira dengan menggunakan fungsi mktime().

BAB 9.2 : Fungsi dalam Tarikh & Masa

  1. checkdate() digunakan untuk menyemak adakah sesuatu tarikh adalah sah (TRUE) atau tidak (FALSE)
  2. date() untuk mendapatkan format tarikh dan masa tempatan
  3. getdate() untuk mendapatkan maklumat tarikh/masa
  4. microtime() untuk mendapatkan Unix timestamp semasa dalam format micro seconds

BAB 9.2 : Fungsi dalam Tarikh & Masa

  1. mktime() untuk mendapatkan Unix timestamp untuk tarikh.
  2. Format mktime() adalah mktime(jam, minit, saat, bulan, hari, tahun)
  3. strtotime() menukarkan sebarang English textual datetime description kepada Unix timestamp
  4. time() untuk memaparkan Unix timestamp semasa

Function date()

<?php
string date ( string format [, int timestamp])
?>
kodketerangankodketerangan
aam / pm A AM / PM
dday 01-31 D 3 char wday Mon-Sun
Ffull month January-December g12 hour 1-12
G24 hour 0-23 h12 hour 01-12
H24 hour 00-23   

Function date()

<?php
string date ( string format [, int timestamp])
?>
kodketerangankodketerangan
iminutes 00-59 Idaylight
jday 1-31  
lfull day Monday-Sunday Lboolean for leap year
mmonth 01-12 Mmonth Jan-Dec
nmonth 1-12   

Function date()

<?php
string date ( string format [, int timestamp])
?>
kodketerangankodketerangan
sseconds 00-59 Ssuffix st, nd, rd, th
t total day in month 28-31 T time zone setting EST
Utotal UNIX seconds from 1 jan 1970 wday of week 0-6 (sunday-saturday)
y2 digit year Y4 digit year
zday of year 0-365 Ztimezone offset in seconds
Contoh
<?php
print date("d/m/Y");   #18/06/2012

$tarikh = date("jS F Y");
print "$tarikh"; #18th June 2012

print date("h:ia, d/m/Y");   11:33am, 16/03/2011
?>

Function mktime()

<?php
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])
?>
Menukar format tarikh ke UNIX Epoch
Contoh:
<?php
print mktime(12, 33, 22, 3, 5, 1957);
$masaLahir = mktime(12, 33, 22, 3, 5, 1957);
print"$masaLahir";
?>
Latihan 30 : Penggunaan fungsi tarikh dan masa
<?php
?>

Bab 10

BAB 10 : MANIPULASI STRING

FungsiKeterangan
addslashes()untuk menambah backslash bagi string yang mempunyai karektor tertentu seperti single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).
concatenation digunakan untuk menggabungkan dua atau lebih nilai string
html_entity_decode() untuk menukarkan entiti HTML kepada kod HTML
htmlentities() untuk menukarkan kod HTML kepada entiti HTML. Ia berlawan dengan html_entity_decode
FungsiKeterangan
implode() untuk menggabungkan string. Ia bertentangan dengan explode()
explode() untuk memisahkan string di dalam sesuatu string berdasarkan sesuatu delimiter
FungsiKeterangan
ltrim() untuk membuang whitespace characters pada permulaan string
nl2br() untuk menambah baris baru (HTML) sebelum baris baru dalam string
rtrim() untuk membuang whitespace characters pada akhiran string
trim() untuk membuang input daripada borang (HTML form). Ia akan menyahkan whitespace characters seperti (spaces, tab, newlines) pada permulaan dan akhiran string
FungsiKeterangan
str_replace() untuk menukarkan sesuatu string kepada string yang lain
strcmp() untuk membuat perbandingan antara string
stripslashes() untuk membuang backslash. Ia bertentangan dengan addslashes()
FungsiKeterangan
strlen() untuk mendapatkan jumlah karektor di dalam sesuatu string
strtolower() untuk menukarkan semua karektor alphabetic dalam sesuatu string kepada huruf kecil
strtoupper() untuk menukarkan semua karektor alphabetic dalam sesuatu string kepada huruf besar. Bertentangan dengan strtolower()
FungsiKeterangan
substr() untuk memaparkan karektor tertentu dalam sesuatu string.
ucfirst() untuk menukar karektor pertama perkataan pertama dalam string kepada huruf besar
ucwords() untuk menukar karektor pertama setiap perkataan dalam string kepada huruf besar
wordwrap() untuk memisahkan string kepada baris baru berdasarkan karektor tentu dalam sesuatu proses
Latihan 31 : Manipulasi string
<?
function huruf($jenis, $papar)
{   
    switch ($jenis) 
    {// mula - pilih $jenis
    case 'BESAR':
        $papar = strtoupper($papar);
        break;
    case 'kecil':
        $papar = strtolower($papar);
        break;
    case 'Depan':
        $papar = ucfrist($papar);
        break;
    case 'Besar_Depan':
        $papar = mb_convert_case($papar, MB_CASE_TITLE);
        break;
    }// tamat - pilih $jenis
    
    return $papar;
}?>

Bab 11

BAB 11 : ASAS PENGATURCARAAN

BAB 11.1 :Pembolehubah Pelayan Server

  • Pembolehubah pelayan server disimpan dalam bentuk tatasusunan (array).
  • Untuk melihat nilai-nilai yang disimpan dalam tatasusunan ini, gunakan fungsi print_r() atau foreach().
KodKeterangan
$_POSTpembolehubah yang ada pada script dan dihantar melalui kaedah HTTP POST
$_GETpembolehubah yang ada pada script dan dihantar melalui kaedah HTTP GET
KodKeterangan
$_FILESpembolehubah yang ada pada script dan dihantar melalui kaedah HTTP POST muatnaik (upload file)
$_SERVERpembolehubah yang telah ditetapkan oleh pelayan server
$_SESSIONpembolehubah yang terdapat pada sesi semasa yang telah ditetapkan. Sesi ini disimpan dalam pelayan server.
$_COOKIEpembolehubah yang terdapat pada sesi semasa yang telah ditetapkan. Namun begitu, sesi ini disimpan dalam komputer pengguna.
Latihan 32 : Mencipta Borang Aduan
<?php
?>
Latihan 33 : Mencipta, mendapatkan nilai dan menghapuskan session
<?php
session_start(); # mulakan sesi

$_SESSION[$key] = 'auam';

if (isset($_SESSION[$key]))
	return $_SESSION[$key];

session_unset();
session_destroy();
?>

Regular Expression


regular expression merupakan arahan untuk memastikan teks mengandungi sebahagian teks yang ingin kita cari.
<?php
print date("d/
$tarikh="13 Disember 2005";
if( preg_match ("/\d{2} (\w+)  \d{4}/", $tarikh) )
{print "Tarikh sah}

$host="http://www.php.net/index.html";
preg_match("/^(http:\/\/)?([^\/]+)/i", $host, $matches);
echo "domain name is: {$matches[2]}\n";

BAB 1 : PENGENALAN mySQL

Sejarah mySQL

  • Pada awalnya, para pencipta mySQL mencuba satu pangkalan data iaitu mSQL (mini Structure Query Language)
  • Tujuannya menghubungkan table-table dengan menggunakan fast-low level (ISAM) routine mereka sendiri.
  • Setelah beberapa ujian dilakukan, mereka berpendapat bahawa mSQL tidak begitu cepat dan tidak begitu fleksibel.
  • Lalu dicipta satu interface SQL baru yang sesuai dengan masalah mereka dengan cara menambahkan atau mengubah mSQL dan mereka namakan mySQL.
  • Adapun alasan mereka menambahkan kata 'my' pada mySQL sebenarnya masih sebuah misteri bagi mereka sendiri
  • Tapi hampir semua libraries dan tools pada direktori mereka menggunakan awalan 'my'.

Apa Itu mySQL

  • mySQL adalah satu aplikasi untuk pengurusan (menambah, mengakses dan memproses) data.
  • pangkalan data pula adalah satu kumpulan data yang terstruktur.
  • mySQL adalah sumber terbuka.
  • Ini bermakna ia boleh digunakan serta diubahsuai oleh sesiapa sahaja.

Apa Itu Pengurusan mySQL

  • phpMyadmin pula adalah satu aplikasi GUI (Graphic User Interface) bagi memudahkan pengguna menguruskan data-data mySQL.
  • Namun adminer/phpminiadmin adalah pilihan lain GUI yang ringkas

Apakah Kelebihan mySQL

  1. MySQL merupakan pangkalan data yang sangat cepat dan mudah untuk digunakan.
  2. Selain itu, sintaks-sintaksnya juga adalah mudah untuk difahami dan tidak rumit
  3. Boleh digunakan pada platform yang lain seperti LINUX, Windows, MacOS dll
  4. Beberapa table dari pelayan server yang berlainan dapat digunakan dalam query yang sama

PDO - PHP Data Objects


  • Sambungan PDO - antara muka ringan untuk akses pangkalan data
  • Menyediakan lapisan capaian data abstraksi - fungsi yang sama untuk melakukan pertanyaan dan mengambil data
  • Boleh mencapai sebarang pangkalan data yang sedia ada

Mysqli


  • Sambungan Mysqli - pengganti Mysql yang lama
  • Menyediakan lapisan capaian data abstraksi - fungsi yang sama untuk melakukan pertanyaan dan mengambil data

Bab Mysql - 2

Bab Mysql 2 : MANIPULASI PANGKALAN DATA

Mencipta Akaun Pengguna

Di dalam sesuatu pangkalan data, adalah digalakkan agar para webmaster menetapkan akaun pengguna baru bagi pangkalan data atau menetapkan katalaluan bagi mengakses pangkalan data tersebut.
Latihan 33 : Menetapkan username dan password
<?php
?>

Mencipta pangkalan Data

  • Arahan CREATE digunakan untuk mencipta pangkalan data serta table-table dalam sesuatu pangkalan data.
  • Di dalam UNIX, nama-nama pangkalan data adalah case-sensitive.
  • Format : CREATE DATABASE databasename
  • Format : CREATE TABLE table (id INT)
Latihan 35 : Mencipta pangkalan data
<?php
?>
Latihan 36 : Mencipta table
<?php
?>

Menghapuskan pangkalan Data

  • Arahan DROP akan digunakan untuk menghapuskan pangkalan data atau table atau index atau function.
  • Arahan ini juga boleh digunakan untuk menghapuskan lebih daripada satu table dalam sesuatu arahan.
  • Format : DROP databasename
  • Format : DROP TABLE table1, table2
Latihan 37 : Menghapuskan pangkalan data
<?php
?>

Menambah Data

  • Arahan INSERT digunakan untuk menambah baris (row) data ke dalam pangkalan data yang telah dibina.
  • Format : INSERT INTO table (field1, field2) VALUES(15,20)
  • Format : INSERT INTO table (field1, field2) VALUES(15, field1*2)
Latihan 38 : Menambah baris data
<?php
?>

Memilih Data

  • Arahan SELECT akan digunakan bagi memilih baris data.
  • Sekiranya arahan WHERE dinyatakan, maka baris data berkenaan sahaja akan dipilih.
  • Sekiranya tiada, seluruh baris data di dalam table berkenaan akan dipilih.
  • Format : SELECT * FROM table ORDER BY field1
  • Format : SELECT field1 FROM table WHERE jawatan='SA'
  • Format : SELECT t1.*, t2.* FROM table1 AS t1, table2 AS t2 WHERE t1.field= t2.field
Latihan 39 : Menghapuskan baris data
<?php
?>

Mengemaskini Data

  • Arahan UPDATE berfungsi untuk mengemaskini nilai sesuatu baris data yang telah sedia ada dalam sesuatu table.
  • Sekiranya arahan WHERE dinyatakan, maka hanya nilai bagi data berkenaan sahaja akan dikemaskini.
  • Sekiranya tiada, seluruh baris data di dalam table berkenaan akan dikemaskini.
  • Format : UPDATE table SET field1='Makan'
  • Format : UPDATE table SET field1='Minum' WHERE id='17'
Latihan 40 : Mengemaskini baris data
<?php
?>

Menghapuskan Data

  • Arahan DELETE akan digunakan bagi menghapuskan baris data.
  • Sekiranya arahan WHERE dinyatakan, maka baris data berkenaan sahaja akan dihapuskan.
  • Sekiranya tiada, seluruh baris data di dalam table berkenaan akan dihapuskan.
  • Format : DELETE FROM table LIMIT 10
  • Format : DELETE FROM table WHERE id='17'
Latihan 41 : Menghapuskan baris data
<?php
?>

SUDAH HABIS DAA


  • : www.amin007.org
  • : al.amin007@yahoo.com
  • : amin007.ledang
  • : amin007_ledang
  • : abdulmuhaiminabdulghaniamin007ledang
  • :
  • : amin007
  • : aminledang
  • : amin800507
  • : user/abdmuhaimin