P. 1
Tutorial Php Mysql

Tutorial Php Mysql

|Views: 1,611|Likes:
Published by ChiRagirl CwEet

More info:

Published by: ChiRagirl CwEet on Jun 02, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/28/2013

pdf

text

original

Sections

PHP Web Development

Instalasi dan pengenalan PHP SQL dengan menggunakan MySQL Server PHP Scripting Array dan String Functions Integrasi PHP dan MySQL Session dan Cookies Handling File Uploads Shopping Cart

PHP Web Development

Page 1 of 60

Daftar Isi
Bagian 1 - Instalasi dan Pengenalan PHP ........................................................................................... 4 1.1 Instalasi PHP........................................................................................................ 4 1.2 Instalasi Apache Server 1.3.33 .............................................................................. 4 1.3 Instalasi MySQL Server ....................................................................................... 10 1.4 PHP Language Fundamental................................................................................ 10 1.4.1 HTML Tags .................................................................................................... 11 1.4.2 Variabel dalam PHP ........................................................................................ 18 1.4.3 Control Structure ............................................................................................ 18 1.4.4 Including PHP script........................................................................................ 19 Bagian 2 – Language Fundamental (Lanjutan).................................................................................... 21 2.1 Function ............................................................................................................ 21 2.2 Array................................................................................................................. 22 2.3 Array Functions .................................................................................................. 23 2.3.1 count ............................................................................................................ 23 2.3.2 array_keys ..................................................................................................... 23 2.3.3 array_values .................................................................................................. 24 2.3.4 array_key_exists ............................................................................................ 24 2.3.5 in_array......................................................................................................... 24 2.3.6 array_splice ................................................................................................... 24 2.3.7 array_unique.................................................................................................. 25 2.3.8 array_filter..................................................................................................... 25 2.3.9 array_intersect ............................................................................................... 26 2.3.10 array_merge .............................................................................................. 26 2.4 String Functions ................................................................................................. 26 2.4.1 md5 .............................................................................................................. 26 2.4.2 sha1.............................................................................................................. 26 2.4.3 number_format .............................................................................................. 26 2.4.4 parse_str ....................................................................................................... 27 2.4.5 str_replace..................................................................................................... 27 2.4.6 str_ireplace.................................................................................................... 27 2.4.7 addslashes..................................................................................................... 27 2.4.8 stripslashes.................................................................................................... 27 2.4.9 strlen ............................................................................................................ 27 2.4.10 strtolower .................................................................................................. 27 2.4.11 strtoupper.................................................................................................. 27 2.4.12 substr........................................................................................................ 27 2.4.13 trim........................................................................................................... 28 2.4.14 sprintf ....................................................................................................... 28 2.4.15 sscanf........................................................................................................ 28 2.4.17 implode ..................................................................................................... 28 2.4.18 explode ..................................................................................................... 28 2.4.19 htmlspecialchars......................................................................................... 28 2.4.20 htmlentities................................................................................................ 29 2.4.21 html_entity_decode .................................................................................... 29 2.5 Class and Objects ............................................................................................... 29 Bagian 3 – Using MySQL........................................................................................................... 30 3.1 Membuat database baru ..................................................................................... 31 3.2 Membuat tabel baru ........................................................................................... 31 3.3 Mengubah struktur tabel ..................................................................................... 32
PHP Web Development Page 2 of 60

3.4 Memanipulasi record dalam tabel......................................................................... 32 3.5 Backup database/tabel to Script........................................................................... 32 Bagian 4 – Integrating PHP dan MySQL........................................................................................... 37 4.2 menghitung jumlah record .................................................................................. 38 4.3 mengubah data di database ................................................................................ 38 Bagian 5 – Data Manipulation ..................................................................................................... 40 Bagian 6 – Paging dan Filtering................................................................................................... 50 6.1 Paging............................................................................................................... 50 6.2 Searching .......................................................................................................... 51 Bagian 7 – Session dan Cookies .................................................................................................. 52 7.1 Session.............................................................................................................. 52 7.2 Cookies ............................................................................................................. 53 8.1 Baca file ............................................................................................................ 55 8.2 Tulis file ............................................................................................................ 55 8.3 Menampilkan isi direktori..................................................................................... 55 8.4 Mengubah nama file ........................................................................................... 55 8.5 Menghapus suatu file.......................................................................................... 56 8.6 Menampilkan file dengan berbagai format ............................................................ 56 8.7 Uploading files ................................................................................................... 56 Bagian 9 – Shopping Cart ......................................................................................................... 58

PHP Web Development

Page 3 of 60

Bagian 1 - Instalasi dan Pengenalan PHP
1.1 Instalasi PHP Langkah-langkah menginstal PHP 1. Copykan file php ke C:\PHP. Kemudian copy file php4ts.dll ke C:\windows\system32 2. Masuk ke C:\PHP, kemudian duplikatkan file php.ini-dist menjadi php.ini Kemudian rename file tersebut menjadi php.ini dan copykan ke C:\WINDOWS 1.2 Instalasi Apache Server 1.3.33 1. Instal Apache terlebih dahulu.

PHP Web Development

Page 4 of 60

2. Pilihlah mode Complete.

PHP Web Development

Page 5 of 60

3. Kemudian klik Next terus hingga proses instalasi dilakukan.

4. Tunggu hingga instalasi selesai.

Kemudian kita lanjutkan dengan setting sebagai berikut 5. Apache anda secara default terinstal di C:\Program Files\Apache Group\Apache Kemudian cari folder conf dan cek di dalamnya terdapat file httpd.conf, buka dengan menggunakan Notepad dan tambahkan 3 baris ini di bagian paling bawah : LoadModule php4_module c:/php/sapi/php4apache.dll AddModule mod_php4.c AddType application/x-httpd-php .php

PHP Web Development

Page 6 of 60

6. Restart apache. Masuk ke services.msc, dengan memilih Start > Run, kemudian ketik services.msc. Setelah itu restart Apache-nya.

PHP Web Development

Page 7 of 60

7. Masuk ke C:\Program Files\Apache Group\Apache\htdocs, kemudian buat folder test, di dalam folder tersebut buat file test.php. Isi test.php dengan sintaks dibawah ini :
<? phpinfo(); ?>

8. Buka Browser anda dan ketik http://localhost/test/test.php

Jika muncul tampilan seperti di atas berarti PHP anda telah terinstal dan siap digunakan. Dalam httpd.conf (C:\Program Files\Apache Group\Apache\conf) terdapat beberapa setting yang bersifat optional. Di dalam file httpd.conf cari teks documentroot: kemudian kita bisa mengganti path directory yang diinginkan untuk menaruh file-file PHPnya. Selain itu anda juga harus mengubah tag Directory yang letaknya di bawah tak jauh dari documentroot.

PHP Web Development

Page 8 of 60

Pada satu komputer bisa menggunakan beberapa web server, seperti IIS misalnya untuk ASP, Apache Tomcat untuk JSP, di mana masing-masing web server tersebut harus dibedakan portnya. Jika dalam komputer anda terdapat lebih dari satu web server pastikan setiap web server menggunakan port yang berbeda. Untuk mengubah Port search port: pada file httpd.conf defaultnya adalah 80 bisa anda ubah dengan port lain misalkan 8080. Setelah diubah untuk mengaksesnya menggunakan http://localhost:8080

PHP Web Development

Page 9 of 60

1.3 Instalasi MySQL Server MySQL Server digunakan sebagai database server. Untuk instalasinya sangat mudah jalankan saja Setup dan ikuti wizard hingga instalasi selesai. Secara default mysql akan diinstal pada folder C:\mysql Setelah selesai install, MySQL perlu kita aktifkan untuk pertama kali. Masuklah ke C:\mysql\bin jalankan program winmysqladmin.exe, masukkan nama username misalnya root dan passwordnya misalkan root.

Setelah itu MySQL siap digunakan. Untuk mempermudah pengaksesan ke MySQL kita gunakan tool tambahan yang bernama SQLYog. SQLYog merupakan sebuah tool untuk mempermudah mengatur dan memanipulasi database di MySQL Server. 1.4 PHP Language Fundamental Struktur pemrograman php diawali dengan tag <? dan ?>. <html> <head> <title>PHP Introduction</title> </head> <body> <? ?> </body> </html>
PHP Web Development Page 10 of 60

//PHP Scripts here !!!

Pada penulisannya script PHP dapat disisipkan di antara tag-tag HTML. Sebelum masuk ke scripting PHP kita akan review tag-tag HTML yang sering dipakai terlebih dahulu. 1.4.1 HTML Tags HTML(Hypertext Markup Language) adalah suatu standar bahasa yang digunakan untuk membuat halaman web. File-file ini memiliki ekstensi .htm atau .html Coding di dalam HTML menggunakan tag-tag dalam penulisannya. Bagian-bagian dari coding Html tersebut antara lain. <html> <head> <title>Latihan1</title> </head> <body> <div align="center">Selamat Datang di Web Kami</div> </body> </html> <html> </html> Adalah tag utama dimana tag-tag lain akan diletakan di dalamnya. <head> </head> Adalah tag untuk menuliskan Header dari halaman web yang kita buat. Di dalamnya terdapat beberapa tag lain seperti <title>, <meta>, <link>, <script> dan sebagainya. <title> </title> Adalah tag untuk menuliskan judul dari halaman Html yang anda buat. Tag title diletakkan di dalam tag head. <body> </body> Adalah tag utama dari halaman web. Dimana biasanya pada tag ini berisi table, gambar, atau informasi yang ingin ditampilkan di halaman web.

PHP Web Development

Page 11 of 60

<div> Menampilkan text dengan menggunakan div dapat kita atur alignmentnya. <div align="center" width=”100%”>Selamat Datang di Web Kami</div> <div align="left" width=”100%”>Selamat Datang di Web Kami</div> <div align="right" width=”100%”>Selamat Datang di Web Kami</div> Masing-masing akan menampilkan alignment yang berbeda, di tengah, rata kiri dan rata kanan. Menampilkan teks dalam bentuk tabel <table> </table> Adalah tag yang digunakan untuk membuat tabel. <tr> </tr> Adalah tag yang digunakan untuk membuat baris (row) dari tabel. <td> </td> Adalah tag yang digunakan untuk membuat column dari tabel. Untuk membuat table dengan 4 kolom dan 3 baris maka <table width="75%" border="1"> <tr> <td align=”center”>Nama</td> <td align=”center”>Tanggal Lahir</td> <td align="center">Alamat</td> <td align="center">No Telp</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr> </table>

PHP Web Development

Page 12 of 60

Kita dapat menggunakan berbagai macam properti dari tabel. Sebagai contoh misalkan kita ingin tampilan seperti berikut ini.

<table width="75%" border="1" cellpadding="5" cellspacing="10"> <tr> <td colspan="3" align="center">JUDUL</td> </tr> <tr> <td> KOLOM KIRI </td> <td> KOLOM TENGAH </td> <td> KOLOM KANAN </td> </tr> </table>
PHP Web Development Page 13 of 60

Dalam suatu tabel dapat kita sisipkan tabel lagi. Pada bagian kolom kiri kita ubah menjadi sebagai berikut. <html> <head> </head> <body> <table width="75%" border="1" cellpadding="5" cellspacing="10"> <tr> <td colspan="3" align="center">JUDUL</td> </tr> <tr> <td width="30%"> <table width="100%" border="1"> <tr> <td>1</td> <td>2</td> </tr> <tr> <td colspan="2">3</td> </tr> </table> </td> <td> KOLOM TENGAH </td> <td> KOLOM KANAN </td> </tr> </table> </body> </html>

PHP Web Development

Page 14 of 60

<form> </form> Adalah tag yang digunakan untuk membuat form. Di mana di dalamnya dapat kita letakan beberapa object seperti textfield, radiobutton, checkbox, dan sebagainya. Form sering digunakan untuk meminta input dari user yang kemudian akan dikirimkan untuk diproses.

<form name="form1"> <table> <tr> <td >Nama</td> <td ><input type="text" name="txtnama"></td> </tr> <tr> <td>Jenis Kelamin</td> <td > <input type="radio" name="radiobutton" value="radiobutton">Pria </td> <td > <input type="radio" name="radiobutton" value="radiobutton">Wanita </td> </tr> <tr> <td>No Telp</td> <td ><input type="text" name="txttelp"></td> </tr> <tr> <td><input type="submit" name="btnSubmit" value="Submit"></td> <td><input type="reset" name="btnReset" value="Reset"></td> </tr> </table> </form> Pada code di atas menampilkan cara membuat form dan menggunakan tag input. Untuk lebih detailnya mengenai tag input dapat lihat HTML Manualnya.
PHP Web Development Page 15 of 60

<select>

<select name="pilih"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select>

Pada tag select terdapat attribute multiple untuk memberikan kesan tampilan yang berbeda.

PHP Web Development

Page 16 of 60

<select name="pilih" MULTIPLE SIZE=4> <option value="1">Gado-gado</option> <option value="2">Ketoprak</option> <option value="3">Nasi Uduk</option> <option value="4">Nasi Goreng</option> <option value="5">Nasi Tim</option> <option value="6">Kwetiau Goreng</option> <option value="7">Kwetiau Siram</option> <option value="8">Nasi Gila</option> </select>

<textarea> Untuk meminta input lebih lebih dari satu baris dapat menggunakan textarea.

<TEXTAREA NAME="text" ROWS=3 COLS=20>text here</TEXTAREA> Using Checkbox Checkbox digunakan untuk meminta input lebih dari satu. <input type="checkbox" name="chkEmail" CHECKED>Send Me Email <br> <input type="checkbox" name="chkGift">Send Me Gift Using RadioButton RadioButton digunakan untuk meminta input di mana user hanya boleh memilih salah satu. Untuk penamaan pada radiobutton untuk yang satu group beri nama yang sama pada attribute name.

PHP Web Development

Page 17 of 60

<input type="radio" name="radGender" CHECKED VALUE=”male”>Male<br> <input type="radio" name="radGender" VALUE=”female”>Female

1.4.2 Variabel dalam PHP Dalam PHP semua variabel diawali dengan tanda $. Variabel langsung dapat digunakan tapa harus dideklarasikan terlebih dahulu. <? $a = 5; $b = 10; $c = $a + $b; echo $c; $str1 = “Hello”; $str2 = “EVO”; echo $str1 . $str2 ; // . untuk penggabungan string ?>

1.4.3 Control Structure Untuk struktur pemilihan dan perulangan adalah sebagai berikut: Struktur pemilihan <? $n = 10; if ( $n > 10 ){ ... //true part }else{ ... //false part } ?>

PHP Web Development

Page 18 of 60

<? $n = 1; switch ($n){ case 1 : //statements here break; case 2 : //statements here break; default: //statements here break; } ?>

Struktur perulangan
<? for($i=0; $i<10; $i++){ echo $i; } ?> <? $i = 0; do { echo $i; $i++; }while($i<10); ?>

<? $i = 0; while ( $i < 10 ){ echo $i; $i++; } ?>

1.4.4 Including PHP script Kita dapat menyertakan suatu halaman php di dalam halaman php lain dengan menggunakan include. Misalkan kita membuat dua halaman satu.php dan dua.php. satu.php
<? echo date(“j F Y”, mktime()); ?>

PHP Web Development

Page 19 of 60

dua.php <html> <head> <title>Include Test</title> </head> <body> <? include “satu.php”; ?> </body> </html>

Variabel yang dideklarasikan pada halaman utama dapat digunakan pada halaman yang diinclude. tiga.php
<? $var = “Hello EVO”; ?>

empat.php
<? include “tiga.php”; echo $var; ?>

PHP Web Development

Page 20 of 60

Bagian 2 – Language Fundamental (Lanjutan)
2.1 Function Pada halaman PHP kita dapat mendefinisikan fungsi. Contohnya sebagai berikut: <? function test(){ echo “Hello EVO”; } test(); //pemanggilan fungsi ?>

Kita dapat juga mengirimkan passing parameter. <? function test( $str ){ echo $str; } test(“Hello EVO”); //pemanggilan fungsi ?> Selain itu fungsi juga dapat mengembalikan suatu nilai (return value). <? function tambah ( $a, $b ){ return $a + $b; } echo tambah(5,6); //output 11 ?>

PHP Web Development

Page 21 of 60

2.2 Array Array dalam PHP sifatnya sangat dinamis. Array terdiri dari pasangan key dan value. Di mana key dapat berupa angka atau string. <?php $arr = array("foo" => "bar", 12 => true); echo $arr["foo"]; // bar echo $arr[12]; // 1

?>

<?php

$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42)); echo $arr["somearray"][6]; echo $arr["somearray"][13]; echo $arr["somearray"]["a"]; // 5 // 9 // 42

?> <?php

// This array is the same as ... array(5 => 43, 32, 56, "b" => 12); // ...this array array(5 => 43, 6 => 32, 7 => 56, "b" => 12);

?>

Untuk menelusuri elemen-elemen dalam array dapat menggunakan for each.
<?php $colors = array('red', 'blue', 'green', 'yellow'); foreach ($colors as $color) { echo "Do you like $color?\n"; } /* output: Do you like Do you like Do you like Do you like */ ?> red? blue? green? yellow?

PHP Web Development

Page 22 of 60

2.3 Array Functions 2.3.1 count Untuk menghitung jumlah elemen dalam suatu array. format: int count ( mixed var) $colors = array('red', 'blue', 'green', 'yellow'); echo count($colors); 2.3.2 array_keys Untuk mendapatkan array dari semua key dari array. Elemen-elemen akan disusun mulai dari indeks 0. format: array array_keys ( array input [, mixed search_value]) $array = array (0 => 100, "color" => "red"); print_r(array_keys ($array)); $array = array ("blue", "red", "green", "blue", "blue"); print_r(array_keys ($array, "blue")); $array = array ("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large")); print_r(array_keys ($array)); Output: Array ( [0] [1] ) Array ( [0] [1] [2] ) Array ( [0] [1] ) //output 4

=> 0 => color

=> 0 => 3 => 4

=> color => size

PHP Web Development

Page 23 of 60

2.3.3 array_values Untuk mendapatkan array dari semua value dari array. Elemen-elemen akan disusun mulai dari indeks 0. format: array array_values ( array input) $data = array( “name” => “evo”, “age” => 18 ); $keys = array_keys($data); print_r($keys); /* output Array ( 0 => “evo”, 1 => 18 ); */

2.3.4 array_key_exists Fungsi ini mengembalikan nilai Boolean true atau false di mana memeriksa apakah suatu key ada di dalam suatu array. format: bool array_key_exists ( mixed key, array search) $data = array( “name” => “evo”, “age” => 18 ); if(array_key_exists(“name”, $data)){ echo “found”; }

2.3.5 in_array Fungsi ini hampir sama dengan array_key_exists hanya saja yang dibandingkan adalah value bukan key. 2.3.6 array_splice Fungsi ini digunakan untuk mengambil sebagian dari suatu array. format: array array_slice ( array array, int offset [, int length]) Jika offset bernilai positif, urutan hasilnya akan mulai dari offset tersebut, jika negative maka akan mulai dari belakang array.

PHP Web Development

Page 24 of 60

Jika length bernilai positif maka urutan hasilnya akan sejumlah length. Tetapi jika negative maka urutan akan stop dihitung dari elemen terkahir, jika dikosongkan maka akan diteruskan hingga akhir array. $input = array ("a", "b", "c", "d", "e"); $output $output $output $output = = = = array_slice array_slice array_slice array_slice ($input, ($input, ($input, ($input, 2); 2, -1); -2, 1); 0, 3); // // // // returns returns returns returns "c", "d", and "e" "c", "d" "d" "a", "b", and "c"

2.3.7

array_unique

Fungsi ini digunakan untuk menghilangkan value yang terdapat duplikasi. format: array array_unique ( array array) $input = array ("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique ($input); print_r($result);

2.3.8

array_filter

Fungsi ini digunakan untuk memfilter elemen-elemen dalam array dengan menggunakan suatu fungsi. format: array array_filter ( array input [, callback function]) function odd($var) { return ($var % 2 == 1); } function even($var) { return ($var % 2 == 0); } $array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array (6, 7, 8, 9, 10, 11, 12); echo "Odd :\n"; print_r(array_filter($array1, "odd")); echo "Even:\n"; print_r(array_filter($array2, "even"));

PHP Web Development

Page 25 of 60

2.3.9

array_intersect

Fungsi ini digunakan untuk mencari interseksi dari beberapa array. format: array array_intersect(array arr1, array arr2 [, array ...]) $array1 = array ("a" => "green", "red", "blue"); $array2 = array ("b" => "green", "yellow", "red"); $result = array_intersect ($array1, $array2);

2.3.10 array_merge Fungsi ini digunakan untuk menggabungkan beberapa array. format: array array_merge(array arr1, array arr2 [, array ...])

$array1 = array ("color" => "red", 2, 4); $array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge ($array1, $array2); print_r($result); Untuk fungsi-fungsi array lainnya masih banyak. Untuk lebih lengkap dapat dilihat di PHP Manual. 2.4 String Functions 2.4.1 md5 Digunakan untuk enkripsi satu arah dengan metode MD5. Hasil dari md5 adalah string sepanjang 32 karakter. 2.4.2 sha1 Digunakan untuk enkripsi selain md5, menggunakan algoritma sha1. 2.4.3 number_format Digunakan untuk mem-format tampilan suatu bilangan numerik. $number = 1234.56; $english_format_number = number_format($number);

// 1,234

$nombre_format_francais = number_format($number, 2, ',', ' '); // 1 234,56 $number = 1234.5678; $english_format_number = number_format($number, 2, '.', ''); // 1234.57

PHP Web Development

Page 26 of 60

2.4.4 parse_str Digunakan untuk memparsing suatu string ke dalam variabel atau array. $str = "first=value&arr[]=foo+bar&arr[]=baz"; parse_str($str); echo $first; // value echo $arr[0]; // foo bar echo $arr[1]; // baz parse_str($str, $output); echo $output['first']; // value echo $output['arr'][0]; // foo bar echo $output['arr'][1]; // baz 2.4.5 str_replace Digunakan untuk mengganti suatu string dalam string dengan string baru. $bodytag = str_replace("%body%", "black", "<body text=%body%>"); echo $bodytag; //<body text=black> 2.4.6 str_ireplace Sama seperti str_replace hanya bersifat incase-sensitive. 2.4.7 addslashes Menambahkan backslash untuk karakter-karakter yang membutuhkan backslash sebelum digunakan dalam query ke database. Karakter yang ditambahkan backslash adalah single-quote ( ‘ ), double-quote ( “ ), backslash ( \ ) dan NUL. 2.4.8 stripslashes Menghilangkan tanda backslash pada suatu string. Tanda \’ akan menjadi ‘ saja. 2.4.9 strlen Mendapatkan panjang dari suatu string. 2.4.10 strtolower Mengembalikan nilai string dengan huruf kecil. 2.4.11 strtoupper Mengembalikan nilai string dengan huruf kapital. 2.4.12 substr Mengambil sebagian dari keseluruhan string. $rest $rest $rest $rest = = = = substr("abcdef", substr("abcdef", substr("abcdef", substr("abcdef", 1); 1, 3); 0, 4); 0, 8); // // // // returns returns returns returns "bcdef" "bcd" "abcd" "abcdef"

$string = 'abcdef'; echo $string{0}; echo $string{3};

// returns a // returns d

PHP Web Development

Page 27 of 60

2.4.13 trim Mengembalikan string dengan menghilangkan spasi pada bagian awal dan akhir. 2.4.14 sprintf Mengembalikan string sesuai dengan format. $name = ”John”; $age = 18; $result = sprintf(“My name is %s. I am $age years old”,$name,$age); echo $result; 2.4.15 sscanf 2.4.16 sscanf(“5 6 7”,$a,$b,$c); echo $a; echo $b; echo $c; 2.4.17 implode <?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); print $comma_separated; // lastname,email,phone ?> 2.4.18 explode <?php $string = “jon@hotmail.com,hon@yahoo.com,ali@evopage.com”; $emails = explode(“,”, $string); print_r($emails); ?> 2.4.19 htmlspecialchars Menerjemahkan karakter khusus pada HTML di mana: format: string htmlspecialchars ( string string [, int quote_style [, string charset]]) • • • • • &' (ampersand) menjadi '&amp;' '"' (double quote) menjadi '&quot;' pada saat ENT_NOQUOTES tidak diset. ''' (single quote) menjadi '&#039;' hanya pada saat ENT_QUOTES diset. '<' (less than) menjadi '&lt;' '>' (greater than) menjadi '&gt;'
Page 28 of 60

PHP Web Development

2.4.20 htmlentities Menerjemahkan semua karakter ke bentuk standar dalam format HTML. 2.4.21 html_entity_decode Menerjemahkan HTML entities menjadi karakter tertentu. &amp; akan diubah menjadi &. 2.5 Class dan Objects Kita dapat mendeklarasikan class dalam PHP. Sintaksnya adalah sebagai berikut: Person.inc <? class Person { var $name; var $age; //CONSTRUCTOR function Person($name=””, $age=0){ //default value $this->name = $name; $this->age = $age; } function isOld(){ return ($this->age>=50); }

} ?>

TestPerson.php <? include (“Person.inc”); $objek = new Person(); $objek->name = “John”; $objek->age = 19; if($objek->isOld()){ echo $objek->name . “ is old”; }else{ echo $objek->name . “ is young”; } ?>

PHP Web Development

Page 29 of 60

Bagian 3 – Using MySQL
Pastikan MySQL Server sudah aktif.

Kemudian jalankan program SQLYog yang sudah terinstall.

Default Host Address adalah localhost, username root, dan password dikosongkan.

database aktif code editor

database explorer

result view

PHP Web Development

Page 30 of 60

3.1 Membuat database baru Untuk membuat database baru, klik kanan pada database explorer, pilih Create Database (Ctrl+D). Kemudian masukkan nama database.

create database mydatabase; 3.2 Membuat tabel baru Untuk membuat tabel baru klik kanan pada database kemudian pilih Create Table In The Database atau tekan tombol Insert. Kemudian masukkan struktur tabel yang diinginkan.

Kemudian klik tombol Create Table di bagian bawah. Masukkan nama tabel. Hasilnya akan tampil di database explorer.

PHP Web Development

Page 31 of 60

3.3 Mengubah struktur tabel Untuk mengubah struktur tabel, klik kanan pada tabel yang ingin diubah, pilih Alter Table Structure (F6). 3.4 Memanipulasi record dalam tabel Untuk memanipulasi record dalam tabel, pilih tabelnya, kemudian pilih Insert/Update Data atau tekan F11. 3.5 Backup database/tabel to Script Untuk melakukan backup database/tabel yang sudah kita buat dalam bentuk SQL Script, pilih database/tabel yang ingin di-backup, pilih Export As Batch Scripts. SQL Basics Pada bagian ini kita akan membahas sintaks-sintaks untuk memanipulasi data pada database yang dikenal dengan nama DML ( Data Manipulation Language ). Misalkan kita mempunyai struktur tabel sebagai berikut: create table PhoneBook( Nomor int not null, Nama varchar(20), TanggalLahir datetime, Alamat varchar(200), JenisKelamin char(1), Telepon varchar(15), Primary key (Nomor) ) Perintah perintah tersebut antara lain : INSERT Insert adalah perintah sql untuk memasukkan suatu data baru ke dalam suatu table. Format perintah ini adalah

Insert into <Nama Tabel > <(Nama Kolom,Nama Kolom,..)> values <Nilai yang Diisi Ke kolom1, Nilai Ke kolom 2,…>
insert into Phonebook values(1,'Budi',2020-12-20,'Jalan Mangga 12','L','021-5682771',30) Maka Data baru dengan Nomor,Nama,TanggalLahir,Alamat,JenisKelamin dan telepon akan ditambahkan ke Dalam tabel PhoneBook. atau insert into Phonebook(Nomor,Nama) values(1,'Budi')

PHP Web Development

Page 32 of 60

Pada contoh di atas kita hanya memberi nilai ke Nomor dan Nama, maka kolom yang lain akan bernilai null, hal ini diperbolehkan jika pada saat membuat tabel kita mengizinkan nilai null pada kolom tersebut. Jika memberikan nilai default maka nilai yang akan diberikan pada saat kita tidak member nilai adalah nilai defaultnya bukan nilai null. SELECT Select adalah perintah sql yang berguna untuk mengambil data yang terdapat di dalam database sesuai yang kita inginkan Format perintah ini adalah

Select <Nama Kolom>,<Nama Kolom> from <Nama Table> [ where <Condition> ] [ group by … ] [ having condition ] [ order by <Nama Kolom> ]
select * from Phonebook

select Nomor,Nama from Phonebook where Nomor=1 Maka Query akan menghasilkan semua data yang memiliki Nomor 1 dari tabel Phonebook.

Menampilkan semua data yang berumur >= 20 dan jenis kelaminnya laki-laki. select * from PhoneBook where Umur >= 20 AND JenisKelamin='L' Menampilkan semua data yang berumur lebih besar dari 40 tahun atau lebih kecil dari 20 tahun. select * from PhoneBook where Umur > 40 OR Umur < 20 Menampilkan Nomor, Nama, JenisKelamin, Umur diurutkan dari yang paling tua hingga yang paling muda. select Nomor,Nama,JenisKelamin,Umur from PhoneBook order by Umur DESC

PHP Web Development

Page 33 of 60

Menampilkan Nomor, Nama, JenisKelamin, Umur diurutkan dari yang paling tua hingga yang paling muda. select Nomor,Nama,JenisKelamin,Umur from PhoneBook order by Umur ASC Note: untuk ASC boleh tidak ditulis. UPDATE Update adalah perintah sql untuk mengubah satu atau lebih data yang terdapat di dalam suatu table. Format perintah ini adalah

Update <Nama Table> set <Nama Kolom = Nilai Baru>, <Nama Kolom = Nilai Baru>, … where <Condition>
update PhoneBook set Nama='Andi' where Nomor=2 Maka Nama dari tabel Phonebook dengan nomor 2 akan diubah namanya menjadi Andi. Menambahkan umur semuanya sebesar 1. update PhoneBook set Umur=Umur+1 DELETE Delete adalah perintah sql untuk menghapus satu atau lebih data yang terdapat di dalam suatu table. Format perintah ini adalah

Delete from <Nama Table> where <Condition>
delete from PhoneBook WHERE Nomor=1 Maka yang nomor 1 akan dihapus dari tabel. Menghapus semua data dari dalam tabel. delete from PhoneBook Semua data dalam tabel akan dihapus, tetapi struktur tabelnya tetap. Jika kita ingin menghapus tabelnya dari database dapat menggunakan sintaks berikut ini. Tabel berserta data di dalamnya akan dihapus semua.

PHP Web Development

Page 34 of 60

Menghapus tabel dari database drop table PhoneBook Menggunakan Aggregate Function MAX digunakan untuk mengambil nilai maksimal dari suatu field select max(Umur) as MaxUmur from PhoneBook

MIN digunakan untuk mengambil nilai Minimal dari suatu field select min(Umur) as MinUmur from PhoneBook

AVG digunakan untuk mengambil rata-rata dari suatu kolom. select avg(Umur) as RataRataUmur from PhoneBook

SUM digunakan untuk menghitung Jumlah Total dari suatu kolom pada tabel. select sum(Umur) as TotalUmur from PhoneBook

PHP Web Development

Page 35 of 60

Count digunakan untuk menghitung jumlah record yang terdapat pada suatu kolom dari suatu tabel. select count(Nomor) as JumlahOrang from PhoneBook

Bila Kita ingin menampilkan suatu aggregate function Bersama-sama dengan kolom lain di suatu query, kita harus menggunakan sintaks Group By, Sehingga data yang dihitung oleh aggregate function tersebut akan dikelompokkan berdasarkan kolom yang kita GroupBy tersebut. Misalkan kita ingin menampilkan kolom JenisKelamin dengan jumlah orangnya select JenisKelamin,count(Nomor) as Jumlah from PhoneBook group by JenisKelamin

Jika kondisi yang kita gunakan menggunakan aggregate function maka tidak boleh diletakkan di WHERE tetapi harus menggunakan HAVING. select JenisKelamin,count(Nomor) as Jumlah from PhoneBook group by JenisKelamin having count(Nomor)=MAX(Nomor) Menggunakan Limit select * from PhoneBook limit 0,10 sintaks di atas akan menampilkan data dari tabel PhoneBook mulai dari indeks 0 (record pertama) dan seterusnya hingga mencapai 10 record. Dengan sintaks di atas maka hanya 10 record pertama yang akan tampil.

PHP Web Development

Page 36 of 60

Bagian 4 – Integrating PHP dan MySQL
Pada bagian ini kita akan mengintegrasikan PHP dengan MySQL. PHP menyediakan fungsi-fungsi untuk melakukan koneksi ke MySQL, mengambil data, mengupdate data, dan operasi database lainnya. connection.inc <? $HOST $USER $PASS $DATA ?> = = = = “localhost”; “root”; “”; “mydatabase”; //database server, bisa menggunakan IP //user login ke database //password untuk login ke database //nama database

testconnection.php Setiap ingin melakukan koneksi ke database digunakan fungsi mysql_connect, kemudian untuk memlilih database digunakan mysql_select_db, untuk menutup koneksi gunakan mysql_close <? include (“connection.inc”); $con = mysql_connect($HOST,$USER,$PASS); //koneksi database mysql_select_db($DATA); //pilih database //... lakukan operasi database di sini mysql_close($con); //tutup koneksi ?>

4.1 membaca data dari database – mysql_fetch_array <? include (“connection.inc”); $con = mysql_connect($HOST,$USER,$PASS); //koneksi database mysql_select_db($DATA); //pilih database $result = mysql_query(“select * from PhoneBook”); while ( $fetch = mysql_fetch_array($result) ){ echo $fetch[0] . “ “ . $fetch[“email”] . “<BR>”; } mysql_close($con); //tutup koneksi ?>

PHP Web Development

Page 37 of 60

4.2 menghitung jumlah record – mysql_num_rows <? include (“connection.inc”); $con = mysql_connect($HOST,$USER,$PASS); //koneksi database mysql_select_db($DATA); //pilih database $result = mysql_query(“select * from PhoneBook”); $number_rows = mysql_num_rows($result); echo $number_rows; mysql_close($con); //tutup koneksi ?> 4.3 mengubah data di database – mysql_query <? include (“connection.inc”); $con = mysql_connect($HOST,$USER,$PASS); //koneksi database mysql_select_db($DATA); //pilih database $result = mysql_query(“update PhoneBook set email=’somebody@hotmail.com’ where name=’john’”); if($result){ echo “update success”; }else{ echo “update fail”; } mysql_close($con); //tutup koneksi ?>

PHP Web Development

Page 38 of 60

4.4 mendapatkan informasi kolom dari suatu tabel – mysql_num_fields, mysql_fetch_field <? include (“connection.inc”); $con = mysql_connect($HOST,$USER,$PASS); //koneksi database mysql_select_db($DATA); //pilih database $result = mysql_query("select * from PhoneBook") or die("Query failed: " . mysql_error()); $i = 0; while ($i < mysql_num_fields($result)) { //get column count echo "Information for column $i:<br />\n"; $meta = mysql_fetch_field($result); if (!$meta) { echo "No information available<br />\n"; } echo "<pre> blob: $meta->blob max_length: $meta->max_length multiple_key: $meta->multiple_key name: $meta->name not_null: $meta->not_null numeric: $meta->numeric primary_key: $meta->primary_key table: $meta->table type: $meta->type unique_key: $meta->unique_key unsigned: $meta->unsigned zerofill: $meta->zerofill </pre>"; $i++; } mysql_free_result($result); mysql_close($con); //tutup koneksi ?>

PHP Web Development

Page 39 of 60

Bagian 5 – Data Manipulation
Pada bagian ini kita akan membuat halaman web untuk memanipulasi data. Struktur tabel yang digunakan adalah sebagai berikut:

Untuk field id dibuat primary key dan auto Increment Struktur webnya adalah sebagai berikut:

show.php add_form.php edit_form.php delete_form.php add_process.php edit_process.php delete_process.php includes images styles.css

-

halaman menampilkan semua data dari database halaman form input user untuk tambah data halaman form edit user untuk ubah data halaman form untuk konfirmasi penghapusan data halaman untuk proses tambah data halaman untuk proses ubah data halaman untuk proses delete data folder template script php yang di-include. folder untuk menyimpan gambar-gambar file untuk setting CSS (Cascading Stylesheet)

PHP Web Development

Page 40 of 60

includes/connection.php <? $SERVER = “localhost”; $USER = “root”; $PASS = “”; $DATABASE = “phonebook”; ?> includes/header.php My PhoneBook Version 1.00<BR> <img src=”images/logo.jpg”> styles.css BODY { font-family: Verdana, Arial, Tahoma; font-size: X-Small; } .mylink { font-family: Verdana, Arial, Tahoma; font-size: X-Small; color: #00FF00; text-decoration: none; } .mylink:hover { font-family: Verdana, Arial, Tahoma; font-size: X-Small; color: #009CC9; text-decoration: underline; } .mylink:visited { font-family: Verdana, Arial, Tahoma; font-size: X-Small; color: #00FF00; text-decoration: none; }

PHP Web Development

Page 41 of 60

show.php Pada halaman ini kita akan menampilkan data dari database dalam bentuk tabel di HTML. <? include (“includes/connection.php”); ?> <html> <head> <title>My PhoneBook</title> </head> <body> <? include (“includes/header.php”); ?><BR> <a href=””>Add new data</a> <? $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $rs = mysql_query(“select * from tab_phonebook”); ?> <table> <TR> <TD>Name</TD> <TD>Phone</TD> <TD>Email</TD> </TR> <? while($fetch = mysql_fetch_array($rs)){ ?> <TR> <TD><?= $fetch[“name”] ?></TD> <TD><?= $fetch[“phone”] ?></TD> <TD><?= $fetch[“email”] ?></TD> <TD><?= date(“j n Y”,strtotime($fetch[“birthdate”])) ?></TD> <TD> <a href=”edit_form.php?id=<?= $fetch[“id”] ?>”>edit</a> </TD> <TD> <a href=”delete_form.php?id=<?=$fetch[“id”] ?>”>delete</a> </TD> </TR> <? } ?> </table> <? mysql_close($con); ?> </body> </html>

PHP Web Development

Page 42 of 60

add_form.php <html> <head> <title>My PhoneBook</title> </head> <body> <? include (“includes/header.php”); ?><BR> <form action=”add_process.php” method=”POST”> <table> <tr> <td>ID</td> <td>Auto-generated</td> </tr> <tr> <td>Name</td> <td><input type=”text” name=”name”></td> </tr> <tr> <td>Phone</td> <td><input type=”text” name=”phone”></td> </tr> <tr> <td>Email</td> <td><input type=”text” name=”email”></td> </tr> <tr> <td>Birthdate</td> <td> <select name=”dd”> <? for($i=1;$i<=31;$i++) { ?> <option value=”<?= $i ?>”><?= $i ?></option> <? } ?> </select> <select name=”mm”> <? for($i=1;$i<=12;$i++) { ?> <option value=”<?= $i ?>”><?= $i ?></option> <? } ?> </select> <select name=”yy”> <? for($i=1900;$i<=2020;$i++) { ?> <option value=”<?= $i ?>”><?= $i ?></option> <? } ?> </select> </td>
PHP Web Development Page 43 of 60

</tr> <tr> <td colspan=”2”> <input type=”submit” name=”add” value=”Submit”> </td> </tr> </table> </form> </body> </html> Data di dalam form akan dikirimkan ke halaman yang kita spesifikasikan pada attribute action pada form (add_process.php). Berarti untuk code insert ke database akan dituliskan pada halaman add_process.php add_process.php Pada halaman ini, kita tangkap terlebih dahulu data yang dikirimkan dari form. Jika method yang digunakan adalah POST berarti kita gunakan variabel $_POST, jika method yang digunakan adalah GET berarti kita gunakan variabel $_GET <? if(empty($_POST)) { header(“location:show.php”); exit; } include (“includes/connection.php”); $name = $_POST[“name”]; //disesuaikan dengan nama textfield $phone= $_POST[“phone”]; //disesuaikan dengan nama textfield $email= $_POST[“email”]; //disesuaikan dengan nama textfield $dd = $_POST[“dd”]; $mm = $_POST[“mm”]; $yy = $_POST[“yy”]; //validasi nama harus diisi if($name==””){ echo “nama harus diisi<BR>”; echo ‘<a href=”add_form.php”>Back</a>’; }else if(checkdate($mm,$dd,$yy)){ echo “tanggal tidak valid<BR>”; echo ‘<a href=”add_form.php”>Back</a>’; }else{ //input user valid $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $sql = “insert into tab_phonebook(`name`,`phone`,`email`,`birthdate`) values (‘$name’,’$phone’,’$email’,’$yy-$mm-$dd’)”; $success = mysql_query($sql); //execute SQL statement mysql_close($con); if($success) header(“location:show.php”); else { echo “Error: ” . mysql_error() . “<BR>”; echo ‘<a href=”add_form.php”>Back</a>’; }

} ?>

PHP Web Development

Page 44 of 60

Perbedaan antara $_POST dan $_GET adalah jika kita menggunakan method get maka nilai-nilai yang dikirimkan akan muncul di url address pada address bar. Sedangkan jika menggunakan POST data tidak akan ditampilkan paa url address. Untuk data yang banyak, seperti registrasi member, ataupun yang tidak ingin ditampilkan, misalkan form login, kita gunakan method POST.

edit_form.php Untuk edit form pada dasarnya hampir sama dengan add_form.php hanya saja pada halaman ini kita akan mengambil nilai yang dipassing dari link pada show.php. Pada saat kita meng-klik pada link edit maka akan diredirect ke halaman edit_form.php dengan mengirimkan id yang akan diedit dengan menggunakan method GET.

Sehingga pada halaman ini kita akan mengambil dulu dari querystring nilai id yang ingin di-edit, kemudian kita ambil detailnya dari database dan kemudian ditampilkan dalam form. Untuk ID akan kita buat readonly sehingga user hanya bisa bisa mengubah nilai dari field-field yang lain saja. <?

include (“includes/connection.php”); $id = $_GET[“id”]; //get id to be edited $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $rs = mysql_query(“select * from tab_phonebook where `id`=’$id’”); if($fetch=mysql_fetch_array($rs)){ $found=true; $name = $fetch[“name”]; $phone = $fetch[“phone”]; $email = $fetch[“email”]; $name = $fetch[“name”]; $time = strtotime($fetch[“birthdate”]); $dd = date(“j”,$time); $mm = date(“n”,$time); $yy = date(“Y”,$time); }

PHP Web Development

Page 45 of 60

?> <html> <head> <title>My PhoneBook</title> </head> <body> <? include (“includes/header.php”); ?><BR> <form action=”edit_process.php” method=”POST”> <table> <tr> <td>ID</td> <td> <input type=”text” name=”id” value=”<?= $id ?>” READONLY> </td> </tr> <tr> <td>Name</td> <td><input type=”text” name=”name” value=”<?= $name ?>”></td> </tr> <tr> <td>Phone</td> <td><input type=”text” name=”phone” value=”<?= $phone ?>”> </td> </tr> <tr> <td>Email</td> <td><input type=”text” name=”email” value=”<?= $email ?>”> </td> </tr> <tr> <td>Birthdate</td> <td> <select name=”dd”> <? for($i=1;$i<=31;$i++) { if($i==$dd) ?> <option value=”<?= $i ?>” SELECTED><?= $i ?></option> <? else ?> <option value=”<?= $i ?>”><?= $i ?></option> <? }

else{ $found=false; echo “data tidak ada<BR>”; echo ‘<a href=”add_form.php”>Back</a>’; } mysql_close($con); if(!found) exit; //do nothing

PHP Web Development

Page 46 of 60

<select name=”mm”> <? for($i=1;$i<=12;$i++) { if($i==$mm) ?> <option value=”<?= $i ?>” SELECTED><?= $i ?></option> <? else ?> <option value=”<?= $i ?>”><?= $i ?></option> <? } ?> </select> <select name=”yy”> <? for($i=1900;$i<=2020;$i++) { if($i==$yy) ?> <option value=”<?= $i ?>” SELECTED><?= $i ?></option> <? else ?> <option value=”<?= $i ?>”><?= $i ?></option> <? } ?> </select> </td> </tr> <tr> <td colspan=”2”> <input type=”submit” name=”edit” value=”Update”> </td> </tr> </table> </form> </body> </html> Pada halaman ini user dapat mengubah nama, phone, email, dan birthdate. Untuk ID kita tambahkan READONLY pada tag input sehingga tidak bisa diubah. Form ini akan dikirim ke edit_process.php dengan method POST. edit_process.php Pada halaman edit_process.php kita dapat menangkap data-data yang dikirimkan dari edit_form.php dan kemudian lakukan proses update ke database.

PHP Web Development

Page 47 of 60

<? if(empty($_POST)) { header(“location:show.php”); exit; } include (“includes/connection.php”); $name = $_POST[“name”]; //disesuaikan dengan nama textfield $phone= $_POST[“phone”]; //disesuaikan dengan nama textfield $email= $_POST[“email”]; //disesuaikan dengan nama textfield $dd = $_POST[“dd”]; $mm = $_POST[“mm”]; $yy = $_POST[“yy”]; //validasi nama harus diisi if($name==””){ echo “nama harus diisi<BR>”; echo ‘<a href=”edit_form.php”>Back</a>’; }else if(checkdate($mm,$dd,$yy)){ echo “tanggal tidak valid<BR>”; echo ‘<a href=”edit_form.php”>Back</a>’; }else{ //input user valid $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $sql = “update tab_phonebook set `name`=’$name’, `phone`=’$phone’, `email`=’$email’, `birthdate`=’$$yy-$mm-$dd’ where `id`=’$id’; $success = mysql_query($sql); //execute SQL statement mysql_close($con); if($success) header(“location:show.php”); else { echo “Error: ” . mysql_error() . “<BR>”; echo ‘<a href=”edit_form.php”>Back</a>’; }

} ?>

delete_form.php Pada delete_form sama seperti halaman edit_form.php. Dapatkan id yang akan didelete dari url dengan $_GET kemudian tampilkan konfirmasi menggunakan form. User dapat memilih untuk klik button yes atau no. Untuk mengirimkan id lewat form kita dapat menggunakan hidden field di mana informasinya kita sisipkan tanpa perlu dilihat user. Nilai dari hidden field akan tetap dikirimkan lewat form ke halaman yang dituju. <? $id = $_GET[“id”]; ?> <form action=”delete_process.php” method=”POST”> Are you sure ? <input type=”hidden” name=”id” value=”<?= $id ?>”> <input type=”submit” name=”action” value=”Yes”> <input type=”submit” name=”action” value=”No”> </form>

PHP Web Development

Page 48 of 60

delete_process.php Pada halaman ini kita ambil id yang dikirimkan lewat form dan action yang diklik apakah valuenya bernilai “Yes” atau “No”. (Case-sensitive – disesuaikan dengan value pada tag input – submit). <? include (“includes/connection.php”); $action = $_POST[“action”]; if($action==”No”) { header(“location:show.php”); }else if($action==”Yes”){ $id = $_POST[“id”]; $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $sql = ”delete from tab_phonebook where `id`=’$id’”; $success = mysql_query($sql); mysql_close($con); if($success){ header(“location:show.php”); }else{ echo “Error: ” . mysql_error() . “<BR>”; echo ‘<a href=”delete_form.php”>Back</a>’; }

?>

}

Catatan: Untuk pindah ke halaman lain menggunakan header(“location:url.php”) tidak boleh terjadi output ke client. Pastikan fungsi tersebut dipanggil sebelum terjadi output kepada user seperti perintah echo. Selain menggunakan fungsi tersebut dapat juga menggunakan tag meta dari html seperti berikut. header(“location:show.php”); dapat juga dilakukan dengan <meta http-equiv=”refresh” content=”1;url=show.php”> Dengan tag meta dari HTML tersebut browser akan direfresh dalam waktu 1 detik dan pindah ke halaman show.php. Tag meta ini dapat digunakan walaupun sudah terjadi output kepada client.

PHP Web Development

Page 49 of 60

Bagian 6 – Paging dan Filtering
6.1 Paging Paging adalah suatu teknik untuk menampilkan data dari database per bagian di mana menggunakan konsep halaman.

Pada halaman show.php akan kita modifikasi sedikit untuk memberikan efek paging. ... <body> <? include (“includes/header.php”); ?><BR> <a href=””>Add new data</a> <? $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $sql = “select * from tab_phonebook”; $rs = mysql_query($sql); $page = (($_GET[“page”]==””) ? 1 : $_GET[“page”]); $numrows = mysql_num_rows($rs); $pagesize = 10; //jumlah record per halaman $pagecount = ceil($numrows/$pagesize); //jumlah halaman $sql .= “ limit “ . (($page-1)*$pagesize) . “ , “ . $pagesize; $rs = mysql_query($sql); //generate page navigation for($i=1;$i<=$pagecount;$i++) echo ‘<a href=”?page=’.$i.’”>’.$i.’</a>&nbsp;&nbsp;’; ?> <table> ...
PHP Web Development Page 50 of 60

6.2 Searching Pada halaman web kita juga dapat menambahkan fitur searching. Caranya tambahkan sebuah form pada show.php <form action=”” method=”POST”> <input type=”text” name=”keyword”> <input type=”submit” value=”search”> </form> Dengan mengosongkan bagian action, berarti data dalam form akan dikirimkan ke halaman yang sama. Kemudian keyword yang dikirimkan kita tangkap dengan $_POST kemudian kita tambahkan where pada sintaks SQL sebelum dieksekusi dengn mysql_query ... <body> <? include (“includes/header.php”); ?><BR> <a href=””>Add new data</a> <? $con = mysql_connect($SERVER,$USER,$PASS); mysql_select_db($DATABASE); $sql = “select * from tab_phonebook”; $keyword = $_POST[“keyword”]; if($keyword!=””){ $sql .= “ where `name` LIKE ‘$keyword%’”; } $rs = mysql_query($sql); ...

PHP Web Development

Page 51 of 60

Bagian 7 – Session dan Cookies
7.1 Session Session adalah suatu fitur untuk menampung suatu variabel di server di mana dapat digunakan pada halaman-halaman web dalam satu session. Setiap user akan mendapatkan session id yang unik dari server. Untuk menggunakan session pada halaman web gunakan fungsi session_start(). Fungsi ini harus dipanggil sebelum terjadi output kepada client. <? // tidak boleh, ada spasi yang dikirim ke user session_start(); ?> ... Seharusnya seperti berikut ini: <? session_start(); ?> ... Setelah fungsi tersebut dipanggil halaman tersebut dapat menggunakan variabel $_SESSION. session1.php <? session_start(); $_SESSION[“nilai”] = 100; //simpan nilai ke session ?> <a href=”session2.php”>Ke halaman kedua</a> session2.php <? session_start(); echo $_SESSION[“nilai”]; //cetak nilai dari session ?> Session juga dapat dimanfaatkan untuk proses login. Pada saat login berhasil simpanlah suatu nilai misalkan username yang sedang login pada session, kemudian pada saat mengakses suatu halaman yang ingin diproteksi cek terlebih dahulu apakah di session terdapat username yang sedang login jika tidak ada pindahkan ke halaman login. Session secara default disimpan di C:\Windows\Temp (PHP Versi 4.3.9) atau dapat diset dengan menggunakan session_save_path di mana harus dipanggil sebelum session_start() <? session_save_path(“foldersess”); session_start(); ?>
PHP Web Development Page 52 of 60

Fungsi-fungsi session lainnya: session_destroy() session_id() untuk menghapus session yang sedang aktif untuk mendapatkan/mengeset session id yang digunakan. Untuk mengeset session id fungsi ini harus dipanggil sebelum session_start()

7.2 Cookies Cookies adalah suatu teknik menyimpan suatu nilai pada sisi client, berbeda dengan session yang disimpan di server. Untuk menyimpan nilai cookie digunakan fungsi setcookie. Untuk mengakses nilai cookide digunakan variabel $_COOKIE format: bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
Parameter Keterangan Contoh 'cookiename' digunakan dalam $_COOKIE['cookiename'] nilai di dapat dari $_COOKIE[“cookiename’]

name value expire

nama dari cookie nilai dari cookie

time()+60*60*24*30 akan menyebabkan cookie berlaku waktu berlaku cookie. dalam detik. fungsi time() selama 30 hari. Jika parameter ini dikosongkan maka biasa digunakan untuk mendapatkan waktu dari cookie akan berlaku hingga akhir session (pada saat sistem browser ditutup) path di server di mana cookie berlaku Jika menggunakan '/', cookie berlaku untuk keseluruhan domain. Jika diset '/foo/', cookie hanya berlaku untuk direktori /foo/ dan sub-direktorinya. Nilai defaultnya adalah direktori yang sedang aktif. Agar cookie berlaku untuk semua subdomains dari example.com maka set nilainya menjadi '.example.com'. Jika diset dengan www.example.com maka cookiehanya berlaku untuk subdomain www.

path

domain

Nama domain di mana cokie berlaku.

secure

mengindikasikan apakah cookie dikirimkan melalui koneksi HTTPS yang secure. Jika diset 1, 0 or 1 cookie hanya dapat diset jika menggunakan SSL secure connection. Nilai defaultnya adalah 0.

<?php $value = 'something from somewhere'; setcookie ("TestCookie", $value); setcookie ("TestCookie", $value,time()+3600); /* expire in 1 hour */ setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".example.com", 1); ?> Untuk menghapus cookie, setcookie dengan waktu yang expired. <?php // set the expiration date to one hour ago setcookie ("TestCookie", "", time() - 3600); ?>
PHP Web Development Page 53 of 60

Array of Cookies <?php // set the cookies setcookie ("cookie[three]", "cookiethree"); setcookie ("cookie[two]", "cookietwo"); setcookie ("cookie[one]", "cookieone"); // after the page reloads, print them out if (isset($_COOKIE['cookie'])) { foreach ($_COOKIE['cookie'] as $name => $value) { echo "$name : $value <br />\n"; } } /* which prints three : cookiethree two : cookietwo one : cookieone */ ?>

PHP Web Development

Page 54 of 60

Bagian 8 – File and Handling Uploads
Pada bagian ini kita akan membahas fungsi-fungsi file dan cara mengupload file melalui web dan bagaimana cara penanganannya. 8.1 Baca file- fopen, fread <? $filename =”filetoread.txt”; if(file_exists($filename))&&filesize($filename)!=0){ $fp = fopen($filename, “r”); //read file $result = fread($fp,filesize($fp)); fclose($fp); echo “File content:<BR>” . $result; } ?> Selain fread juga dapat menggunakan fungsi fgets, fscanf. 8.2 Tulis file – fopen, fwrite <? $fp = fopen(“filetowrite.txt”,”w”); //a – for append fwrite($fp, “some text to write”); fclose($fp); ?> Selain fwrite juga dapat menggunakan fungsi fputs, fprintf. 8.3 Menampilkan isi direktori - opendir <?php $dir = "/tmp/"; // Open a known directory, and proceed to read its contents if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { print "filename: $file – “; print “filetype: ".filetype($dir . $file)."\n"; } closedir($dh); } } ?> 8.4 Mengubah nama file - rename <? rename(“file1.txt”,”file2.txt”); ?>
PHP Web Development Page 55 of 60

8.5 Menghapus suatu file - unlink <? unlink (“filetodelete.html”); ?> 8.6 Menampilkan file dengan berbagai format Sebagai contoh kita ingin menampilkan file dengan format PDF. <? // We'll be outputting a PDF header("Content-type: application/pdf"); // It will be called mytitle.pdf header("Content-Disposition: attachment; filename=mytitle.pdf"); // The PDF source is in original.pdf readfile('original.pdf'); ?>

8.7 Uploading files Untuk proses upload kita sediakan form untuk upload file terlebih dahulu. Data dalam form akan disubmit dan akan kita tampilkan informasi file yang diupload. form_upload.html <form action=”singleupload.php” method=”POST” enctype=”multipart/form-data”> <input type=”hidden” name=”MAX_FILE_SIZE” value=”30000”> <input type=”file” name=”userfile”> <input type=”submit” value=”Upload”> </form> Dalam form penggunakan nilai MAX_FILE_SIZE besifat optional. Pada tag form tambahkan enctype=”multipart/form-data”. Data akan dikirimkan ke singleupload.php singleupload.php <? $files = $_FILES[“userfile”]; $name = $files[“name”]; $type = $files[“type”]; $size = $files[“size”]; $tmp_name = $files[“tmp_name”]; $error = $files[“error”];

//nama file //tipe file //ukuran file //hasil upload di tmp //kode error

PHP Web Development

Page 56 of 60

$uploaddir = '/var/www/uploads/'; $destination = $uploaddir . $name; if ( move_uploaded_file($tmp_name, $destination) ) { echo “success”; print_r($files); } else { echo “fail”; print_r($files); } Kode error yang dikembalikan adalah sebagai berikut: UPLOAD_ERR_OK – 0 : Tidak ada error, upload file sukses. UPLOAD_ERR_INI_SIZE – 1 : Upload melebihi ukuran max yang diset di php.ini. UPLOAD_ERR_FORM_SIZE – 2 : Upload melebihi nilai hidden field MAX_FILE_SIZE. UPLOAD_ERR_PARTIAL – 3 : Terupload sebagian. UPLOAD_ERR_NO_FILE – 4 : Tidak ada file yang terupload. Proses upload secara otomatis akan dicopy ke tmp_name kemudian dengan fungsi move_uploaded_file kita pindahkan file tersebut ke target file yang kita inginkan. Untuk upload beberapa file sekaligus dapat menggunakan form sebagai berikut. form_multi_upload.html <form action=”multiupload.php” method=”POST” enctype=”multipart/form-data”> <input <input <input <input <input </form> type=”hidden” name=”MAX_FILE_SIZE” value=”30000”> type=”file” name=”userfile[]”> type=”file” name=”userfile[]”> type=”file” name=”userfile[]”> type=”submit” value=”Upload”>

Maka $_FILES[“userfile”][“name”] adalah suatu array di mana terdiri dari $_FILES[“userfile”][“name”][0] => file pertama $_FILES[“userfile”][“name”][1] => file kedua $_FILES[“userfile”][“name”][2] => file ketiga demikian pula dengan nilai yang lainnya seperti type, size, dan sebagainya.

PHP Web Development

Page 57 of 60

Bagian 9 – Shopping Cart
Shopping Cart adalah cara yang biasa digunakan pada halaman web e-commerce di mana pengunjung situs dapat melihat daftar produk beserta gambar dan deskripsinya, kemudian memilih produk-produk yang ingin dimasukkan ke keranjang belanjanya. Untuk membuat shopping cart kita dapat memanfaatkan variabel session. Setiap user meng-klik add to cart – tambahkanlah item tersebut dalam $_SESSION. Kemudian pada saat halaman order kita dapat menampilkan halaman konfirmasi order, tampilkan semua produk yang tadi dipesan, kemudian user dapat menginput jumlah yang ingin dipesan dan kemudian klik Confirm.

PHP Web Development

Page 58 of 60

Index
$_COOKIE, 53 $_GET, 44 $_POST, 44 $_SESSION, 52 <body>, 11 <div>, 12 <form>, 15 <head>, 11 <html>, 11 <select>, 16 <table>, 12 <td>, 12 <textarea>, 17 <title>, 11 <tr>, 12 addslashes, 27 Aggregate Function, 35
AVG, 35 MAX, 35 MIN, 35 SUM, 35

Apache Server, 4 Array, 22 Array Functions, 23 array_filter, 25 array_intersect, 26 array_key_exists, 24 array_keys, 23 array_merge, 26 array_splice, 24 array_unique, 25 array_values, 24 auto Increment, 40 AVG, 35 Checkbox, 17 Class, 29 Control Structure, 18

Cookies, 53 count, 23 Count, 36 Delete, 34 DML ( Data Manipulation Language ), 32 documentroot:, 8 enctype=”multipart/form-data”, 56 explode, 28 fopen, 55 for each, 22 fread, 55 Function, 21
PHP Web Development

Struktur Pemilihan, 18 Struktur perulangan, 19

fwrite, 55 GET, 44 Group By, 36 HAVING, 36 header, 49 hidden field, 48 HTML Tags, 11 html_entity_decode, 29 htmlentities, 29 htmlspecialchars, 28 httpd.conf, 6, 8 implode, 28 in_array, 24 include, 19 Insert, 32 Limit, 36 MAX, 35 MAX_FILE_SIZE, 56 md5, 26 meta, 49 MIN, 35 move_uploaded_file, 57 MySQL Server, 10 mysql_close, 37 mysql_connect, 37 mysql_fetch_array, 37 mysql_fetch_field, 39 mysql_num_fields, 39 mysql_num_rows, 38 mysql_query, 38 mysql_select_db, 37 number_format, 26 Objects, 29 opendir, 55 Paging, 50 parse_str, 27 passing parameter, 21 port, 9 POST, 44 primary key, 40 RadioButton, 17 rename, 55 return value, 21 searching, 51 Select, 33 Session, 52 session id, 52 session_destroy(), 53 session_id(), 53

Page 59 of 60

session_save_path, 52 session_start(), 52 setcookie, 53 sha1, 26 Shopping Cart, 58 sprintf, 28 SQL, 32 SQLYog, 30 sscanf, 28 str_ireplace, 27 str_replace, 27 String Functions, 26 stripslashes, 27 strlen, 27

strtolower, 27 strtoupper, 27 substr, 27 SUM, 35 trim, 28 unlink, 56 Update, 34 UPLOAD_ERR_FORM_SIZE, 57 UPLOAD_ERR_INI_SIZE, 57 UPLOAD_ERR_NO_FILE, 57 UPLOAD_ERR_OK, 57 UPLOAD_ERR_PARTIAL, 57 Uploading files, 56 Variabel, 18

PHP Web Development

Page 60 of 60

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->