+ All Categories
Home > Documents > Tutorial Php Mysql

Tutorial Php Mysql

Date post: 19-Jun-2015
Category:
Upload: chiragirl-cweet
View: 1,612 times
Download: 2 times
Share this document with a friend
Popular Tags:
60
PHP Web Development Page 1 of 60 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
Transcript
Page 1: Tutorial Php Mysql

PHP Web Development Page 1 of 60

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

Page 2: Tutorial Php Mysql

PHP Web Development Page 2 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

Page 3: Tutorial Php Mysql

PHP Web Development Page 3 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

Page 4: Tutorial Php Mysql

PHP Web Development Page 4 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.

Page 5: Tutorial Php Mysql

PHP Web Development Page 5 of 60

2. Pilihlah mode Complete.

Page 6: Tutorial Php Mysql

PHP Web Development Page 6 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

Page 7: Tutorial Php Mysql

PHP Web Development Page 7 of 60

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

Page 8: Tutorial Php Mysql

PHP Web Development Page 8 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 :

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.

<? phpinfo(); ?>

Page 9: Tutorial Php Mysql

PHP Web Development Page 9 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

Page 10: Tutorial Php Mysql

PHP Web Development Page 10 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 Scripts here !!! ?>

Page 11: Tutorial Php Mysql

PHP Web Development Page 11 of 60

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> </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.

<html> <head> <title>Latihan1</title> </head> <body> <div align="center">Selamat Datang di Web Kami</div> </body> </html>

Page 12: Tutorial Php Mysql

PHP Web Development Page 12 of 60

<div> Menampilkan text dengan menggunakan div dapat kita atur alignmentnya. 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

<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>

<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>

Page 13: Tutorial Php Mysql

PHP Web Development Page 13 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>

Page 14: Tutorial Php Mysql

PHP Web Development Page 14 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>

Page 15: Tutorial Php Mysql

PHP Web Development Page 15 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.

Pada code di atas menampilkan cara membuat form dan menggunakan tag input. Untuk lebih detailnya mengenai tag input dapat lihat HTML Manualnya.

<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>

Page 16: Tutorial Php Mysql

PHP Web Development Page 16 of 60

<select>

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

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

Page 17: Tutorial Php Mysql

PHP Web Development Page 17 of 60

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

Using Checkbox Checkbox digunakan untuk meminta input lebih dari satu. 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.

<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 NAME="text" ROWS=3 COLS=20>text here</TEXTAREA>

<input type="checkbox" name="chkEmail" CHECKED>Send Me Email <br> <input type="checkbox" name="chkGift">Send Me Gift

Page 18: Tutorial Php Mysql

PHP Web Development Page 18 of 60

1.4.2 Variabel dalam PHP Dalam PHP semua variabel diawali dengan tanda $. Variabel langsung dapat digunakan tapa harus dideklarasikan terlebih dahulu. 1.4.3 Control Structure Untuk struktur pemilihan dan perulangan adalah sebagai berikut: Struktur pemilihan

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

<? $a = 5; $b = 10; $c = $a + $b; echo $c; $str1 = “Hello”; $str2 = “EVO”; echo $str1 . $str2 ; // . untuk penggabungan string ?>

<? $n = 10; if ( $n > 10 ){ ... //true part }else{ ... //false part } ?>

Page 19: Tutorial Php Mysql

PHP Web Development Page 19 of 60

Struktur perulangan

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

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

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

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

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

<? echo date(“j F Y”, mktime()); ?>

Page 20: Tutorial Php Mysql

PHP Web Development Page 20 of 60

dua.php

Variabel yang dideklarasikan pada halaman utama dapat digunakan pada halaman yang diinclude. tiga.php empat.php

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

<? $var = “Hello EVO”; ?>

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

Page 21: Tutorial Php Mysql

PHP Web Development Page 21 of 60

Bagian 2 – Language Fundamental (Lanjutan)

2.1 Function

Pada halaman PHP kita dapat mendefinisikan fungsi. Contohnya sebagai berikut: Kita dapat juga mengirimkan passing parameter. Selain itu fungsi juga dapat mengembalikan suatu nilai (return value).

<? function test(){ echo “Hello EVO”; } test(); //pemanggilan fungsi ?>

<? function test( $str ){ echo $str; } test(“Hello EVO”); //pemanggilan fungsi ?>

<? function tambah ( $a, $b ){ return $a + $b; } echo tambah(5,6); //output 11 ?>

Page 22: Tutorial Php Mysql

PHP Web Development Page 22 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.

Untuk menelusuri elemen-elemen dalam array dapat menggunakan for each.

<?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]; // 5 echo $arr["somearray"][13]; // 9 echo $arr["somearray"]["a"]; // 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);

?>

<?php $colors = array('red', 'blue', 'green', 'yellow'); foreach ($colors as $color) { echo "Do you like $color?\n"; } /* output: Do you like red? Do you like blue? Do you like green? Do you like yellow? */ ?>

Page 23: Tutorial Php Mysql

PHP Web Development Page 23 of 60

2.3 Array Functions

2.3.1 count Untuk menghitung jumlah elemen dalam suatu array. format: int count ( mixed var) 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])

Output:

$colors = array('red', 'blue', 'green', 'yellow'); echo count($colors); //output 4

$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));

Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size )

Page 24: Tutorial Php Mysql

PHP Web Development Page 24 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) 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) 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.

$data = array( “name” => “evo”, “age” => 18 ); $keys = array_keys($data); print_r($keys); /* output Array ( 0 => “evo”, 1 => 18 ); */

$data = array( “name” => “evo”, “age” => 18 ); if(array_key_exists(“name”, $data)){ echo “found”; }

Page 25: Tutorial Php Mysql

PHP Web Development Page 25 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.

2.3.7 array_unique

Fungsi ini digunakan untuk menghilangkan value yang terdapat duplikasi. format: array array_unique ( array array)

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])

$input = array ("a", "b", "c", "d", "e"); $output = array_slice ($input, 2); // returns "c", "d", and "e" $output = array_slice ($input, 2, -1); // returns "c", "d" $output = array_slice ($input, -2, 1); // returns "d" $output = array_slice ($input, 0, 3); // returns "a", "b", and "c"

$input = array ("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique ($input); print_r($result);

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"));

Page 26: Tutorial Php Mysql

PHP Web Development Page 26 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 ...])

2.3.10 array_merge

Fungsi ini digunakan untuk menggabungkan beberapa array.

format: array array_merge(array arr1, array arr2 [, array ...])

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.

$array1 = array ("a" => "green", "red", "blue");$array2 = array ("b" => "green", "yellow", "red"); $result = array_intersect ($array1, $array2);

$array1 = array ("color" => "red", 2, 4); $array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge ($array1, $array2); print_r($result);

$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

Page 27: Tutorial Php Mysql

PHP Web Development Page 27 of 60

2.4.4 parse_str Digunakan untuk memparsing suatu string ke dalam variabel atau array. 2.4.5 str_replace Digunakan untuk mengganti suatu string dalam string dengan string baru. 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.

$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

$bodytag = str_replace("%body%", "black", "<body text=%body%>"); echo $bodytag; //<body text=black>

$rest = substr("abcdef", 1); // returns "bcdef" $rest = substr("abcdef", 1, 3); // returns "bcd" $rest = substr("abcdef", 0, 4); // returns "abcd" $rest = substr("abcdef", 0, 8); // returns "abcdef" $string = 'abcdef'; echo $string{0}; // returns a echo $string{3}; // returns d

Page 28: Tutorial Php Mysql

PHP Web Development Page 28 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. 2.4.15 sscanf 2.4.16 2.4.17 implode 2.4.18 explode 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;'

$name = ”John”; $age = 18; $result = sprintf(“My name is %s. I am $age years old”,$name,$age); echo $result;

sscanf(“5 6 7”,$a,$b,$c); echo $a; echo $b; echo $c;

<?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); print $comma_separated; // lastname,email,phone ?>

<?php $string = “[email protected],[email protected],[email protected]”; $emails = explode(“,”, $string); print_r($emails); ?>

Page 29: Tutorial Php Mysql

PHP Web Development Page 29 of 60

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 TestPerson.php

<? 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); } } ?>

<? 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”; } ?>

Page 30: Tutorial Php Mysql

PHP Web Development Page 30 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

database explorer code editor

result view

Page 31: Tutorial Php Mysql

PHP Web Development Page 31 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.

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.

create database mydatabase;

Page 32: Tutorial Php Mysql

PHP Web Development Page 32 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: 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,…> Maka Data baru dengan Nomor,Nama,TanggalLahir,Alamat,JenisKelamin dan telepon akan ditambahkan ke Dalam tabel PhoneBook. atau

insert into Phonebook values(1,'Budi',2020-12-20,'Jalan Mangga 12','L','021-5682771',30)

insert into Phonebook(Nomor,Nama) values(1,'Budi')

create table PhoneBook( Nomor int not null,

Nama varchar(20), TanggalLahir datetime, Alamat varchar(200), JenisKelamin char(1), Telepon varchar(15), Primary key (Nomor)

)

Page 33: Tutorial Php Mysql

PHP Web Development Page 33 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> ]

Maka Query akan menghasilkan semua data yang memiliki Nomor 1 dari tabel Phonebook.

Menampilkan semua data yang berumur >= 20 dan jenis kelaminnya laki-laki. Menampilkan semua data yang berumur lebih besar dari 40 tahun atau lebih kecil dari 20 tahun. Menampilkan Nomor, Nama, JenisKelamin, Umur diurutkan dari yang paling tua hingga yang paling muda.

select * from Phonebook

select Nomor,Nama from Phonebook where Nomor=1

select * from PhoneBook where Umur >= 20 AND JenisKelamin='L'

select * from PhoneBook where Umur > 40 OR Umur < 20

select Nomor,Nama,JenisKelamin,Umur from PhoneBook order by Umur DESC

Page 34: Tutorial Php Mysql

PHP Web Development Page 34 of 60

Menampilkan Nomor, Nama, JenisKelamin, Umur diurutkan dari yang paling tua hingga yang paling muda. 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>

Maka Nama dari tabel Phonebook dengan nomor 2 akan diubah namanya menjadi Andi. Menambahkan umur semuanya sebesar 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> Maka yang nomor 1 akan dihapus dari tabel. Menghapus semua data dari dalam tabel. 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.

select Nomor,Nama,JenisKelamin,Umur from PhoneBook order by Umur ASC

update PhoneBook set Nama='Andi' where Nomor=2

update PhoneBook set Umur=Umur+1

delete from PhoneBook WHERE Nomor=1

delete from PhoneBook

Page 35: Tutorial Php Mysql

PHP Web Development Page 35 of 60

Menghapus tabel dari database Menggunakan Aggregate Function MAX digunakan untuk mengambil nilai maksimal dari suatu field

MIN digunakan untuk mengambil nilai Minimal dari suatu field

AVG digunakan untuk mengambil rata-rata dari suatu kolom.

SUM digunakan untuk menghitung Jumlah Total dari suatu kolom pada tabel.

select max(Umur) as MaxUmur from PhoneBook

drop table PhoneBook

select min(Umur) as MinUmur from PhoneBook

select avg(Umur) as RataRataUmur from PhoneBook

select sum(Umur) as TotalUmur from PhoneBook

Page 36: Tutorial Php Mysql

PHP Web Development Page 36 of 60

Count digunakan untuk menghitung jumlah record yang terdapat pada suatu kolom dari suatu tabel.

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

Jika kondisi yang kita gunakan menggunakan aggregate function maka tidak boleh diletakkan di WHERE tetapi harus menggunakan HAVING. Menggunakan Limit 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.

select count(Nomor) as JumlahOrang from PhoneBook

select JenisKelamin,count(Nomor) as Jumlah from PhoneBook group by JenisKelamin

select JenisKelamin,count(Nomor) as Jumlah from PhoneBook group by JenisKelamin having count(Nomor)=MAX(Nomor)

select * from PhoneBook limit 0,10

Page 37: Tutorial Php Mysql

PHP Web Development Page 37 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 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

4.1 membaca data dari database – mysql_fetch_array

<? $HOST = “localhost”; //database server, bisa menggunakan IP $USER = “root”; //user login ke database $PASS = “”; //password untuk login ke database $DATA = “mydatabase”; //nama database ?>

<? 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 ?>

<? 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 ?>

Page 38: Tutorial Php Mysql

PHP Web Development Page 38 of 60

4.2 menghitung jumlah record – mysql_num_rows

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(“select * from PhoneBook”); $number_rows = mysql_num_rows($result); echo $number_rows; mysql_close($con); //tutup koneksi ?>

<? include (“connection.inc”); $con = mysql_connect($HOST,$USER,$PASS); //koneksi database mysql_select_db($DATA); //pilih database $result = mysql_query(“update PhoneBook set email=’[email protected]’ where name=’john’”); if($result){ echo “update success”; }else{ echo “update fail”; } mysql_close($con); //tutup koneksi ?>

Page 39: Tutorial Php Mysql

PHP Web Development Page 39 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 ?>

Page 40: Tutorial Php Mysql

PHP Web Development Page 40 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 - halaman menampilkan semua data dari database add_form.php - halaman form input user untuk tambah data edit_form.php - halaman form edit user untuk ubah data delete_form.php - halaman form untuk konfirmasi penghapusan data add_process.php - halaman untuk proses tambah data edit_process.php - halaman untuk proses ubah data delete_process.php - halaman untuk proses delete data includes - folder template script php yang di-include. images - folder untuk menyimpan gambar-gambar styles.css - file untuk setting CSS (Cascading Stylesheet)

Page 41: Tutorial Php Mysql

PHP Web Development Page 41 of 60

includes/connection.php includes/header.php styles.css

<? $SERVER = “localhost”; $USER = “root”; $PASS = “”; $DATABASE = “phonebook”; ?>

My PhoneBook Version 1.00<BR> <img src=”images/logo.jpg”>

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; }

Page 42: Tutorial Php Mysql

PHP Web Development Page 42 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>

Page 43: Tutorial Php Mysql

PHP Web Development Page 43 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>

Page 44: Tutorial Php Mysql

PHP Web Development Page 44 of 60

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

</tr> <tr> <td colspan=”2”> <input type=”submit” name=”add” value=”Submit”> </td> </tr> </table>

</form> </body> </html>

<? 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>’; } } ?>

Page 45: Tutorial Php Mysql

PHP Web Development Page 45 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); }

Page 46: Tutorial Php Mysql

PHP Web Development Page 46 of 60

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

Page 47: Tutorial Php Mysql

PHP Web Development Page 47 of 60

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.

<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>

Page 48: Tutorial Php Mysql

PHP Web Development Page 48 of 60

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.

<? 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>’; } } ?>

<? $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>

Page 49: Tutorial Php Mysql

PHP Web Development Page 49 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). 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. dapat juga dilakukan dengan 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.

<? 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>’; } } ?>

header(“location:show.php”);

<meta http-equiv=”refresh” content=”1;url=show.php”>

Page 50: Tutorial Php Mysql

PHP Web Development Page 50 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> ...

Page 51: Tutorial Php Mysql

PHP Web Development Page 51 of 60

6.2 Searching Pada halaman web kita juga dapat menambahkan fitur searching. Caranya tambahkan sebuah form pada show.php 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

<form action=”” method=”POST”> <input type=”text” name=”keyword”> <input type=”submit” value=”search”> </form>

... <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); ...

Page 52: Tutorial Php Mysql

PHP Web Development Page 52 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. Seharusnya seperti berikut ini: Setelah fungsi tersebut dipanggil halaman tersebut dapat menggunakan variabel $_SESSION. session1.php session2.php 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()

<? // tidak boleh, ada spasi yang dikirim ke user session_start(); ?> ...

<? session_start(); ?> ...

<? session_start(); $_SESSION[“nilai”] = 100; //simpan nilai ke session ?> <a href=”session2.php”>Ke halaman kedua</a>

<? session_start(); echo $_SESSION[“nilai”]; //cetak nilai dari session ?>

<? session_save_path(“foldersess”); session_start(); ?>

Page 53: Tutorial Php Mysql

PHP Web Development Page 53 of 60

Fungsi-fungsi session lainnya: session_destroy() - untuk menghapus session yang sedang aktif session_id() - 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

name nama dari cookie 'cookiename' digunakan dalam $_COOKIE['cookiename']

value nilai dari cookie nilai di dapat dari $_COOKIE[“cookiename’]

expire waktu berlaku cookie. dalam detik. fungsi time() biasa digunakan untuk mendapatkan waktu dari sistem

time()+60*60*24*30 akan menyebabkan cookie berlaku selama 30 hari. Jika parameter ini dikosongkan maka cookie akan berlaku hingga akhir session (pada saat browser ditutup)

path 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.

domain Nama domain di mana cokie berlaku.

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.

secure

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

0 or 1

Untuk menghapus cookie, setcookie dengan waktu yang expired.

<?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); ?>

<?php // set the expiration date to one hour ago setcookie ("TestCookie", "", time() - 3600); ?>

Page 54: Tutorial Php Mysql

PHP Web Development Page 54 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 */ ?>

Page 55: Tutorial Php Mysql

PHP Web Development Page 55 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

Selain fread juga dapat menggunakan fungsi fgets, fscanf. 8.2 Tulis file – fopen, fwrite

Selain fwrite juga dapat menggunakan fungsi fputs, fprintf. 8.3 Menampilkan isi direktori - opendir

8.4 Mengubah nama file - rename

<? $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;

} ?>

<? $fp = fopen(“filetowrite.txt”,”w”); //a – for append fwrite($fp, “some text to write”); fclose($fp); ?>

<?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); } } ?>

<? rename(“file1.txt”,”file2.txt”); ?>

Page 56: Tutorial Php Mysql

PHP Web Development Page 56 of 60

8.5 Menghapus suatu file - unlink

8.6 Menampilkan file dengan berbagai format Sebagai contoh kita ingin menampilkan file dengan format 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

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

<? unlink (“filetodelete.html”); ?>

<? // 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'); ?>

<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>

<? $files = $_FILES[“userfile”]; $name = $files[“name”]; //nama file $type = $files[“type”]; //tipe file $size = $files[“size”]; //ukuran file $tmp_name = $files[“tmp_name”]; //hasil upload di tmp $error = $files[“error”]; //kode error

Page 57: Tutorial Php Mysql

PHP Web Development Page 57 of 60

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

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.

$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); }

<form action=”multiupload.php” method=”POST” enctype=”multipart/form-data”> <input type=”hidden” name=”MAX_FILE_SIZE” value=”30000”> <input type=”file” name=”userfile[]”> <input type=”file” name=”userfile[]”> <input type=”file” name=”userfile[]”> <input type=”submit” value=”Upload”> </form>

Page 58: Tutorial Php Mysql

PHP Web Development Page 58 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.

Page 59: Tutorial Php Mysql

PHP Web Development Page 59 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

Struktur Pemilihan, 18 Struktur perulangan, 19

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

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 60: Tutorial Php Mysql

PHP Web Development Page 60 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


Recommended