Tutorial PHP
Tutorial PHP
TUTORIAL
PHP
2 KA 30
Ricky Reza Pahlevi ( 16111129 )
Yoga Hariman Kurniawidjaja ( 17111523 )
2012
1
BAB 1
Perkenalan, Installasi dan Konfigurasi
Perkenalan
1.1 Sebelum Belajar PHP
Sebelum lebih lanjut mempelajari bagaimana membuat web dinamis, atau aplikasi
berbasis web menggunakan PHP dan MySQL, penulis menyarankan anda untuk
terlebih dahulu mengerti bagaimana membangun web menggunakan HTML. Ini
digunakan sebagai bekal awal agar nantinya anda tidak kesulitan dalam mengenali
tag-tag HTML yang digunakan dalam membuat website dinamis di ebook PHP
ini. Perlu diketahui PHP ang akan dipelajari dalam ebook PHP ini adalah PHP
versi ke 5. Karena pada dasarnya tidak terlalu jauh berbeda antara versi 5 dengan
PHP versi terbaru yakni PHP 6, perbedaan yang mendasar hanyalah fitur OOP-
nya saja, dan OOP tidak dibahas secara detil dalam ebook PHP ini. Namun
mengingat cakupan PHP begitu luas, saya akan menghadirkannya nanti di ebook
free edisi selanjutnya.
2
yang diterapkan oleh Microsoft yakni Closed Source pada aplikasi-aplikasi
buatannya.
3
development. Hal ini mengagetkan para developernya termasuk Rasmus sendiri,
dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan
Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis
ulang PHP Parser, dan diintegrasikan dengan menggunakan Zend scripting
engine, dan mengubah jalan alur operasi PHP. Dan semua fitur baru tersebut di
rilis dalam PHP 4.13 Juli 2004, evolusi PHP, PHP telah mengalami banyak sekali
perbaikan disegala sisi, dan wajar jika netcraft mengumumkan PHP sebagai
bahasa web populer didunia, karena tercatat 19 juta domain telah menggunakan
PHP sebagai server side scriptingnya. PHP saat ini telah Mendukung XML dan
Web Services, Mendukung SQLite. Tercatat lebih dari 19 juta domain telah
menggunakan PHP sebagai server scriptingnya. Benarbenar PHP sangat
mengejutkan.
Yang menjadikan PHP berbeda dengan HTML adalah proses dari PHP itu sendiri.
HTML merupakan bahasa statis yang apabila kita ingin merubah konten/isinya
makayang harus dilakukan pertama kali nya adalah, membuka file-nya terlebih
dahulu, kemudian menambahkan isi kedalam file tersebut. Beda hal nya dengan
PHP. Bagi anda yang pernah menggunakan CMS seperti wordpress atau joomla
yang dibangun dengan PHP tentunya, ketika akan menambahkan konten kedalam
website, anda tinggal masuk kedalam halaman admin, kemudian pilih new artikel
untuk membuat halaman/content baru. Artinya hal ini, seorang user tidak
berhubungan langsung dengan scriptnya. Sehingga seorang pemula sekalipun
dapat menggunakan aplikasi seperti itu.
4
Keunggulan PHP :
1. Gratis
Apa yang membuat PHP begitu berkembang sangat pesat?? hingga jutaan domain
menggunakan PHP, begitu populernya PHP?? Jawabannya adalah karena PHP itu
gratis. Saya sendiri menyukai bahasa yang satu ini selain mudah juga karena
gratis.
2. Cross platform
Artinya dapat di gunakan di berbagai sistem operasi, mulai dari linux, windows,
mac os dan os yang lain.
3. Mendukung banyak database
PHP telah mendukung banyak database, ini mengapa banyak developer web
menggunakan PHP Adabas D Adabas D, dBase dBase, Empress Empress, FilePro
(read-only) FilePro (read-only) Hyperwave, IBM DB2, Informix, Ingres,
InterBase, FrontBase mSQL, Direct MS-SQL, MySQL MySQL, ODBC, Oracle
(OCI7 and OCI8), Ovrimos, PostgreSQL SQLite, Solid, Sybase, Velocis, Unix
dbm.
4. On The Fly
PHP sudah mendukung on the fly, artinya dengan php anda dapat membuat
document
5
tableyang berbeda. setiap table memiliki informasi yang berkaitan dengan table
yang lainnya.
Mengapa Menggunakan MySQL
1. Gratis
Sama dengan PHP, MySQL bersifat opensource, semua orang bebas
menggunakannyatanpa harus membayar sepeser pun
2. Cross Platform
MySQl dapat digunakan under windows, ataupun under linux.
3. Lengkap dan Cepat
Pasangan yang cocok dengan PHP. Wajar jika banyak hosting saat ini mendukung
adanya PHP dan MySQL karena kecepatan, gratis, dan dapat di jalankan di sistem
operasi manapun.
6
1.3 Mengapa PHP? dan Bagaimana Masa Depan PHP?
PHP telah benar-benar mempengaruhi dunia internet saat ini. Facebook yang anda
kenal selama ini dibangun menggunakan PHP, begitu juga dengan Yahoo, dan
masih banyak lagi yang website populer lain yang menggunakan php sebagai
bahasa intinya. Programmer sistem informasi saat ini lebih cenderung
membangun sistem informasi berbasis website, ketimbang desktop application,
karena fitur yang dihasilkan sama persis, installasi mudah, dapat dijalankan
dibanyak PC, dengan spek yang minim.
“Masa Depan PHP? PHP sekarang sudah menguasai dunia dengan semua
kemudahan dan kegratisannya.”
Installasi
1.4 Installasi PHP, MySQL, & Apache dengan xampp
Pada bagian ini akan dijelaskan bagaimana anda dapat menjalankan PHP, MySQL
dan Apache secara bersamaan.
Ada 2 opsi sebetulnya, pertama anda menginstall ketiga aplikasi tersebut satu
persatu, dan kemudian mengkonfigurasikan satu persatu aplikasi-aplikasi tersebut
sampai semuanya terintegrasi, tentunya hal ini benar-benar merepotkan, dan opsi
yang kedua adalah, saat ini telah banyak web server paketan yang didalamnya
telah berisi PHP, MySQL, dan Apache, dan yang lebih mengasyikan lagi, paket
ini gratis, beberapa paket yang terkenal adalah, Sokkit, wammp, xampp, easyphp,
apachetriad, dan masih banyak lagi, namun saya sendiri lebih prefer menggunakan
xampp, karena sekali install, semua beres, tanpa harus konfigurasi lagi, yang
menyenangkan adalah xampp sudah menyediakan Zend PHP Framework dan
PHP Pear. Oke kita langsung saja kepada praktik dalam menginstallasi xampp,
sebuah paket yang berisi PHP, MySQL, Apache secara lengkap. xampp sendiri
bisa langsung anda download di http://www.apachefriends.com. Anda tinggal
mengekstraknya lalu klik dua
kali.
7
Langkah 1:
Double klik xampp yang sudah anda download, yakni xampp-win32-1.7.3.exe
8
Langkah 3 :
Tunggu sampai progress bar (prosesnya) beres...
9
Langkah 5 :
Pertanyaan ini untuk memperbaiki direktori install, apakah sudah benar letak
direktorinya? Ketik y saja kemudian enter.
Langkah 6 :
Selanjutnya akan ada pertanyaan, apakah anda ingin memasukkan xampp kedalam
flashdisk, sehingga xampp anda bisa digunakan secara portable, artinya anda
dapat menjalankan secara portable, tidak perlu install lagi jika di jalankan
dikomputer lain. Bagi yang sudah mengerti diharapkan diam saja, penulis sedang
menjelaskan ke orang yang belum mengerti. Mohon bersabar. Ketik n saja untuk
tidak, kemudian enter.
10
Langkah 7 :
Lalu enter saja.
Langkah 8 :
Lagi-lagi pertanyaan... Ck.. ck... ck.. Sabar... sabar... Silahkan enter saja.
11
Langkah 9 :
Oke, terakhir ada pertanyaan apakah anda ingin menjalankan pilihan yang
disediakan??
Penulis menekan x kemudian enter untuk keluar dari install. So far, jika anda
mengikuti proses ini dan tampilannya sama dengan yang penulis jabarkan disini
berarti anda telah selesai menginstall xampp.
Selesai sudah installasi xampp versi 1.7.3, untuk menjalankan xampp anda bisa
langsung double klik Xampp Control Panel di desktop.
Anda juga bisa mencarinya di start menu | xampp for windows kemudian klik
xampp control panel.
12
Kemudian nanti akan tampil windows seperti ini :
Mungkin anda bertanya-tanya, apa yang harus saya klik? Dalam mempelajari PHP
dan MySQL kita cuma butuh dua services yang berjalan. Pertama adalah
Apache, dan kedua Adalah MySQL. Apache inilah yang nantinya dapat
menjalankan script PHP, dan MySQL adalah service yang digunakan untuk dapat
membuat database mysql.
Oke yang perlu diklik adalah start di baris Apache dan Start di baris MySQL,
sisanya digunakan untuk FTP, Email, dan bahasa yang lain selain PHP. Oke?
Silahkan klik start apache dan start mysql. Sehingga hasilnya menjadi seperti ini :
13
Gambar 1.12 (Xampp Control Panel Start Service)
Jika sudah seperti ini, artinya anda telah berhasil menjalankan service apache dan
mysql. Untuk mengetes apakah sudah benar-benar berhasil, anda bisa membuka
browser internet favorit anda, di sini penulis menggunakan browser internet
mozilla firefox. Kemudian ketikkan http://localhost di addressbar, kemudian
enter. Apabila anda melihat tampilan yang sama seperti dibawah ini, anda sudah
bisa bermain-main dengan PHP.
14
BAB 2
Bekerja dengan PHP
ini tandanya kita sudah dapat bekerja dengan mysql maupun php. Kita akan coba
masuk kedalam pembahasan, bekerja dengan PHP. Sebelumnya kita telah
15
praktikan bagaimana menginstall xampp agar PHP dan MySQL dapat dijalankan
di mesin lokal. Sekarang saatnya kita akan coba mengetahui struktur dari syntax
PHP. Saya asumsikan anda sudah menguasai HTML. Ya, PHP sama dengan
HTML, untuk dapat menjalankan scriptnya maka anda harus
mengetikkan syntax-syntaxnya ke dalam satu buah file dengan menggunakan text-
editor seperti notepad, atau text editor kesukaan anda, kemudian meletakkan file
tersebut pada suatu direktori khusus yakni defaultnya adalah di :
c:\xampp\htdocs\
16
<?php
echo "Hallo dunia PHP?!";
?>
oke, setelah mengetik semua, silahkan save di :
c:\xampp\htdocs\
buat folder baru dengan nama latihanphp, lalu save dengan nama latihan1.php,
sehingga nanti struktur pathnya adalah :
c:\xampp\htdocs\latihanphp\latihan1.php
untuk menjalankan script tersebut anda cukup mengetikkan di browser :
http://localhost/latihanphp/latihan1.php
hasil di browser adalah seperti ini :
ini terjadi karena direktori default apache untuk dapat menjalankan php adalah
c:\xampp\htdocs, maka untuk dapat membuka file latihan1.php, kita cukup
ketikkan
alamat :
http://localhost/latihanphp/latihan1.php
Mudah ya? Mudah. Nggak ada yang sulit kan? nggak ada dong, iya kan???
semangaat!
17
Anda dapat merubah direktori default dari apache dengan mengkonfigurasi ulang
file
httpd.conf yang terletak di :
C:\xampp\apache\conf\httpd.conf
18
echo "</p>";
}
else
{
echo "<h2>";
echo "Anda bukan Anggie!";
echo "</h2>";
}
?>
Script ini sulit untuk dibaca, karena jika ada programmer lain atau mungkin anda
yang bertahun-tahun liburan kemudian ingin membaca kode-kode yang anda buat
tersebut tentunya akan mengalami kesulitan membedakan fungsi-fungsi dari baris
kodenya. Bayangkan jika seorang programmer mengetik kode-kode ratusan
bahkan ribuan kode dengan cara penulisan seperti itu ??? Mungkin programer
yang membacanya akan mual-mual. 8-}.
Untuk saat ini karena kita baru belajar bahasa pemrogaman php, maka belum
terasa
kesusahannya jika tidak menulis kode dengan cara yang baik. Saya mengibaratkan
penulisan kode yang baik itu seperti seorang penulis mengarang sebuah cerita.
Seorang penulis yang baik itu dapat mempermudah si pembaca dalam membaca
tulisan karangan si penulis, mulai dari tanda baca, tahu letak berhenti suatu
kalimat, paragraf, benar-benar memudahkan, beda dengan penulis yang salah urat,
saya mengatakannya salah urat karena, penulis ini membuat cerita tapi tidak
mempedulikan tanda baca, ini artinya penyiksaan dini bagi para pembacanya. Ya,
contoh coding yang baik adalah seperti ini :
<?php
if ($_POST["nama"] == "Anggie")
{
echo "<p>Hei $_POST['nama']</p>;
}
19
else
{
echo "<h2>Anda bukan Anggie!</h2>"
}
// masih dengan contoh yang sama,
// namun dengan cara penulisan yang berbeda
if ($_POST["nama"] == "Anggie")
{
echo "<p>";
echo "Hei ";
echo $_POST['nama'];
echo "</p>";
}
else
{
echo "<h2>";
echo "Anda bukan Anggie!";
echo "</h2>";
}
?>
20
belajar php. Kita ketikkan seperti ini :
<?php
echo "Saya Belajar PHP";
?>
kemudian simpan... dengan menekan ctrl + s di keyboard, lalu buka mozilla
firefox.
Kemudian arahkan alamatnya ke http://localhost/latihanphp/latihan2.php. Jika
tampilannya adalah :
Saya Belajar PHP
berarti anda telah berhasil mengawali belajar php dengan sukses. Selamat!
21
hanyalah HTML saja, ini terjadi karena PHP engine/processor mengeksekusi file
php di server, dan menghasilkan html dan mengirimkan file htmlnya kepada user,
sehingga yang terlihat adalah htmlnya saja, bukan phpnya.
22
<head>Latihan 4</head>
<body>
<?php
define ("Pi", 3.141592);
echo Pi;
?>
</body>
</html>
23
Catatan :
“Kita lihat $tahun = 2010;
yang dinamakan variable adalah $tahun
sedangkan nilainya adalah 2010
sehingga variable $tahun memiliki nilai 2010”
Ada beberapa tipe data untuk variable, variable yang baru kita praktikan itu
bertipe integer. Ada 3 jenis tipe data induk, yakni integer, float, dan string.
Catatan :
Tipe Integer itu tipe data yang berisi bilangan bulat, 0, 1, 2, 3, dan seterusnya...
Tipe Float itu tipe data yang berisi bilang pecahan atau desimal, seperti 1,35 atau
7,5 dan lain sebagainya...
Tipe String itu tipe data yang berisi kumpulan karakter, angka, huruf, simbol,
misalnya seperti "Susu Ultra Jaya", atau nama jalan "Jl. Warung Nangka 2, Gang
Duren Mateng"
Cara Penulisan Variable :
Dalam menulis variable ada hal-hal yang harus diperhatikan, dan jika tidak diikuti
maka variable tersebut tidak akan menjadi variable, tapi bilangan lain atau
mungkin error :
$variable harus di awali oleh huruf atau _, tidak boleh memuat spasi tidak
boleh memuat spesial karakter (~!@#$% dan lain lain)
$892 ini contoh yang salah dalam penulisan variable
$ini bukan variable ini contoh yang salah dalam penulisan variable
$_variable1 ini adalah contoh yang benar dalam penulisan variable
24
Operator matematika
Contohnya adalah seperti ini :
<?php
// contoh operator matematika
$pengurangan = 3.033.032.020 - 3.033.031.924;
$pertambahan = 3.033.032.020 + 3.033.031.924;
$perkalian = 3.033.032.020 * 3.033.031.924;
$pembagian = 3.033.032.020 / 3.033.031.924;
$hasilbagi = 200 % 4 ;
echo "3.033.032.020 - 3.033.031.924 = $pengurangan" ;
Bab2: Bekerja dengan PHP
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
26
echo "3.033.032.020 + 3.033.031.924 = $pertambahan" ;
echo "3.033.032.020 * 3.033.031.924 = $perkalian" ;
echo "3.033.032.020 / 3.033.031.924 = $pembagian" ;
echo "200 % 4 = $hasilbagi";
// pengurangan di wakili tanda '-'
// penjumlahan di wakili tanda '+'
// perkalian di wakili tanda '*'
// pembagian di wakili dengan tanda '/'
// sisa hasil bagi di wakili dengan tanda '%'
?>
Operator matematika ini layaknya anda berhitung menggunakan matematika,
mulai dari pengurangan, penjumlahan, perkalian, pembagian.
Operator assignment
Operator assignment merupakan operator yang berguna untuk memasukkan nilai
kedalam suatu variable. Dan jangan lupa, setiap baris code harus di tutup dengan
';' atau script anda akan error.
Coba kita praktikan :
25
<?php
// contoh operator assignment
$panjang = 10; // contoh assignment
$lebar = 8; // contoh assignment
$luas = $panjang * $lebar ; // contoh assignment juga
// tanda '=' mewakili proses assignment,
// ada beberapa tanda lagi yang dapat
// melakukan assignment,
// assignment penjumlahan diwakili tanda '+=' contohnya
$tambahdua += 2;
echo $tambahdua."<br>" ;
// hasilnya 2
// hal ini sama dengan pernyatan :
// $tambahdua = $tambahdua + 2;
// assignment pengurangan diwakili tanda '-=' contohnya
$clip = 22;
$clip -= 2; // sama dengan $clip = $clip - 2;
echo $clip;
?>
hal ini juga sama dengan perkalian di wakili tanda '*=' dan pembagian '/='
contoh yang lebih lengkapnya adalah seperti ini :
<?php
$a = 50;
$b = 40;
$c = 30;
$d = 20;
echo "Hasil dari 50+=2 adalah " . $a+=2 ;
echo "Hasil dari 40-=2 adalah " . $b-=2 ;
echo "Hasil dari 30*=2 adalah " . $c*=2 ;
echo "Hasil dari 20/=2 adalah " , $d/=2 ;
26
?>
kemudian save di c:\xampp\htdocs\latihanphp\latihan7.php lalu jalankan di
mozilla firefox, atau browser lain. kita lihat hasilnya.
logikanya adalah sebagai berikut, kita ambil salah satu, misalkan :
$a+=2
ini berarti sama saja dengan :
$a = $a + 2;
karena a bernilai 50, maka tambahkan 2 kepada 50, sehingga 50 + 2 = 52 mudah
bukan. ?
Begitu juga untuk pengurangan, perkalian, dan pembagian. Perlu di catat di sini,
ada bentuk baris seperti ini :
echo "Hasil dari 50+=2 adalah " . $a+=2 ;
dengan tanda titik, tanda titik memiliki arti melanjutkan kalimat. anda juga bisa
menggantikan titik dengan koma. Sebagai contoh apabila kita ingin menulis
kalimat
"Saya belajar PHP" kedalam 3 bagian, kita dapat menulisnya seperti ini
echo "Saya" . "Belajar" . "PHP" ;
atau juga bisa seperti ini :
echo "Saya" , "Belajar" , "PHP" ;
sehingga untuk menampilkan angka 5 yang berada dalam variable $a, bisa seperti
ini :
echo "Nilai a adalah $a";
Bab2: Bekerja dengan PHP
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
28
bisa juga seperti ini :
echo "Nilai a adalah". $a ;
atau bisa juga seperti ini :
echo "Nilai a adalah", $a ;
mudah bukan ??
27
Selanjutnya adalah operator perbandingan, khusus untuk operator
perbandingan tidak dapat digunakan standonline, artinya tidak bisa bekerja jika
tidak di integrasikan dengan kondisional / percabangan , oleh karena itu saya akan
membahasnya berbarengan dengan kondisional if / else. Begitu juga dengan
operator logika, saya akan jelaskan di bagian kondisional, sedangkan untuk
operator increment, dan decrement akan dijelaskan di bagian pengulangan.
28
{
echo "Saya akan berangkat kuliah!";
}
?>
Lihat hasilnya di browser...
Saya akan berangkat kuliah!
Bagaimana???
29
{
echo "Naik Motor";
}
if ($jarak != 40)
{
echo "Diam ditempat";
}
?>
Hasilnya nanti adalah :
Jalan Kaki Saja Naik Motor
30
{
echo "Saya akan membuat mie ramen";
}
?>
contoh yang lainnya :
<?php
$cuaca = "mendung";
if ($cuaca != "cerah") // jika cuaca tidak cerah
{
echo "Saya akan membuat mie ramen";
}
else
{
echo "Saya akan berangkat kuliah";
}
?>
Mudah bukan? Kemudahan inilah yang membuat para web developer menjawab
"PHP itu
sangat manusiawi" ketika saya menanyakan tentang bahasa apa yang mereka
sukai.
2.5.3 Menggunakan Argumen if, else if, dan else
Jika pada argumen if dan else itu dapat menggunakan dua kondisi, yakni kondisi
jika benar, dan jika salah, pada argumen if, else if, dan else, anda dapat
menggunakan kondisi yang tidak terbatas. dan masing-masing kondisi/kriteria
memiliki masing-masing pernyataan/statement. Dalam dunia sehari-hari argumen
if, else if, dan else memiliki
contoh seperti ini :
jika mendung
maka bawa payung
jika cerah
31
maka saya akan berangkat kuliah dengan jalan kaki meskipun jaraknya 20 km.
jika banjir maka bawa perahu sendiri dari rumah dan begitu seterusnya, tidak ada
batasnya...
dalam dunia php, contoh implementasinya adalah sebagai berikut, jangan lupa
untuk memperhatikan tanda {} dan ; nya
<?php
$nilai = "A";
if($nilai == "A")
{
echo "Bagusss... baguss...";
}
else if ($nilai == "B")
{
echo "Baik...";
}
else if ($nilai == "C")
{
echo "Cukup...";
}
else if ($nilai == "D")
{
echo "Kurang...";
}
// dan seterus-seterusnya ...
?>
silahkan save di c:\xampp\htdocs\latihanphp\ . Kita lihat di browser mozilla
firefoxhasilnya adalah seperti ini :
Bagus... bagus...
di dalam penggunaan argumen if, else if, dan else terlihat begitu tidak terbatas jika
diaplikasikan kedalam kasus yang lain.
32
2.6 Menggunakan pemilihan switch
Switch sebetulnya sama saja dengan argumen if, else if, dan else, cuma sedikit
berbeda dalam penggunaannya terlebih pada syntaxnya. Jika untuk memutuskan
kondisi dalam if, else if, dan else itu menggunakan {} namun dalam switch untuk
memberhentikan keputusan digunakanlah fungsi break; bentuk aslinya adalah
seperti ini :
switch(variable){ // kita memilih variable yang akan dicocokkan
case kriteria1: // kita menanyakan kriteria pertama itu apa
pernyataan1; // kemudian pernyataannya apa ?
break; // di akhir dengan break; begitu seterusnya, hingga kriteria habis
case kriteria2:
pernyataan2;
break;
// dan seterusnya dan seterunya ...
}
di sini terlihat ketika kondisinya sesuai di wakili dengan code ‘case kriteria1:’
dengan titik dua ':' di belakang setiap kriterianya. maka di tulis lah pernyataan di
bawahnya itu apa?
contoh kasus dalam php nya sebagai berikut :
<?php
$nilai = "A";
switch($nilai)
{
case "A":
echo "Bagusss... baguss...";
break;
case "B":
echo "Baik...";
break;
case "C":
33
echo "Cukup...";
break;
case "D":
echo "Kurang... ";
break;
}
?>
switch itu hanya digunakan pada satu jenis variable saja namun memiliki nilai
yang berbeda. tetapi dalam if, else if, dan else dapat digunakan pada variable yang
berbedabeda dan nilai yang berbeda. switch ataupun if, else if, dan else tentunya
dapat anda gunakan sesuai dengan kebutuhan anda nantinya.
34
2.7.1 Pengulangan For
For merupakan jenis pengulangan yang cukup sering digunakan, dan penggunaan
pengulangan bentuk for ini tergantung kebutuhan. dan for ini bisa digunakan
untuk contoh kasus sederhana yang saya sebutkan di awal tadi yaitu menampilkan
angka 1 -100 atau 1 - 50jt dengan cepat. For membuat semuanya menjadi sangat
effisien. Bentuk umum for adalah seperti ini :
for(nilai awal; batas nilai; operator increment/decrement)
{
pernyataan yang akan di proses
}
Contoh implementasinya seperti ini, menampilkan kalimat Angka 1 sampai 100 :
<?php
// file latihan_271.php
for($x=1;$x<=100;$x++)
{
echo "Angka $x<br>";
}
?>
Hasilnya :
1
2
3
4
...
100
Pengulangan ini akan terus menerus mengulang dan terus menerus dilakukan
penambahan 1 hingga nilainya mencapai yang ditargetkan, yakni kurang sama
dengan 100. Karena pengulangan terjadi dari angka 1 hingga 100 maka terdapat
100 proses.
Untuk operator increment yang lain adalah seperti ini.
35
<?php
for($x=1;$x<=100;$x+2)
{
echo "Angka $x<br>";
}
?>
ini berarti dilakukan penambahan 2, sehingga nanti hasilnya seperti ini. (browser)
dan untuk operator decrement contohnya seperti ini :
<?php
for($x=100;$x>=1;$x--)
{
echo "Angka $x<br>";
}
?>
bedanya adalah pada operator perbandingan, jika pada pengulangan increment
atau
menaik bentuk operatornya adalah '<=', namun dalam pengulangan decrement
atau
menurun bentuk operatornya adalah '>=', apabila peraturan ini tidak dipatuhi maka
hasilnya adalah error. Contoh lain pengulangan decrement :
<?php
for($x=100;$x>=1;$x-=2)
{
echo "Angka $x<br>";
}
?>
selain hanya php, anda juga dapat menggunakan pengulangan ini untuk
menghasilkan
html yang dinamis, contohnya seperti ini :
<html>
36
<head>
<title>Pengulangan header</title>
</head>
<body>
<?php
for($x=1;$x<=7;$x++)
{
echo "<font size=$x>Ukuran font $x</font><br>";
}
?>
</body>
</html>
2.7.2 Pengulangan while
Pengulangan while ini bentuknya seperti ini :
Nilai awal
While (batas pengulangan)
{
pernyataan;
operator decrement/increment;
}
Pengulangan jenis ini tidak terlalu jauh berbeda dengan pengulangan bentuk for.
hanya
saja penempatan nilai awalnya, dan operator decrement/incrementnya berbeda
letaknya.
Implementasinya adalah seperti ini :
<?php
$x = 1;
while ($x <= 100)
{
echo "Angka $x";
37
$x++ // jika tidak ada operator increment atau decrement
// maka proses akan
// terus menerus terjadi tanpa berhenti
}
?>
jadi jika kondisi belum sampai yang ditentukan dalam hal ini, jika variable $x itu
kurang dari 100 maka pengulangan akan terus dilakukan, dan penambahan selalu
terjadi. Namun ketika nilainya lebih dari 100 maka pengulangan akan berhenti.
hampir sama dengan konsep pengulangan bentuk for.
2.7.3 Pengulangan do while
Bentuk pengulangan do while adalah seperti ini :
Nilai awal
do
{
pernyataan;
operator decrement/increment;
}
While (batas pengulangan)
contoh implementasinya :
<?php
$x = 1;
do
{
echo "Angka $x";
$x++
}
while ($x <= 100);
?>
hampir sama dengan bentuk pengulangan while, namun yang jadi perbedaan di
sini
38
adalah letak dari whilenya saja, dan diakhir dari pengulangan while di beri ;
(semicolon).
coba kita buktikan :
<?php
// pengulangan jenis while
$x = 1;
while ($x <= 100)
{
echo "Angka $x<br>";
$x++;
}
echo "<strong>$x</strong>";
echo "<br><br>";
// pengulangan jenis do while
$x = 1;
do
{
echo "Angka $x<br>";
$x++;
}
while($x <= 100);
echo "<strong>$x</strong>";
?>
Di akhir setiap pengulangan saya memasukkan baris echo $x ; ini cuma untuk
membuktikan apakah benar nilainya sama, dan hasilnya ... sama. ini menandakaan
do while itu sama dengan while, namun implementasinya itu sesuai dengan
kebutuhan anda.
Sampai sini, anda dapat memilih, lebih prefer atau lebih suka menggunakan
pengulangan bentuk yang mana? for, while, atau do while. semua di tangan anda.
dangunakan secara efisien.
39
2.8 Menggunakan Include dan require untuk efisiensi Coding
Fungsi include dan require berfungsi untuk menjalankan banyak file secara
berbarengan dengan caraa memasukkan file lain kedalam suatu file tertentu.
Bentuk penulisannya adalah seperti ini :
include "namafile.php";
require "namafile.php";
Contoh implementasinya adalah seperti ini, kita akan membuat suatu argumen
yang nilai variable nya itu diambil dari file yang lain. Pertama buat satu buah file
dengan nama, variable.latihaninclude.php kemudian ketikkan di dalamnya seperti
ini :
<?php
// file variable.latihaninclude.php
$cuaca = "hujan";
?>
kemudian kita akan mengambil variable $cuaca tersebut untuk dimasukkan
kedalam file yang lain, kita buat 1 buah file lagi, dengan nama, latihan_28.php,
kemudian ketikkan di dalamnya seperti ini :
<?php
include "variable.latihaninclude.php";
if ($cuaca == "cerah")
{
echo "Latihan bola di GOR";
}
else
{
echo "Bikin mie ramen";
}
?>
hasilnya adalah :
Bikin mie ramen
40
Mengapa ? karena fungsi include lah yang dapat memanggil file lain untuk di
eksekusi bersama, namun perlu diperhatikan peletakkannya. jika di letakkan di
akhir seperti ini maka akan error.
<?php
if ($cuaca == "cerah")
{
echo "Latihan bola di GOR";
}
else
{
echo "Bikin mie ramen";
}
include "variable.latihaninclude.php";
?>
oleh karena itu disesuaikan dengan penggunaannya, yakni diletakkan sebelum
pengolahan file.
41
function testing()
{
echo "Contoh menggunakan Fungsi";
}
// untuk dapat menggunakan fungsi yang telah dibuat,
// perlu pemanggilan nama fungsinya.
testing();
?>
Menggunakan parameter dalam fungsi
Parameter mewakili variable yang nilainya akan diolah. untuk menggunakan
parameter
contohnya adalah seperti ini :
<?php
function testing($nilai)
{
echo "Tinggi badan anda adalah $nilai";
}
$tinggibadan = 170 ;
testing($tinggibadan);
?>
kita lihat hasilnya di browser mozilla firefox dengan parameter dalam fungsi anda
dapat mengolah apa saja, dan coding jauh lebih cepat ketimbang memanggil ulang
perintahperintah nya tanpa menggunakan fungsi. Contoh lain menggunakan
parameter :
<?php
function penjumlahan($nilai1, $nilai2)
{
$total = $nilai1+$nilai2;
echo "$nilai1 + $nilai2 = ".$total;
}
42
penjumlahan(30,20);
?>
dan hasilnya di browser mozilla firefox :
30 + 20 = 50
Fungsi benar-benar bermanfaat dalam pengolahan data inputan user ataupun dari
database.
Mengembalikan Nilai Fungsi
Mengembalikan nilai fungsi dilakukan jika anda menginginkan nilai dari fungsi
tersebut di olah dalam suatu variable tertentu. Nah biasanya nilai dalam variable
nantinya akan digunakan oleh fungsi yang lain. Untuk mengembalikan nilai
fungsi, digunakan suatu fungsi return. Contoh implementasinya :
<?php
function penjumlahan($nilai1, $nilai2)
{
$total = $nilai1+$nilai2;
return $total;
}
$jumlah20plus30 = penjumlahan(30,20);
echo $jumlah20plus30;
?>
kita lihat hasilnya di browser,
50
kemudian kita balik ke codenya.
Fungsi penjumlahan tersebut akan mengembalikan nilai dari penjumlahan antara
$nilai1 dan $nilai2. Sehingga nilai dari fungsi dapat diimplementasikan sebagai
nilai dari suatu variable $jumlah20plus30. Dan hasil akhirnya adalah nilai si
fungsi di ambil dari nilai return fungsi tersebut. Sehingga nilai dari fungsi tersebut
dapat dimanfaatkan untuk suatu kebutuhan lainnya.
43
2.10 Mengenal array
Jika variable itu cuma memiliki satu nilai, maka array memiliki banyak nilai dari
elemen. Array, merupakan suatu kumpulan data variable yang tersusun secara
index.nanti akan saya jelaskan maksudnya itu apa. Array dapat menampung
variable yang tipe datanya berbeda-beda.
2.10.1 Syntax array
Untuk membuat array, berikut adalah syntaxnya :
array(elemen)
contohnya adalah seperti ini :
$tahun = array(1924, 2010, 2012, 2024, 2050);
saya akan jelaskan, array di mulai dari index urutan 0.
array(1924, 2010, 2012, 2024, 2050);
sehingga :
index 0 --> di miliki oleh array bernilai 1924
index 1 --> di miliki oleh array bernilai 2010
index 2 --> di miliki oleh array bernilai 2012
index 3 --> di miliki oleh array bernilai 2024
index 4 --> di miliki oleh array bernilai 2050
Sehingga apabila anda ingin mengambil nilai dari array, misalkan 2024, anda
cukup dengan menampilkan nama variable nya kemudian di tambahkan index
dibelakang variable tersebut, seperti ini :
$tahun[3]; --> mewakili 2024.
Sehingga apa bila di aplikasikan dalam code php:
<?php
$tahun = array(1924, 2010, 2012, 2024, 2050);
echo $tahun[3];
?>
Sehingga hasilnya nanti di browser adalah :
2024
44
selain angka, php array pun dapat memuat berbagai variable dengan tipe data yang
lain.
Contoh lainnya :
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
for ($x=0;$x<=6;$x++)
{
echo $mahasiswa[$x]."<br>";
}
?>
hasilnya adalah :
Loka Dwiartara
Laki-laki
24/01/1987
B
3.41
Bot Technology
Pengulangan tadi sebetulnya hanya mengambil isi dari array satu demi satu.
Sehingga yang terjadi sebetulnya adalah sama seperti ini :
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
echo $mahasiswa[0]."<br>";
echo $mahasiswa[1]."<br>";
echo $mahasiswa[2]."<br>";
echo $mahasiswa[3]."<br>";
echo $mahasiswa[4]."<br>";
echo $mahasiswa[5]."<br>";
?>
45
Dan kita lihat hasilnya, sama dengan script yang menggunakan pengulangan
bentuk for ada beberapa syntax dalam php, yang biasa digunakan untuk
mengambil isi dari array, selain dengan pengambilan langsung seperti cara tadim
ataupun menggunakan looping seperti yang saya jelaskan barusan. Kita dapat
menggunakan fungsi dalam pengolahan array, dengan cara memanfaatkan key
dari tiap-tiap array, dan hal ini membutuhkan satu
pengulangan tersendiri.
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
for($x=0;$x<6;$x++)
{
echo "Index array mahasiswa ke : ".key($mahasiswa)." Berisi
".current($mahasiswa)."<br>";
next($mahasiswa);
}
?>
kita lihat hasilnya di browser, ini merupakan pengambilan array dari index
terendah yakni 0, ke paling akhir yakni 5. kita akan coba membaliknya, jika tadi
mulai dari 0 - 5, kita mulai dari 5 dan mundur hingga urutan ke 0, dengan
memanfaatkan fungsi end(), dan prev();
Kita coba implmentasikan :
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
end($mahasiswa);
for($x=0;$x<6;$x++)
{
echo "Index array mahasiswa ke : ".key($mahasiswa)." berisi
46
".current($mahasiswa)."<br>";
prev($mahasiswa);
}
?>
dengan end(), maka array akan dibawa ke paling akhir, kemudian di bawa mundur
ke index terendah dengan fungsi prev(). Selain fungsi end(), prev(), dan next(),
kita juga dapat menggunakan fungsi count() yang digunakan untuk menghitung
jumlah variable yang ada dalam array, sebagai contohnya, kita akan menghitung
jumlah array yang berada pada array mahasiswa :
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
$jumlaharray = count($mahasiswa);
echo $jumlaharray;
?>
Mengakses Array dalam variable yang terpisah
Ada sedikit pertanyaan mungkin, masih seputar array, mungkin anda
menginginkan array tersebut di akses kedalam variable variable yang terpisah,
anda dapat menggunakan fungsi list(); implementasinya seperti ini :
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
list($nama,$jeniskelamin,$tanggallahir,$poin,$IP,$spesialisasi) =
$mahasiswa;
echo $nama."<br>";
echo $jeniskelamin."<br>";
echo $tanggallahir."<br>";
echo $poin."<br>";
echo $IP."<br>";
echo $spesialisasi."<br>";
47
?>
2.10.2 Mengurutkan array
Sedikit lagi dengan array, bagaimana mengurutkan array ? hal ini digunakan
ketika kita memiliki banyak data tapi data tersebut tidak berurutan, misalkan
1,3,2,4,7,8,6,5,9,10, kita ingin mengurutkan array tersebut dari terkecil hingga
terbesar. solusinya adalah menggunakan fungsi sort() :
<?php
$data = array(1,3,2,4,7,8,6,5,9,10);
sort($data);
for($x=0;$x<=10;$x++)
{
echo current($data)."<br>";
next($data);
}
?>
2.10.3 Menggunakan foreach
Selain menggunakan looping dengan bentuk for tadi, kita pun dapat menggunakan
pengulangan yang memang dikhususkan untuk array, yakni foreach, dan biasanya
foreach juga digunakan untuk menampilkan isi dari database. penggunaan foreach
sangatlah mudah.
<?php
$mahasiswa = array("Loka Dwiartara","Lakilaki","
24/01/1987","B",3.41,"Bot Technology");
foreach ($mahasiswa as $datamahasiswa)
{
echo $datamahasiswa."<br>";
}
?>
mudah ya ??
48
2.11 Manipulasi String
Manipulasi string digunakan untuk mengolah suatu inputan yang dimasukkan oleh
user atau di ambil dari database. Biasanya manipulasi ini digunakan untuk satu
alasan tertentu, seperti misalkan mencocokan password, validasi kecocokan email,
menampilkan text dengan format tertentu, misalkan menampilkan angka 3031924
dalam rupiah menjadi Rp 3.031.924,- dan masih banyak contoh yang lainnya.
Menghitung Jumlah karakter dalam string
Untuk menghitung jumlah karakter dalam string, digunakan fungsi strlen();
implementasinya adalah seperti ini :
<?php
$nama = "Loka Dwiartara";
$jumlahkarakter = strlen($nama);
echo "variable \$nama berisi $jumlahkarakter karakater";
?>
Membandingkan 2 String
Membandingkan 2 string biasanya digunakan untuk pencocokan password, atau
pencocokan email. Di gunakan fungsi strcmp(); implementasinya seperti ini :
<?php
$passwordasli = "b3laj@rpHP";
$passwordinput = "belajarPHP";
$cocok = strcmp($passwordasli, $passwordinput);
if ($cocok != 1)
{
echo "Password anda salah!";
}
else
{
echo "Password anda benar.";
}
?>
49
ini merupakan simulasi ketika password yang berada dalam database yakni
$passowrdasli, dicocokkan dengan cara penginputan yang dilakukan oleh user
yakni
$passwordinput.
Strcmp itu membandingkan antara password database dengan password yang
input, ketika password yang di input itu tidak cocok dengan yang ada di database
maka yang terjadi kemudian adalah pernyataan "Password anda salah".
Mengkapitalkan string
Ini adalah istilah lain dari mengubah text yang tadinya huruf kecil semua menjadi
huruf besar semua. Cara penggunaannya cukup mudah, cukup dengan
menggunakan strtoupper(); Implementasinya adalah sebagai berikut :
<?php
$intro = "jangan berteriak!!!";
$introhurufbesar = strtoupper($intro);
echo $introhurufbesar;
?>
Hasil di browser :
JANGAN BERTERIAK!!!
cukup mudah bukan ?
Menjadikan string huruf kecil semua
Kebalikan dari strtoupper adalah sdtrtolower ;
implementasinya adalah sebagai berikut :
<?php
$intro = "SEDANG BERBISIK";
$introhurufkecil = strtolower($intro);
echo $introhurufkecil;
?>
Mengubah baris baru menjadi
Ketika anda mengetikkaan sebuah kalimat dalam PHP seperti ini, dengan banyak
baris di
50
dalamnya ...
Pada suatu hari
saya jalan sendirian
di tengah jalan bertemu kucing herder
saya di kejar sampai nyusruk
namun ketika di tampilkan dengan menggunakan echo, seperti ini
<?php
$cerita = "Pada suatu hari
saya jalan sendirian
di tengah jalan bertemu kucing herder
saya di kejar sampai nyusruk";
echo $cerita;
?>
yang terjadi malah, semuanya di tampilkan dalam satu baris :
Pada suatu hari saya jalan sendirian di tengah jalan bertemu kucing herder saya di
kejar sampai nyusruk php memiliki fungsi nl2br(), yang menjadikan baris-baris
baru menjadi <br>, dan
Kalimat-kalimat yang diketik ditampilkan seperti ketika di ketik.
Implementasinya seperti
ini
<?php
$cerita = "Pada suatu hari
saya jalan sendirian
di tengah jalan bertemu kucing herder
saya di kejar sampai nyusruk";
echo nl2br($cerita);
?>
hasilnya adalah :
Pada suatu hari
saya jalan sendirian
51
di tengah jalan bertemu kucing herder
saya di kejar sampai nyusruk
Memfilter tag html
Memfilter tag html biasanya digunakan ketika seorang web developer tidak
menginginkan spammer merusak tampilan guestbook, dengan linknya, atau
menonaktifkan tag html yang tidak dibutuhkan.
Misalkan ketika seorang spammer yang menaruh link situsnya kedalam
guestbook, maka untuk menonaktifkan link tersebut cukup gunakan strip_tags();
implementasinya adalah
seperti ini :
<?php
$situsspammer = "Silahkan <u>berkunjung</u> ke <a href=
'http://www.tokosandaljepit.com'> Toko Online Sandal Jepit
<strong>Aneka Warna</strong></a>";
$filterlink = strip_tags($situsspammer, "<strong><u>");
echo $filterlink;
?>
Dan silahkan save lalu lihat hasilnya di browser anda. strip_tags() memfilter
hanya tag yang didefiniskan saja yang ditampilkan.
Format penggunaan strip_tags adalah sebagai berikut :
strip_tags(kalimat yang akan di filter, tag yang boleh ditampilkan)
Sehingga pada contoh kasus ini, diluar dari tag <strong> dan <u> maka tag
tersebut tidak ditampilkan.
Memecah string ke dalam array dengan explode()
Bagaimana cara untuk memecah string, menjadi kumpulan elemen dalam array?
Dengan cara menggunakan explode(). String yang berisi kata-kata akan dipecah,
sehingga menjadi array-array, yang nantinya digunakan untuk kebutuhan tertentu.
Sebagai contoh :
<?php
52
$belajar = "saya sedang belajar bahasa pemrogaman PHP";
$arraybelajar = explode(" ", $belajar);
echo $arraybelajar[5];
?>
sedikit saya jelaskan, explode() menjadikan spasi sebagai pemisah antara elemen
array yang satu dengan lainnya, sehingga apabila terdapat spasi maka kata-kata
tersebut akan di pecah sehingga menjadi array. Contoh lainnya
<?php
$tanggal = "03/Maret/1924";
$tanggalarray = explode("/", $tanggal)
echo $tanggalarray[2];
?>
53
Array yang berbeda tipe datanya dapat di satukan menjadi satu kesatuan string
dengan menggunakan implode(). Mudah kan?
Mencari Posisi Suatu Karakter Dengan Strpos()
Untuk mencari posisi suatu karakter atau string anda dapat menggunakan strpos().
Contohnya adalah sebagai berikut :
Misalkan anda ingin mencari posisi kata PHP, dari kalimat saya sedang belajar
PHP.
<?php
$kalimat = "Saya sedang belajar PHP";
$katayangdicari = "PHP";
$posisi = strpos($kalimat, $katayangdicari);
echo $posisi;
?>
Menampilkan sebagian isi string dengan substr()
Anda dapat menampilkan sebagian isi dari suatu string, mungkin bagi anda yang
pernah membuka suatu situs biasanya di awal situs ditampilkan intro dari suatu
artikel,dengan keterangan read more, atau baca selengkapnya, hal ini
menggunakan substr(), atau untuk memfilter nomor hp, dengan cara tidak
menampilkan kesuluruhan nomornya, kemudian diganti dengan karakter xxx, dan
lain sebagainya.
Cara penulisannya adalah seperti ini.
substr(kalimat, nilai awal, nilai akhir atau range )
contohnya :
<?php
$kalimat = "saya sedang mengetik menggunakan keyboard, guna mempelajari
bahasa PHP";
$potongkalimat = substr($kalimat, -3);
echo $potongkalimat ;
?>
substr($kalimat, -3) di sini berarti, tampilkan sebagian isi variable kalimat yakni 3
54
karakter dari belakang. Dan hasilnya adalah seperti ini ...
PHP
contoh yang lain :
<?php
$kalimat = "saya sedang mengetik menggunakan keyboard, guna mempelajari
bahasa PHP";
$potongkalimat = substr($kalimat, 0, 41);
echo $potongkalimat ;
?>
kita lihat hasilnya di browser adalah seperti ini ...
saya sedang mengetik menggunakan keyboard
Ini berarti script ini memiliki fungsi untuk menampilkan mulai dari karater dari
posisi 0 dengan range 40 karakter didepannya, contoh yang lain :
<?php
$kalimat = "saya sedang mengetik menggunakan keyboard, guna mempelajari
bahasa PHP";
$potongkalimat = substr($kalimat, 5, 6);
echo $potongkalimat ;
?>
Lihat hasilnya di browser, script ini berfungsi menampilkan sebagian isi dari
variable $kalimat, substr($kalimat, 5, 6); berarti, menampilkan mulai dari posisi 5,
dan rangenya 6 karakter, dimulai dari posisi 5 itu sendiri. Sehingga pada posisi 5
ada huruf s, dan rangenya 6 karakter adalah s,e,d,a,n,g sehingga yang diambil
adalah kata sedang.
Menimpa karakter dengan karakter yang lain dengan str_replace()
Bagaimana jika anda ingin melakukan manipulasi dari suatu string. Misalkan
ingin menimpa suatu kata dengan kata yang lain, misalkan mengubah kata
bermain dalam kalimat "saya sedang bermain" menjadi "saya sedang belajar".
Anda dapat
memanfaatkan str_replace(); contoh penggunaanya adalah seperti ini
55
str_replace("kata/karakter asli", "kata/karakter yang baru",
"kalimat");
implementasinya
<?php
$kalimat = "saya sedang bermain";
$kalimatbaru = str_replace("bermain", "belajar", $kalimat);
echo $kalimatbaru ;
?>
dan hasilnya adalah :
saya sedang belajar
Manipulasi string dengan trim()
trim() digunakan untuk menghilangkan spasi, dikiri atau dikanan, biasanya
digunakan untuk proses pengolahan inputan username dan password yang
dilakukan oleh
user, biasanya ini terjadi ketika user tidak sengaja/lupa menekan tombol spasi di
keyboard, untuk menanganinya anda dapat menggunakan trim()
contoh penggunaanya :
<?php
$password = " iniadalahpassword ";
$passwordasli = trim($password);
echo $passwordasli;
?>
hasil dari script di atas adalah spasi akan hilang. Anda pun dapat menghilangkan
spasi di
kiri dengan ltrim(), dan dikanan dengan rtrim();
56
2.12 Syntax Alternatif untuk PHP
2.12.1 Alternatif echo
Kita biasa menggunakan echo untuk proses menampilkan isi dari suatu variable,
sebetulnya ada alternatif dalam php untuk menampilkan isi dari suatu variable,
andadapat menggunakan print, namun proses print sedikit lebih lama dari echo.
Meskipun tidak terasa karena kecepatan komputer yang sudah sedemikian
canggih, tapi tetap proses print memakan waktu 15% sedikit lebih lama dari echo.
Contoh penggunaan print sama dengan echo :
<?php
print "menampilkan kalimat";
?>
Namun para web developer cenderung menggunakan echo ketimbang print.
Bukan karena kecepatan. Tapi karena web developer lebih malas mengetik 5
huruf ketimbang 4 huruf. :d aneh ya? Tapi memang itu faktanya.
57
?>
mungkin kedepannya anda akan memproses kutip dua didalam kutip dua, seperti
menyisipkan html di dalam echo. seperti ini misalnya :
<?php
echo "<a href="http://www.ilmuwebsite.com">Ilmuwebsite.com</a>";
?>
mari kita lihat di browser, hasilnya adalah error. bagaimana agar kita dapat
menggunakan
tanda kutip dua, didalam kutip dua? Solusinya adalah menggunakan spesial
karater '\'.
Kita buktikan :
<?php
echo "<a href=\"http://www.ilmuwebsite.com\">Ilmuwebsite.com</a>";
?>
58
echo "File-nya ada...";
}
else
{
echo "Filenya tidak ada ...";
}
?>
file_exits("tes.txt") akan mengecek apakah file nya ada atau tidak, jika bernilai 1,
maka
akan di tampilkan "File-nya ada..."; jika bernilai 0, maka akan ditampilkan
filenya tidak
ada. Atau bisa juga di tulis seperti ini, tidak menggunakan operator perbandingan
==.
<?php
if (file_exists("tes.txt"))
{
echo "File-nya ada...";
}
else
{
echo "Filenya tidak ada ...";
}
?>
Apakah File atau Direktori??
Untuk mengecek apakah file ataukah direktori terhadap nama file atau direktori
kita dapat menggunakan is_file untuk mengecek file atau bukan dan is_dir untuk
mengecek direktori atau bukan. Implementasinya masih menggunakan file yang
tadi yakni tes.txt:
<?php
if (is_file("tes.txt"))
59
{
echo "Ini adalah file!";
}
?>
Untuk mengecek direktori atau bukan, silahkan anda buat sebuah direktori dengan
nama
direktorites di dalam c:\xampp\htdocs\latihanphp.
Kemudian untuk mengecek direktorites itu adalah direktori atau bukan anda dapat
mengetikan script memanfaatkan fungsi is_dir()
<?php
if (is_dir("direktorites"))
{
echo "Ini adalah direktori!";
}
?>
Membuat dan menghapus file
Untuk membuat file, anda dapat menggunakan fungsi touch(), dan untuk
menghapus file yang ada, anda dapat menggunakan fungsi unlink();
implementasinya
adalah seperti ini, script untuk membuat file :
<?php
touch("filecontoh.txt");
if (file_exists("filecontoh.txt"))
{
echo "File sudah ada!";
}
?>
Lihat hasilnya di browser anda. Untuk menghapus file yang sudah ada, anda dapat
menggunakan unlink().
Implementasinya, kita menggunakan file yang telah kita buat sebelumnya, yakni
60
mencoba untuk menghapus filecontoh.txt
<?php
if (file_exists("filecontoh.txt"))
{
echo "Filennya ada!<br/>";
}
// menghapus file
unlink("filecontoh.txt");
// mengecek kembali keberadaan filenya
if (file_exists("filecontoh.txt"))
{
echo "File sudah ada!";
}
else
{
echo "File sudah tidak ada ... ";
}
?>
Membuka File
Ada beberapa fungsi untuk membuka file, mulai dari membuka file saja,
kemudian ada juga fungsi yang dapat membuka kemudian lalu menulis isi file,
ada juga fungsi untuk membuka file sambil menulis, dan lain-lain.
Membuka file saja anda dapat menggunakan syntax :
$fp = fopen( NAMA_FILENYA, 'r' );
dengan fungsi fopen(), dan paramater r di dalamnya, r disini hanya hanya dapat
membuka file saja dan meletakkan pointer atau kursor di awal file.
Membuka/membaca file kemudian menulis file tersebut anda dapat menggunakan
syntax:
$fp = fopen( NAMA_FILENYA, 'r+' );
61
parameter r+ ini memungkinkan kita membaca file kemudian menulisi file
tersebut dengan meletakkan kursor atau pointer pada awal file.
Menulis file saja anda dapat menggunakan syntax :
$fp = fopen( NAMA_FILENYA, 'w' );
parameter w memungkinkan anda dapat menulis file, dengan meletakkan kursor
di awal file.
Membaca dan menulis file sekaligus anda dapat menggunakan syntax seperti ini :
$fp = fopen( NAMA_FILENYA, 'w+' );
parameter w+ memungkinkan anda dapat membaca dan menulis file, dengan
meletakkan kursor di awal file.
Menulis file saja anda dapat menggunakan syntax :
$fp = fopen( NAMA_FILENYA, 'a' );
parameter a memungkinkan anda dapat menulis file, namun meletakkan kursor di
akhir file.
Membaca dan menulis file sekaligus anda dapat menggunakan syntax seperti ini :
$fp = fopen( NAMA_FILENYA, 'a+' );
parameter w+ memungkinkan anda dapat membaca dan menulis file, namun php
meletakkan kursornya di akhir file.
Membaca File dengan feof() dan fgets()
Oke kita akan coba langsung mengimplementasikan fopen(), feof(), dan fgets()
secara bersamaan untuk membaca isi suatu file.
Implementasinya adalah seperti ini:
<?php
$file = "tes.txt";
$fileopen = fopen($file, 'r') or die ("Nggak bisa di baca");
while (!feof($fileopen))
{
$bariskalimat = fgets($fileopen, 1024);
echo $bariskalimat."<br>";
}
62
?>
hal yang pertama di lakukan adalah membuka file tersebut dengan fopen($file,
'r'), r itu parameter untuk membaca saja dan meletakkan kursor atau pointer di
awal dari file. Jika file tidak bisa dibaca akan muncul error dengan peringatan
"Nggak bisa dibaca".
while (!feof($fileopen)) memiliki fungsi untuk mengecek apakah pointer atau
kursornya berada pada akhir file. parameter r pada fopen meletakkan kursor di
awal, dan while
(!feof($fileopen)) akan terus mengecek apakah kursornya sudah sampai akhir file,
jika sudah sampai akhir file maka pengulangan akan berhenti.
$bariskalimat = fgets($fileopen, 1024);
berfungsi untuk mengambil isi dari file baris demi baris menggunakan memory
1024 byte kemudian di tampilkan dengan ;
echo $bariskalimat."<br>";
ilustrasinya adalah seperti ini ... logika membuka file
paramater r, pada fopen($file, 'r') berfungsi untuk meletakkan kursor di awal dari
file.
feof mengecek apakah sudah berada di akhir file ...
fgets mengambil isi file dan mengambil baris pertama ...
fopen kemudian mengcek apakah sudah berada di akhir file?
fgets mengambil isi file dan mengambil baris kedua...
fopen kemudian mengcek apakah sudah berada di akhir file?
jika fopen mengecek sudah berada pada baris akhir maka pengulangan berhenti.
Menulis atau menambahkan isi file dengan fputs()
Untuk menulis isi file anda dapat menggunakan fputs(). Untuk dapat
menggunakan fputs() anda harus membuka filenya terlebih dahulu, dengan
fopen(), kemudian gunakan
fputs(), setelah itu baru tutup file dengan fclose();
Implementasinya adalah seperti ini :
<?php
63
$file = fopen("tes.txt", a);
fputs($file, "Welcome to the jungle");
fclose($file);
?>
Parameter a pada fopen("tes.txt", a); berfungsi untuk menambahkan isi file di
bagian akhir. Jika anda menggunakan w atau r, maka isi file akan dihapus
kemudian di timpah dengan yang baru. Jika anda ingin menambahkannya di akhir
maka gunakan a.
Mudah sekali bukan?
64
n -> Nama bulan (1..12)
O -> waktu greenwicj
r -> format RFC 822 (Sun, 25 Agustus 2002 16:01:07+0200
s -> detik (00..59)
T -> Timezone (DMT)
y -> tahun dalam dua digit
Y -> tahun dalam empat digit
z -> hari ke x dari tahun
contoh implementasi dari date & time adalah seperti ini untuk mengetahui tanggal
berapa sekarang :
<?php
echo date("d");
?>
untuk contoh yang lebih kompleks lagi ...
<?php
echo "Sekarang waktu menunjukkan pukul ", date("H:i A"),
"<br>", date("l, d F Y"),
"<br>Hari ke : ", date("z"), " dari tahun ", date("Y");
?>
65
BAB 3
Menggunakan PHP dengan MySQL
3.0 Mengenal MySql
Sebelum lebih jauh dengan mysql, terlebih dahulu kita harus mengetahui apa itu
mysql. sebagai intermezo saya akan coba ceritakan sekelumit mengenai mysql.
Berbicara mengenai mysql, tidak lepas dari berbicara mengenai sql (structured
query language) yakni bahasa yang berisi perintah-perintah untuk memanipulasi
database, mulai dari melakukan perintah select untuk menampilkan isi database,
menginsert atau menambahkan isi kedalam database, mendelete atau menghapus
isi database dan mengedit database.
Beberapa sistem database yang menggunakan sql diantaranya ada Ms. Access,
MsSQL Server, Oracle, PostgresSQL, DB2, MySQL, Interbase dan lain
sebagainya ...
Untuk menjadi seorang web developer yang handal, anda harus menguasai
perintahperintah sql. Meskipun tidak mutlak, tapi saya sangat menganjurkan anda
untuk mnguasai perintah mysql untuk memudahkan dalam developer aplikasi
nantinya. Secara garis besar berbagai sistem database menggunakan bahasa yang
sama untuk memanipulasi isi dalam database. Sama-sama menggunakan bahasa
sql.
66
Hingga dalam kurun waktu kurang dari 20 tahun. PHP dan MySQL sudah
mendominasi dunia internet khususnya web development untuk web dinamis yang
powerfull. Bahkan bisa dibilang, internet sebagian besar terdiri dari PHP dan
MySQL.
Salah satu alasan mengapa ini terjadi adalah, kedua paket tersebut bersifat open
source.
Sejarah MySQL
Berawal dari proyek yang dimulai oleh kedua orang developer, yakni Michael
Widenius dan David Axmark di tahun 1994. Pada awalnya mysql Di develop
menggunakan bahasa C dan C++. Lagi-lagi proyek ini didasari karena ingin
membuat suatu sistem database yang murah, meskipun ketika itu ada database
yang powerfull yakni oracle, namun database ini bersifat komersil yang harganya
super mahal , dan begitu menguasai pasar.
Dan akhirnya MySQL dirilis pertama kali pada 23 Mei 1995. Mysql begitu
diminati oleh banyak orang, karena kemudahan installasi, kemudahan pemakaian
sudah seperti database komersil dengan sistem RDBMS, sistem yang
memungkinkan interkoneksi antara satu tabel dengan tabel lainnya, sistem ini
benar-benar effisien.
Pada 8 Januari 1998 MySQL dirilis untuk versi Windows 95 dan NT Ini
menjadikan mysql itu sebagai sistem database yang low end. artinya user biasa
pun dapat menggunakan mysql ini tanpa membutuhkan server tambahan.
Benarbenar
suatu terobosan yang membuat mysql semakin diminati banyak orang.
Versi 3.23 beta nya di terbitkan pada Juni 2000, dan versi stabilnya dirilis pada
januari 2001.
Versi 4.0 beta nya di terbitkan pada Agustus 2002, dan versi stabilnya dirilis
pada
Maret 2003. Dalam dirils kali ini mysql sudah mengincludekan unionnya,
yang memungkin satu dengan table lain dapat saling join, dan ditampilkan dalam
satu tabel.
67
Versi 4.1 beta nya di terbitkan pada Juni 2004, dan versi stabilnya dirilis pada
Oktober 2004.
Dalam versi ini mysql mengincludekan R-trees and B-trees, subqueries,
prepared
statements.
Versi 5.0 beta nya di terbitkan pada Maret 2005, namun versi stabilnya dirilis
pada Oktober 2005 cursors, stored procedures, triggers, views, XA transactions
Versi 5.1: currently pre-production (since November 2005) (event scheduler,
partitioning, plugin API, row-based replication, server log tables). Sun
Microsystems acquires MySQL AB on 26 February 2008
Tahun 2009, 11 milyar server di internet telah menginstall mysql sebagai
default
sistem databasenya. MySQL kini merupakan database yang sangat powerfull.
Bahkan google sudah meracik MySQL sehingga menjadi database pencarian
milik google. MySQL menjadi sangat hebat. Saat ini.
68
tinyint, -128 sampai dengan 255
mediumint, -8 Juta sampai dengan 8 Juta
bigint, -92 Triliyun sampai dengan 92 Triliyun
float, bilangan desimal positif, bilangan real, memiliki koma-komaan ...
double, bilangan desimal negatif dan positif, dan memiliki koma-komaan ...
Tipe Data Date dan TIme
date, hanya memuat tanggal saja, dengan formatnya seperti ini tahun-bulan-
tanggal time, hanya memuat waktu saja, formatnya HH:MM:SS
(Jam:Menit:Detik)
datetime, memuat tanggal dan waktu, formatnya Tahun-Bulan-Hari
Jam:Menit:Detik
year,
Tipe Key
Primary Key, Kunci yang menghubungkan antara 1 table dengan table lainnya
Auto Increment
Auto Increment menyebabkan pertambahan nilai urutan secara otomatis, suatu
record
memiliki nilai 1, kemudian jika ada record yang lain lagi di insertkan ke dalam
database,
maka urutannya akan menjadi 2 dan begitu seterus-seterusnya ....
Syntax MySQL
Pada bagian ini akan saya akan coba jelaskan beberapa syntax MySQL yang
sering
digunakan dalam membuat website, maupun aplikasi-aplikasi berbasis website,
baik
dalam melakukan pembuatan database, penambahanisi database, untuk
menghapus isi
database, ataupun untuk menghapus database itu sendiri. Syntax yang kita
gunakan
69
adalah :
create
use
show
drop
alter
select
insert
update
delete
dibagian ini saya baru akan menjelaskan teorinya saja, di subbab selannjutnya
akan saya
jelaskan secara praktiknya.
Create
ini digunakan untuk membuat database maupun table. Database yang memiliki
sistem
RDBMS di mana telah saya terangkan di awal bab ini, bahwa RDBMS itu sistem
database yang berisi informasi dalam bentuk table-table yang saling berkaitan.
Jadi
langkah awal dalam membuat database adalah menggunakan fungsi create;
syntaxnya
seperti ini :
create namadatabase;
untukmembuat table syntaxnya seperti ini :
create table(field1(ukuran), field2(ukuran), ...)
Use
Ini digunakan untuk menggunakan database yang telah dibuat sebelumnya, yang
nantinya
database ini akan di edit atau di modifikasi.
syntaxnya itu seperti ini :
70
use namadatabase;
Drop
Ini digunakan untuk menghapus database ataupun table yang ada. Syntaxnya
adalah
seperti ini :
drop database;
untuk menghapus table gunakan :
drop namatable;
Alter
Alter ini akan dijelaskan secara terperinci di subab selanjutnya yang membahas
membuat
database membuat table, dan mengedit keduanya. Alter berfungsi untuk
memodifikasi
table yang telah di buat, modifikasi nya seperti menambahhkan field, mengganti
size dari
suatu field, menghapus field, dan mengganti nama field.
Sebagai contoh untuk mengganti size dari suatu field adalah seperti ini :
alter table mahasiswa change nama nama_mahasiswa varchar(75)
ini berarti, ganti tipe dari field nama menjadi nama_mahasiswa dengan tipe
varchar yg
memiliki ukuran 75
Select
Di gunakan untuk menampilkan isi dari suatu table, bisa dengan kriteria tertentu
bisa juga
dapat menampilkan keseluruhan tanpa adanya kriteria. Penggunaan standarnya
seperti
ini:
select * from nama_table
Penggunaan ketika ingin menampilkan berdasarkan kriteria adalah seperti ini :
select * from nama_table where field=kriteria
71
Untuk menampilkan nilai terbanyak :
select max(field) from tablenya
Untuk menjumlah isi record salah satu field dari suatu table :
select sum(field) from tablenya
untuk menghitung berapa jumlah record yang ada dari suatu table :
select count(*) from tablenya
Insert
insert ini digunakan untuk mengisi record suatu table, syntaxnya seperti ini
insert into nama_table(field1, field2, ...) values(nilai1, nilai2, ...)
contoh penggunaanya seperti ini :
insert into mahasiswa(nama, nilai) values('Loka Dwiartara','B');
ini berarti masukkan kedalam table mahasiswa, kedalam field id berisi Loka
Dwiartara,
dan kedalam field nilai berisi B.
Update
digunakan untuk memperbarui isi dari suatu record, syntaxnya seperti ini :
update nama_table set field=nilaibaru where field=kriteria
contoh penggunaannya adalah seperti ini :
update mahasiswa set nilai='A' where nama='Loka Dwiartara';
ini berarti perbarui atau update table mahasiswa ganti nilainya menjadi A dari
mahasiswa
bernama Loka Dwiartara.
Delete
digunakan untuk menghapus suatu record dari suatu table penggunaannya seperti
ini :
delete from namatable where field=kriteria;
Oke, saya telah menjelaskan semua fungsi dari syntax mysql, kita akan coba
praktikan
semuanya.
72
3.2 Membuat Database, membuat table
Dalam membuat suatu aplikasi berbasis web, dibutuhkanlah
database yang dapat
menyimpan data-data yang nantinya di oleh untuk dijadikan informasi yang
bermanfaat.
Sebelumnya kita telah belajar bagaimana membuat database, di sini kita akan
praktikan
semuanya, mulai dari membuat database.
Tapi sebelum membuat database kita pastikan terlebih dahulu apakah services
mysqlnya telah running melalui xampp control panel.
Setelah semuanya berjalan, kita akan coba masuk kedalam start | run | cmd.
Kemudian masuk ke direktori :
c:\xampp\mysql\bin
dengan cara :
cd c:\xampp\mysql\bin
73
Gambar 3.2 (Dos 2)
Sehingga nanti akan tampil :
Oke berhasil, kita akan buat satu buah database bernama mahasiswa, kenapa
mahasiswa? karena nantinya database ini kita akan kembangkan menjadi suatu
sistem informasi yang cukup besar, dan akan saya jelaskan bagaimana membuat
suatu sistem informasi berikut membuat blog dengan data-data mahasiswa.
Oke kita akan buat database, cara nya seperti (cukup ketik yang di cetak tebal
saja):
mysql> create database mahasiswa ;
Kemudian kita akan menggunakan database tersebut untuk di buat table nya.
Caranya
seperti ini :
74
mysql> use mahasiswa;
lalu untuk melihat database tersebut sudah memiliki table apa saja, kita cukup
gunakan
syntaks seperti ini :
mysql> show tables;
75
memiliki ukuran 50 ini digunakan sebagai perwakilan nama mahasiswa, seperti
misalnya
'Loka Dwiartara' terdapat 14 digit huruf, dan asumsi saya adalah paling banyak
itu nama orang adalah berjumlah 50. Misalnya ... "Sukaryo Mangunkusumo
SungTolodo
Makan Cokor Kebo" berjumlah 49 digit huruf, termasuk spasi didalamnya.
Begitu juga dengan jenis_kelamin dan alamat, namun untuk tgl_lahir, kita
menggunakan tipe nya date. date sudah otomatis berisi 10 digit, bentuk
defaultnya
adalah seperti ini 0000-00-00 sehingga jika menulis 24 Januari 1987 adalah
seperti ini
1987-01-24.
Oke anda mengerti? kita lanjut, untuk merubah struktur di atas menjadi query
mysql
bentuknya seperti ini :
create table tbl_mhsiswa (id_mhs int(5) primary key auto_increment, nama_mhs
varchar(50), jenis_kelamin varchar(10), tgl_lahir date, alamat varchar(200));
tampilannya ...
76
Kita lihat di sini, id mhs int(5) primary key auto_increment ini berarti id_mhs ini
akan di
jadikan sebagai index dari tbl_mhsiswa, dan auto_increment berfungsi membuat
no urut secara otomatis, sehingga hasil akhirnya adalah mulai dari 1, 2, 3, 4 dan
seterusnya.
Untuk melihat apakah table yang sudah di buat sudah ada kita jalankan perintah :
show tables;
mysql> show
Kemudian bagaimana jika kita ingin melihat isi dari table yang sudah di buat :
select * from tbl_mhsiswa;
mysql> select * from tbl_mhsiswa;
setelah membuat table, kadang anda mungkin tidak sreg dengan nama tablenya,
anda bisa
merubah namanya dengan syntax alter ; caranya seperti ini :
alter table tbl_mhsiswa rename tbl_mahasiswa;
kemudian lakukan show tables;
show tables;
dari tbl_mhsiswa kemudian di rubah menjadi tbl_mahasiswa, kita coba
kembalikan
seperti nama table yang awal :
alter table tbl_mahasiswa rename tbl_mhsiswa;
kemudian show tables; kembali :
show tables;
mysql>
misalkan kita ingin menambahkan field yang tadinya cuma id_mhs, nama_mhs,
jenis_kelamin, tgl_lahir, alamat, sekarang kita akan menambahkan dengan satu
field
baru misalnya status, caranya adalah:
alter table tbl_mhsiswa add column status varchar(30);
mysql> alter table tbl_mhsiswa add column status varchar(30);
77
ini berarti tambahkan field status dengan tipe varchar dan memiliki ukuran 30
kedalam
tbl_mhsiswa. Ada contoh lain misalkan kita ingin merubah nama dan ukuran dari
suatu
field, ingin di perbesar ukurannya atau ingin di perkecil kita cukup menggunakan
perintah seperti ini :
alter table tbl_mhsiswa add change id_mhs id_mahasiswa int(10);
mysql> alter table tbl_mhsiswa change id_mhs id_mahasiswa int(1: 0 Warnings: 0
ini berarti ganti field id_mhs menjadi id_mahasiswa bertipe integer dengan
ukuran 10
digit.
Oke kita kembalikan ke awal :
alter table tbl_mhsiswa change id_mahasiswa id_mhs int(5) not null
auto_increment;, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
Bagaimana caranya jika kita hanya ingin merubah ukurannya saja ? Cara nya
seperti ini:
alter table tbl_mhsiswa modify id_mhs int(20) not null auto_increment;
: 0 Duplicates: 0 Warnings: 0
memodifikasi id_mhs menjadi tipe integer dengan sizenya 20.
Dan untuk mengapus field yang ada caranya seperti ini, misalnya kita ingin
mendelete
field status :
: 0 Duplicates: 0 Warnings: 0
Anda bisa melihat struktur yang ada dengan :
mysql> desc tbl_mhsiswa;
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| id_mhs | int(20) | NO | PRI | NULL | auto_increment |
78
| nam
kita coba isi terlebih dahulu dengan menggunakan perintah insert :
, 1 row affected (0.05 sec)
mysql>
kemudian kita tampilkan lagi isi dari tbl_mhsiswa :
kita coba isi kembali dengan record yang lain :
tampilkan kembali isinya :
bagaimana jika kita ingin menampilkan record berdasarkan kriteria, misalkan
ingin
melihat mahasiswa yang alamatnya di jawa barat saja :
select * from tbl_mhsiswa where alamat='Jawa Barat';
mudah ya?? apalagi jika anda sering berlatih untuk mengulang perintah-perintah
yang tadi. Kita coba isi kembali sebuah record kedalam tbl_mhsiswa :
insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat) values('Deny
Sarwono', 'Pria', '1986-12-09','Jawa Barat');
affected (0.00 sec)
tampilkan kembali :
select * from tbl_mhsiswa;
mysql>
Kita akan coba mendelete mahasiswa yang tanggal lahirnya '1986-12-09' :
delete from tbl_mhsiswa where tgl_lahir = '1986-12-09';
kemudian untuk membuktikan sudah atau belum didelete cukup lakukan perintah
yang
tadi, untuk menampilkan isi table:
select * from tbl_mhsiswa| 1987-01-24 | Jawa Barat |
|2
00 sec)
kita juga bisa melakukan modifikasi record yang ada dengan perintah update,
sebagai
79
contohnya, kita akan coba mengganti Nama Mahasiswa dari Anggie Jatrasmara
menjadi
Jatrasmara :
update tbl_mhsiswa set nama_mhs='Jatrasmara' where alamat='Jawa Timur';
mysql> update tbl_mhsiswa set nama_mhs='Jatrasmara' where alamat='Jawa
: 1 Changed: 1 Warnings: 0
kita buktikan :
select * from tbl_mhsiswa;
sec)
mudah ya??? anda bisa mengulang-ngulangnya kembali.
80
ke dalam c:\xampp\htdocs\. Kemudian kita buat sebuah folder dengan nama
latihan3,
kemudian buat sebuah file dengan nama koneksi.php
<?php
// untuk dapat mengkoneksikan php kepada mysql
// ada 4 informasi yang anda butuhkan,
// pertama adalah host ini adalah nama suatu komputer
// username, ini merupakan username dari mysql server yang telah terinstal
// bersamaan dengan xampp
// password sama dengan username
// dan database apa yang ingin di koneksikan
// defaultnya ketika anda menggunakan xampp maka informasi tersebut berisi
// hostnya adalah localhost, usernamenya adalah root, dan passwordnya itu
// kosong
// sedangkan database yang akan kita koneksikan adalah database mahasiswa yang
// telah kita buat sebelumnya
// oke langsung saja kita ketikan seperti ini
// pertama adalah hostnya
$host = "localhost";
// kemudian adalah username
$username = "root";
// lalu passwordnya
$password = "";
// dan selanjutnya adalah database
$database = "mahasiswa";
// kemudian untuk mengkoneksikannya caranya adalah dengan fungsi
mysql_connect
// seperti ini
$koneksi = mysql_connect($host, $username, $password);
// ini berarti tolong koneksikan php kepada mysql dengan informasi host,
81
// username, dan password
// kemudian untuk memilih database yang akan di koneksikan
// pilihlah database yang ada dalam koneksi yang sedang berlangsung, jika tidak
// bisa maka gagal koneksi
// mudah bukan ???
$pilihdatabase = mysql_select_db($database, $koneksi);
if ($pilihdatabase) echo "Berhasil";
else echo "Gagal Koneksi";
// apabila kita eksekusi di browser, jika koneksi sukses maka tampilannya
// "Berhasil"
// namun jika terdapat komentar Gagal Koneksi, berarti anda belum berhasil
?>
82
}
?>
mudah bukan??? anda cukup mengulang-ngulang cara ini hingga anda menjadi
seorang
yang advanced dalam menggunakan query mysql pada php.
Kita akan coba menggunakan query yang sama untuk mengambil field yang lain...
<?php
include "koneksi.php";
$tampilkan = "select * from tbl_mhsiswa";
$query_tampilkan = mysql_query($tampilkan);
while($hasil = mysql_fetch_array($query_tampilkan))
{
echo $hasil['nama_mhs']."<br />";
echo $hasil['jenis_kelamin']."<br />";
}
?>
kita juga dapat melakukan query insert dengana menggunakan php, buat sebuah
file
dengan nama insertquery.php
<?php
include "koneksi.php";
$insert = "insert into tbl_mhsiswa(nama_mhs, jenis_kelamin, tgl_lahir, alamat)
values('Deny Sarwono', 'Pria', '1986-12-09','Jawa Barat');";
$insert_query = myqsl_query($insert);
if($insert_query) {echo "Berhasil di insert";}
else {echo "Gagal Insert Record";}
?>
selain itu kita juga bisa melakukan query delete dengan menggunakan php, buat
sebuah
83
file dengan nama deletequery.php
<?php
include "koneksi.php";
$delete = "delete from tbl_mhsiswa where tgl_lahir = '1986-12-09';";
$delete_query = mysql_query($delete);
if($delete_query) echo "Record Telah berhasil di hapuss...";
else echo "Record Gagal untuk dihapus..";
?>
Bab 3: Menggunakan PHP dengan MySQL
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
88
3.6 Menggunakan PHPMyAdmin Selain menggunakan mysql yang ada di
command prompt, kita juga bisa menggunakan
phpmyadmin, sebuah aplikasi berbasis web yang dapat memanage database, untuk
dapat menggunakan phpmyadmin, cukup gunakan browsert internet kesukaan
anda, dalam hal ini saya menggunakan browser mozilla firefox. lalu kita isi
alamatnya di address bar
seperti ini :
http://localhost/phpmyadmin
Kita lihat disini, terdapat database yang telah kita buat sebelumnya. yakni
database mahasiswa. Apabila kita klik struktur di bagian sini, maka hasilnya
terlihat sama dengan yang ada di command prompt mysqlnya. Sama Bukan?
Saya akan jelaskan bagaimana membuat database di phpmyadmin, bagaimana
memanagenya melakukan insert record, delete record, manipulasi table dan
database.
Membuat database dengan phpmyadmin
Balik ke awal halaman phpmyadmin, kemudian buat satu buah database, dengan
nama mahasiswa2, caranya cukup gampang tinggal memasukkan namanya,
mahasiswa2 kemudian tekan tombol Create, cukup mudah ya ???
84
Gambar 3.2 (Dos 2)
Membuat table dengan phpmyadmin
Oke dari situ kita coba langsung satu buah table yang strukturnya sama denga
tabel yang telah kita buat sebelumnya, seperti ini :
field tipe size
id_mhs int 5
nama_mhs varchar 50
jenis_kelamin varchar 10
tgl_lahir date -
alamat varchar 200
kita coba akan buat, 1 table dengan nama tbl_mhsiswa, dengan 5 field. Sehingga
tinggal masukkan ke dalam phpmyadminnya, nama = tbl_mhsiswa, dan number
of fields = 5
85
Gambar 3.2 (Dos 2)
Kemudian klik Go. Beres.
Bagian-bagian dari phpmyadmin
Jika dalam command prompt mysql, kita bersusah payah untuk merubah struktur
suatu field menggunakan perintah-perintah, taapi dengan phpmyadmin kita cukup
melakukan klak klik, pekerjaan mudah dilakukan untuk merubah struktur dari
suatu table kita cukup memilih tablenya lalu pilih struktur, disini saya akan
jelaskan fungsi dari masing-masing tab.
browse
berguna untuk menampilkan record yang telah di insertkan
structure
untuk melihat dan memodifikasi struktur table yang ada misalnya kita mengganti
field nama_mhs, menjadi nama_mahasiswa, begitu juga apabila ingin menambah
field, anda cukup mengaddnya ...
sql
ini berfungsi untuk menjalankan custom query, anda bisa menjalankan query
mysql disini
insert
insert ini digunakan untuk menginsertkan record, berisi form-form yang siap anda
inputkan
export
86
export digunakan untuk mengeksportkan database, biasanya hal ini kita temukan
ketika ingin memindahkan database lokal ke database hosting, untuk dionlinekan.
oke sebagai
contoh seperti ini ...
import
fasilitas import ini digunakan untuk mengimportkan database yang sebelumnya
telah diexportkan import berfungsi untuk merubah query-query mysql kedalam
database yang
real.
87
BAB 4
Menampilkan Data Menggunakan Table
4.1 Mendefinisikan Tabel Heading
Dalam proses pembuatan sebuah aplikasi berbasis website, contohnya sistem
informasi, seorang developer aplikasi biasanya banyak menggunakan tabel ketika
akan menampilkan suatu informasi. banyak keuntungan ketika menggunakan
tabel, tampilan cenderung lebih rapi, dan proses menampilkan jauh lebih mudah.
Sebelum kita memanfaatkan tabel, saya akan jelaskan dulu, bagaimana proses
tabel
ini digunakan. Terdapat dua bagian yang akan kita kerjakan, yakni :
Bagian Statis
Bagian Dinamis
Yang di maksud bagian statis adalah heading dari tablenya, seperti : No, Nama,
Jenis, Kelamin, Tanggal Lahir, Alamat. Sedangkan yang dibagian bawahnya
Contoh
No, Contoh Nama, dan lain-lain itu adalah bagian yang dinamisnya. Di mana
bagianyang dinamis ini adalah data yang kita ambil dari database.
Dalam mengambil data dinamis, php mengambilnya secara per-record/perbaris,
88
sehingga untuk menampilkan datanya pun kita lakukan dengan cara perbaris, oke
langsung saja kita buat table headingnya terlebih dahulu. Kemudian kita buat
template/contoh data ... ini akan mempermudah kita dalam proses penampilan
data nantinya, kita kerjakan bagian statis terlebih dahulu dengan membuat file
tablehead.php, terlebih dahulu, di sini kita buat html dengan table didalamnya,
penulis asumsikan anda telah mengetahui pembuatan table menggunakan html.
<html>
<head><title>Latihan 4 - Table Heading</title></head>
<body>
<table border='1' cellpading='2' cellspacing='2' align='center'
width='70%'>
<tr><th>No</th><th>Nama</th><th>Jenis Kelamin</th><th>Tanggal
Lahir</th><th>Alamat</th></tr>
<tr><td>Contoh No</td><td>Contoh Nama</td><td>Contoh Jenis
Kelamin</td><td>Contoh Tanggal Lahir</td>
<td>Contoh Alamat</td></tr>
</table>
</body>
</html>
Hasilnya di browser :
89
Gambar 4.1 (Table Heading)
90
</html>
Script lengkapnya adalah sebagai berikut :
<html>
<head><title>Latihan 4 - Table Heading</title></head>
<body>
<table border='1' cellpadding='2' cellspacing='2' align='center'
width='70%'>
<tr><th>No</th><th>Nama</th><th>Jenis Kelamin</th><th>Tanggal
Lahir</th><th>Alamat</th></tr>
<!--
kita akan menampilkan isi databasenya di sini ...
dengan memanfaatkan pola contoh data yang telah kita buat sebelumnya
-->
<!-- bagian dinamis -->
<?php
include "koneksi.php";
$tampilkan_isi = "select * from tbl_mhsiswa";
$tampilkan_isi_sql = mysql_query($tampilkan_isi);
while ($isi = mysql_fetch_array($tampilkan_isi_sql))
{
$no = $isi['id_mhs'];
$nama = $isi['nama_mhs'];
$jeniskelamin = $isi['jenis_kelamin'];
$tanggallahir = $isi['tgl_lahir'];
$alamat = $isi['alamat'];
echo "<tr align='center'> <td>$no</td> <td>$nama</td>
<td>$jeniskelamin</td> <td>$tanggallahir</td> <td>$alamat</td>
</tr>";
91
BAB 5
Bekerja dengan Form
5.1 Menggunakan Form
Kita berada dalam topik bahasan yang benar-benar berperan penting dalam
developing website, atau developing aplikasi berbasis website. Halaman tanpa
form, tidak bisa digunakan untuk menginput, jelaslah itu...
Website yang interaktif, menjadikan user dapat berperan aktif misalnya seperti
mengisi poling, berkomentar pada suatu artikel, bahkan menginput berita untuk di
umumkan ke orang banyak, dan contoh yang lain, dalam suatu sistem aplikasi
berbasis website, form merupakan sesuatu yang layak digunakan, karena untuk
melakukan suatu inputan itu tidak bisa dilakukan dengan cara yang lain.
Di sini saya akan coba jelaskan bagaimana memanfaatkan php dalam memproses
form inputan dari user, pertama yang harus kita buat adalah tampilan form untuk
user, kita buat satu buah file dengan nama form1.html kita akan buat sebuah
halaman html berisi 1 buah form :
<html>
<head><title>Form 1 - Latihan 5</title></head>
<body>
// disini kita akan manfaatkan table untuk membuat form
// pertama buat formnya terlebih dahulu
<form method="POST" action="process1.php">
// attribut method berisi POST, ini memiliki arti, lakukan metode
// pengiriman, tapi apa yang dikirimkan itu
// tidak tampil di url browser
// saya akan jelaskan nanti di contoh yang lain, masih dalam sub bab
// ini...
// namun sementara kita diamkan seperti itu dulu, dengan method POST
// untuk action="process1.php" ini berarti kirimkan data-data yang di
92
// input oleh user ke file process1.php
// untuk proses selanjutnya
// kemudian kita buat layout form nya dengan table
<table border='1' width='10%' cellpading='1' cellspacing='1'
align='center'>
// kita membutuhkan satu input bertipe text, input ini nantinya yang
// berperan untuk menerima inputan dari user
<tr><td>Name</td><td><input type="text" name="nama" /></td></tr>
// kemudian kita membutuhkan input bertipe submit yang berfungsi untuk
// mengirimkan datanya ke file action,
// dalam hal ini process1.php
<tr><td></td><td><input type="submit" name="kirim" value = "kirim" />
</td></tr>
</table>
// kemudian jangan lupa untuk menutup formnya
</form>
</body>
</html>
kita lihat hasilnya di browser :
Gambar 5.1 (Form1.html)
Bab 5: Bekerja dengan Form
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
97
Apabila kita isi namanya, kemudian kita klik kirim, yang terjadi adalah ... error.
Ini dikarenakan kita belum membuat file process1.php.
Apabila kita view selection source (nama), input bertipe name itu menghasilkan
textbox yang dapat menerima inputan begitu juga dengan input bertipe submit, ini
berfungsi untuk mengirim data
93
5.2 Memproses Form
Setelah kita membuat formnya, langkah selanjutnya adalah, buat satu buah file,
yakni process1.php, file ini berfungsi untuk menerima inputan, lalu
memprosesnya, dan
menampilkan yang telah di inputkan, kemudian di dalamnya kita ketikkan ...
// kita awali dengan cara mendefinisikan ini adalah script php
<?php
// untuk mengambil informasi yang telah di kirimkan
// kita perlu mengetahui 2 hal,
// yang pertama, informasi yang dikirimkan itu menggunakan metode apa
// dan yang kedua, untuk menampilkan suatu data, anda perlu melihat
// attribut
// name, dari suatu input
// dalam hal ini kita ingin menampilkan data yang diinputkan melalui
// nama,
// terlebih dahulu kita
// lihat attribut name
// dari form yang telah dibuat, (lihat filenya) dan kita lihat, si
// input type
// text ini
// memiliki attribut name yang berisi "nama"
// nama inilah yang akan kita gunakan
// sehingga kita menampilkan isi yang telah di input dengan
// methodnya, kemudian isi attribut name dari input type text
// kita cukup menulisnya seperti ini ...
echo $_POST['nama'];
?>
kemudian kita lihat hasilnya di browser, pertama masuk kedalam formnya terlebih
dahulu
94
... lalu kita isi namanya, dan kita kirim, yang terjadi adalah process1.php
menampilkan
inputan dari form1.html
95
</body>
</html>
kemudian kita buat satu buah file, dengan nama prosess2.php, file ini lah yang
akan menampilkan jenis kelamin yang dipilih, kita cukup memakai methodnya,
dan mengaskses input namenya ...
<?php
echo $_POST['jenis_kelamin'];
?>
kita buka formnya :
http://localhost/file.latihan.php/latihanbab5/form2_radiobutton.html
kemudian isi, dan kita submit, lalu lihat hasilnya di browser, ini terjadi karena
yang ditampilkan itu ada value dari input type radio nya jenis_kelamin. Cukup
mudah bukan???
96
// value nya inilah yang nantinya akan ditampilkan
<option value="surabaya">Surabaya</option>
<option value="yogyakarta">Yogyakarta</option>
// kita tutup dengan membuat tag select penutup
</select>
</td></tr>
// dan membuat button submitnya
<tr><td></td><td><input type="submit" name="kirim" value="kirim" />
</td></tr>
</table>
</form>
</body>
</html>
kita cek di browser, oke sudah mantap, selanjutnya kita buat file process3.php
sekali lagi yang kita tuliskan di phpnya adalah methodenya dan nama inputannya
<?php
echo $_POST['kota'];
?>
97
// disini ... lalu kita buat checkboxnya, dengan nama sama, namun di
// belakang namanya kita
// sisipkan dalam kurung kotak seperti ini
// sehingga nanti name ini berfungsi sebagai array
<tr><td>Status Kelulusan : </td><td><input type="checkbox"
name="lulus[]" value="SD"/>SD</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMP"/>
SMP</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]" value="SMP"/>
SMP</td></tr>
<tr><td></td><td><input type="checkbox" name="lulus[]"
value="SMA"/>
SMA</td></tr>
<tr><td></td><td><input type="submit" name="kirim" value="kirim"
/></td></tr>
</table>
</form>
</body>
</html>
kemudian kita buat sebuah file php dengan nama process4.php
// kita awali dengan tag php
<?php
// kemudian kita coba dengan
// menampilkan isi, dengan memanggil attribut namenya yakni lulus
echo $_POST['lulus'];
?>
kemudian kita coba di browser, kita pilih 2 saja misalnya, kemudian submit ... apa
yang terjadi ?? Array, ini dikarenakan kita menceklis banyak checkbox, sehingga
perlu syntax sendiri untuk dapat menampilkannya, kita akan coba memanggilnya
array index 0
98
<?php
// kita ganti dengan [0]
echo $_POST['lulus'][0];
?>
kita coba lihat di browser, dan ceklis yang paling pertama itu yang ditampilkan,
nah sekarang bagaimana jika kita ingin menampilkan semua yang terpilih atau
terceklis ?
<?php
// pertama adalah kita menghitung berapa jumlah checkbox yang
// terpilih??
$jumlah_terpilih = count($_POST['lulus']);
// kita bisa tampilkan berapa yang terpilih dengan memanfaatkan echo
echo $jumlah_terpilih ;
?>
Silahkan kembali ke browser anda, dan lihat hasilnya ?? oke...
Langkah selanjutnya adalah kita melakukan looping sebanyak ceklis yang terpilih
caranya?? buka kembali file tadi
<?php
$jumlah_terpilih = count($_POST['lulus']);
// kemudian ganti dengan looping
// lakukan pengulangan mulai dari 0, sampai kurang dari jumlah dari
// ceklis yang terpilih
// kemudian lakukan penambahan satu demi satu sampai pengulangannya
// selesai
for ($x=0;$x<=$jumlah_terpilih;$x++)
{
// kemudian tampilkan isinya dengan menyebut methode, atribut
// name, dan arraynya
echo $_POST['lulus'][$x];
}
99
?>
lalu kita lihat di browser, ceklis yang akan di pilih, kemudian kirim, apa yang
terjadi, cukup mudah ya??
100
<tr><td></td><td><input type="checkbox" name="lulus[]"
value="SMA"/>SMA
</td></tr>
<tr><td></td><td><input type="submit" name="kirim" value="kirim"
/></td></tr>
</table>
</form>
</body>
</html>
kemudian di bagian process5.php dengan mengambil isi dari file sebelumnya
yakni
process4.php kita ganti POST menjadi GET juga
<?php
$jumlah_terpilih = count($_GET['lulus']);
for ($x=0;$x<$jumlah_terpilih;$x++) {
echo $_GET['lulus'][$x]."<br /> ";
}
?>
Dan kita lihat apa yang terjadi ??? url nya jadi lebih panjang, dan memiliki
parameterparamter yang berisi data yang di inputkan, biasanya get ini digunakan
dalam fasilitas search dari suatu website, dan google pun menggunakan method
ini dalam pencarian data
...
5.7 Multiple Submit
Multiple submit biasanya digunakan untuk 2 proses yang berbeda, sejauh yang
saya temui, biasanya multiple submit digunakan untuk melakukan edit ataupun
delete suatu data, bisa juga untuk mempublish ataupun untuk mengedit suatu
artikel, dan lain-lain sebagainya ... di sini saya akan coba jelaskan bagaimana
menggunakan multiple submit... untuk melakukan dua proses yang berbeda,
contoh kasus disini adalah insert dan update,Ketika input submit insert di klik
101
maka proses insert terjadi, sedangkan jika input submit update di klik maka proses
update yang terjadi ...Kita akan gunakan file form1.php, dengan sedikit
penambahan di sana sini ....
<html>
<head><title>Form 6 - Latihan 5</title></head>
<body>
<form action="process6.php" method="POST">
<table border='1' width='10%' cellpadding='1' cellspacing='1'
align='center'>
<caption><strong>Multiple Submit</strong></capion>
<tr><td>Nama</td><td><input type="text" name="nama" /></td></tr>
<tr><td>Jenis Kelamin</td><td><input type="radio"
name="jenis_kelamin"
value="laki-laki"/>Laki-laki<br />
<input type="radio" name="jenis_kelamin"
value="perempuan"/>Perempuan</td></tr>
<tr><td>Alamat</td><td><input type="text" name="alamat" /></td></tr>
<tr><td></td><td>
// lalu disini kita akan gunakan dua submit, attribut namenya di isi
// sama, namun valuenya yang berbeda...
<input type="submit" name="kirim" value="update" />
<input type="submit" name="kirim" value="insert" /></td></tr>
</table>
</form>
</body>
</html>
kita lihat di browser, terdapat dua submit, kemudian kita akan membuat 2 proses,
ketika tombol update di klik apa yang terjadi dan ketika tombol insert di klik apa
yang terjadi ... Oke kita buat satu file dengan nama process6.php, kita akan
memanfaatkan
102
argumen if, else if, dan else, ini kita gunakan untuk kondisional, ketika tombol
insert atau tombol update di klik maka ada, sesuatu yang terjadi ...
<?php
// jika tombol kirim yang memiliki value insert di klik
if ($_POST['kirim'] == "insert")
{
echo "Proses Insert...";
}
// namun jika yang di klik itu tombol update
// artinya jika tombol kirim yang memiliki value update di klik
else if ($_POST['kirim'] == "update")
{
// maka lakukan proses update
echo "Proses Update...";
// lalu kita tutup lagi
}
// dan jika tidak ada button yang diklik
else
{
// maka tidak ada proses apa-apa yang terjadi ...
echo "Tidak ada proses...";
}
?>
kita lihat di browser, ketika button insert di klik, apa yang terjadi, dan ketika
tombol update di klik yang terjadi adalah ...
103
menginputkan data ke form, ketika tombol submit dikirim data yang dikirim itu
akan di proses kemudian di masukkan kedalam database, itu semua akan kita
pelajari disini ...Contoh kasus yang akan saya jelaskan adalah, bagaimana
menggunakan form untuk menginsert data. Untuk secara lengkapnya, mengenai
bagaimana melakukan insert, delete, update data menggunakan php itu akan saya
jelaskan di bab 6. Sementara sub bab ini hanya menerangkan sekelumit saja,
mengenai penggunaan form dalam menginsert data.
Oke, disini kita akan membuat form terlebih dahulu, saya sudah menyiapkan
filenya di dalam file latihanbab7, dengan nama form7_insertdatabase.html :
<html>
<head><title>Form 7 - Latihan 5</title></head>
<body>
<form action="process7_database.php" method="POST">
<table border='0' cellpadding='3' cellspacing='3' align='center'>
<caption><strong>Formulir Biodata
Mahasiswa</strong><br/><br/></caption><br/>
<tr><td>Nama</td><td><input type="text" name="nama" /></td></tr>
<tr><td>Jenis Kelamin</td><td><label for="jeniskelamin"><input
type="radio" name="jeniskelamin" value="pria"/>Pria</label>
<label for="jeniskelamin"><input type="radio" name="jeniskelamin"
value="wanita"/>Wanita</label>
</td></tr>
<tr><td>Tanggal lahir</td><td>
<select name="tanggal">
<option value="01">1</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
104
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
/<select name="bulan">
<option value="01">Januari</option>
<option value="02">Februari</option>
105
<option value="03">Maret</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Agustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">Desember</option>
</select>
/<select name="tahun">
<option value="1980">1980</option>
<option value="1981">1981</option>
<option value="1982">1982</option>
<option value="1983">1983</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
106
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
</select>
</td></tr>
<tr><td>Alamat</td><td><textarea cols="20" rows="5"
name="alamat"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="kirim" value="kirim"
/></td></tr>
</table>
</form>
</body>
</html>
Kita lihat dulu hasilnya di browser mozilla firefox,
107
selanjutnya kita membuat file yang dapat memproses inputan tersebut ke dalam
database,
mula-mula kita buat filenya terlebih dahulu, saya menamakan
process7_database.php,
karena sesuai dengan action pada halaman form yang telah dibuat tadi.
<?php
// nama, jeniskelamin, tanggal, bulan, tahun, alamat
// kemudian untuk dapat menginsert databasenya kita kita lakukan
// koneksi dulu
// kita ambil file koneksi yang pada bab3 telah saya jelaskan
// sebelumnya
include "koneksi.php";
// kemudian kita ambil data-data yang dikirim dari formnya
// di masukkan ke dalam variabel
// ini digunakan untuk memmudahkan proses insert record ke dalam
// database
$nama = $_POST['nama'];
$jeniskelamin = $_POST['jeniskelamin'];
// untuk dapat menginsertkan tanggal ke dalam database
// terlebih dahulu kita rubaah formatnya menjadi tahun-bulan-tanggal
// seperti ini ...
$tanggallahir = $_POST['tahun'].'-'.$_POST['bulan'].'-
'.$_POST['tanggal'];
$alamat = $_POST['alamat'];
// setelah dari situ kemudian kita buat query mysql untuk insert record
// kedalam tbl_mhsiswa
$insert = "insert into `tbl_mhsiswa` (`nama_mhs`, `jenis_kelamin`,
`tgl_lahir`, `alamat`)
values ('$nama', '$jeniskelamin', '$tanggallahir','$alamat');";
// lalu lakukan querynya
108
$insert_query = mysql_query($insert);
// untuk memberitahukan jika record yang telah berhasil diinsert ke
// dalam database
if($insert_query) {
echo "Insert Record Berhasil<br />";
echo "Anda Telah berhasil Menginput data:";
echo $nama,"<br />",$jeniskelamin,"<br />",$tanggallahir,"<br
/>",$alamat ; }
// namun jika gagal....
else
echo "Gagal Insert Record";
?>
oke, beres, kita coba langsung buka formnya di mozilla firefox, kemudian kita
inputkan data kedalam form,
109
pria
1987-03-12
Jalan Roda kita lihat di phpmyadmin, data yang telah kita input telah berhasil
masuk ke dalam
tbl_mhsiswa ...
5.9 Page Title yang dinamis dan Memanfaatkan URL dalam PHP
Dengan memanfaatkan tag title dalam html dan bantuan php serta mysql, anda
dapat membuat halaman html memiliki page title yang dinamis. Di sini pula saya
akan jelaskan, bagaimana memanfaat url dalam php dalam memproses inputan
dari user. Ada dua langkah yang akan kita kerjakan ...
Pertama kita akan cuma menampilkan nama mahasiswa yang diambil dari
database, nama mahasiswa ini akan ditampilkan dalam bentuk url, dan ketika url
ini di klik maka akan menampilkan informasi detil mengenai mahasiswa tersebut
Kedua, nama mahasiswa itu akan muncul dalam title dari suatu halaman, yang
memberitahukan jika kita sedang mengakses data mengenai mahasiswa bernama
si x.Oke, tahapan pertama adalah kita membuat file untuk menampilkan nama-
nama mahasiswa ...
Saya menamakan filenya dengan nama displaydata.php
110
<?php
// kita lakukan koneksi terlebih dahulu ...
include "koneksi.php";
// kemudian buat satu query yang akan mengambil id mahasiswa, dan nama
// mahasiswa
// id mahasiswa di ambil sebagai kunci untuk menampilkan detil
// mahasiswa
// jadi detil informasi mahasiswa, berisi nama, alamat, tanggal lahir
// itu akan ditampilkan dengan memanfaatkan idnya nantinya ....
$tampil_nama = "select id_mhs, nama_mhs from tbl_mhsiswa";
// kemudian kita jalankan querynya ...
$tampil_nama_query = mysql_query($tampil_nama);
// lalu kita tampilkan isi databasenya
while ($hasil = mysql_fetch_array($tampil_nama_query))
{
// lalu kita tampilkan datanya sebagai link url, yang ketika di klik
// akan menampilkan
// informasi detil mengenai detil mahasiswa tersebut
echo "<a href=detaildata.php?id=",$hasil['id_mhs'], ">",
$hasil['nama_mhs'],"</a><br />";
}
?>
lalu kita coba tes di browser mozilla firefox, kita lihat urlnya,
http://localhost/file.latihan.php/latihanbab5/detaildata.php?id=1
Masing-masing memiliki id yang berbeda misalnya id untuk loka dwiartara kita
lihat
detaildata.php?id=1
Dan ketika kita klik nantinya akan menampilkan informasi detil mengenai loka
dwiartara ini, tapi untuk sekarang apabila kita klik, ini terjadi karena kita belum
memiliki
111
filenya. Kita akan coba buat halaman yang akan dapat menampilkan detil
informasi mengenai loka dwiartara sesuai dengan url yang tadi, saya akan
membuat file dengannama detaildata.php
<?php
// pertama adalah kita lakukan koneksi terlebih dahulu
// antara php dan mysql
include "koneksi.php";
// kemudian kita ambil nilai id yang ada pada url
$id = $_REQUEST['id'];
// lalu kita buat query yang hanya dapat menampilkan informasi
// mahasiswa yang kita klik saja
$detail = "select * from tbl_mhsiswa where id_mhs='$id'";
// kita jalankan querynya
$detail_query = mysql_query($detail);
while ($hasil = mysql_fetch_array($detail_query))
{
// lalu kita masukkan kedalam variable untuk mempermudah dalam
// menampilkan data
$nama = $hasil['nama_mhs'] ;
$jenis_kelamin = $hasil['jenis_kelamin'];
$tanggal_lahir = $hasil['tgl_lahir'];
$alamat = $hasil['alamat'];
// kemudian kita sisipkan data yang akan ditampilkan dalam satu
// variable
$data_lengkap = "Nama : ".$nama."<br />";
$data_lengkap .= "Jenis Kelamin : ".$jenis_kelamin."<br />";
// tanda titik ini berguna untuk menambahkan isi variable yang
// sebelumnya agar tidak tertimpa
// melainkan hanya menambahkan saja, dan tidak ditampilkan, namun akan
// di tampilkan
112
// di akhir dari coding halaman ini ...
$data_lengkap .= "Tanggal Lahir : ".$tanggal_lahir."<br />";
$data_lengkap .= "Alamat : ".$alamat."<br />";
}
// kemudian tampilkan semua informasi detil.
echo "Informasi Detil mengenai <strong>$nama</strong> adalah : <br
/>".$data_lengkap;
?>
Kita lihat di browser, silahkan di pilih kemudian apa yang terjadi, sudah cukup
baik.
namun kita lihat page title nya masih statis, dan belum muncul. Bagaimana untuk
memunculkan page title sesuai dengan nama mahasiswa yang kita klik ???
Kita cukup menambahkan html tag di bawah file detaildata.php tadi ... Isi seperti
ini ...
<?php
// pertama adalah kita lakukan koneksi terlebih dahulu
// antara php dan mysql
include "koneksi.php";
// kemudian kita ambil nilai id yang ada pada url
$id = $_REQUEST['id'];
// lalu kita buat query yang hanya dapat menampilkan informasi
// mahasiswa yang kita klik saja
$detail = "select * from tbl_mhsiswa where id_mhs='$id'";
// kita jalankan querynya
$detail_query = mysql_query($detail);
while ($hasil = mysql_fetch_array($detail_query))
{
// lalu kita masukkan kedalam variable untuk mempermudah dalam
// menampilkan data
$nama = $hasil['nama_mhs'] ;
113
$jenis_kelamin = $hasil['jenis_kelamin'];
$tanggal_lahir = $hasil['tgl_lahir'];
$alamat = $hasil['alamat'];
// kemudian kita sisipkan data yang akan ditampilkan dalam satu
// variable
$data_lengkap = "Nama : ".$nama."<br />";
$data_lengkap .= "Jenis Kelamin : ".$jenis_kelamin."<br />";
// tanda titik ini berguna untuk menambahkan isi variable yang
// sebelumnya agar tidak tertimpa
// melainkan hanya menambahkan saja, dan tidak ditampilkan, namun akan
// di tampilkan
// di akhir dari coding halaman ini ...
$data_lengkap .= "Tanggal Lahir : ".$tanggal_lahir."<br />";
$data_lengkap .= "Alamat : ".$alamat."<br />";
}
// kemudian tampilkan semua informasi detil.
?>
<html>
<head>
<title><?php echo "Informasi $nama"; ?></title>
</head>
<body>
<?php echo "Informasi Detil mengenai <strong>$nama</strong> adalah :
<br />".$data_lengkap; ?>
</body>
</html>
coba kita tes di browser, pertama adalah membuka halaman displaydata.php... kita
klik,apa yang terjadi, titlenya otomatis berubah ...
114
BAB 6
Mengedit Database dengan Form
6.1 Insert Record
Sebelumnya insert record telah di bahas dalam sub bab di bab sebelumnya, namun
di sini saya akan coba jelaskan kembali berguna untuk mengulang materi
sebelumnya, tapi saya akan coba bedakan contohnya.
Di sini kita akan coba buat satu buah form yang benar-benar sangat lengkap.
Namun sebelumnya kita akan buat database dan tablenya terlebih dahulu. Kita
bisa memanfaakan phpmyadmin untuk lebih mudah dalam pembuatan table, tapi
bagi anda yang ingin menguasai query sql, saya akan coba jelaskan juga
pembuatan tablenya dalam bentuk query sql.
Field yang kita butuhkan adalah sebagai berikut :
field Type Size Attribut
id_daftar int 10 auto_increment primary key
tanggal_daftar date
nama_pendaftar varchar 75
jns_kelamin varchar 15
lulusan_sekolah int 5
tgl_lahir date
status varchar 20
pekerjaan varchar 125
alamat varchar 150
kelurahan varchar 75
kecamatan varchar 75
kota varchar 75
provinsi varchar 75
telp varchar 20
115
Sehingga apabila kita buat ke dalam bentuk querynya adalah seperti ini, jika anda
masih belum mengerti silahkan kembali bab 3, yang membahas mengenai fungsi-
fungsi mysql.Apabila anda ingin menggunakan command line (DOS) anda bisa
menggunakan query ini :
create database mahasiswa_db;
use mahasiswa_db;
create table tbl_daftar_mahasiswa(id_daftar int(10) auto_increment
primary key, tanggal_daftar date, nama_pendaftar varchar(75),
jns_kelamin varchar(15), status varchar(20), lulusan_sekolah
varchar(20), tahun_ajaran int(6), pekerjaan varchar(125), alamat
varchar(150), kelurahan varchar(75), kecamatan varchar(75), kota
varchar(75), provinsi varchar(75), telp varchar(20));
Oke kita langsung jalankan saja di cmd, atau anda juga dapat menggunakan
phpmyadmin
di bagian menu sql (Query Windows) dalam database mahasiswa_db. Setelah
beres,
selanjutnya kita akan buat 1 buah form yang dapat menginputkan data-data
mahasiswa
untuk selanjutnya di masukkan ke dalam database mahasiswa_db.
Pembuatan Form Insert Database ...
Kita akan buat satu buah form yang dapat menginputkan data kemudian di
insertkan kedalam database. Terlebih dahulu kita siapkan filenya dengan nama
form.insert.html
<html>
<head><title>Form Insert</title></head>
<body>
<form action="insert.php" method="POST">
<table border='1' width='35%' cellpadding='2' cellspacing='2'
align='center'>
<caption><h2>Formulir Pendaftaran Mahasiswa Baru</h2></caption>
116
<tr><td>Nama</td><td><input type="text" name="nama" size="30"
maxlength="50"/></td></tr>
<tr><td>Jenis Kelamin</td><td><input type="radio" name="jenis_kelamin"
value="pria"/>
<label for="jenis_kelamin">Pria</label>
<input type="radio" name="jenis_kelamin" value="wanita"/><label
for="jenis_kelamin">Wanita</label>
</td></tr>
<tr><td>Status</td><td>
<select name="status">
<option value="Pilih Status Anda">Pilih Status Anda</option>
<option value="menikah">Menikah</option>
<option value="single">Single</option>
</select>
</td></tr>
<tr><td>Lulusan Sekolah</td><td><input type="text" name="sekolah"
size="30" maxlength="50"/></td></tr>
<tr><td>Tahun Ajaran</td><td><select name="tahun_ajaran">
<option>Pilih Tahun Ajaran</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
117
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
</select></td></tr>
<tr><td>Pekerjaan</td><td><input type="text" name="pekerjaan" size="30"
maxlength="50"/></td></tr>
<tr><td>Alamat</td><td><textarea name="alamat" cols="30"
rows="4"></textarea></td></tr>
<tr><td>Kelurahan</td><td><input type="text" name="kelurahan" size="30"
maxlength="50"/></td></tr>
<tr><td>Kecamatan</td><td><input type="text" name="kecamatan" size="30"
maxlength="50"/></td></tr>
<tr><td>Kota</td><td><input type="text" name="kota" size="30"
maxlength="50"/></td></tr>
<tr><td>Provinsi</td><td>
<select name="provinsi">
<option value="Pilih Provinsi Anda">Pilih Provinsi Anda</option>
<option value="Bali">Bali</option>
<option value="Bangka Belitung">Bangka Belitung</option>
<option value="Banten">Banten</option>
<option value="Bengkulu">Bengkulu</option>
<option value="Gorontalo">Gorontalo</option>
<option value="Irian Jaya Barat">Irian Jaya Barat</option>
<option value="Jabotabekdecipsawcib">Jabotabekdecipsawcib</option>
<option value="Jambi">Jambi</option>
<option value="Jawa Barat">Jawa Barat</option>
<option value="Jawa Tengah">Jawa Tengah</option>
<option value="Jawa Timur">Jawa Timur</option>
118
<option value="Kalimantan Barat">Kalimantan Barat</option>
<option value="Kalimantan Selatan">Kalimantan Selatan</option>
<option value="Kalimantan Tengah">Kalimantan Tengah</option>
<option value="Kalimantan Timur">Kalimantan Timur</option>
<option value="Kepulauan Riau">Kepulauan Riau</option>
<option value="Lampung">Lampung</option>
<option value="Lokasi Lain-lain">Lokasi Lain-lain</option>
<option value="Maluku">Maluku</option>
<option value="Maluku Utara">Maluku Utara</option>
<option value="Nangroe Aceh Darussalam">Nangroe Aceh
Darussalam</option>
<option value="Nusa Tenggara Barat">Nusa Tenggara Barat</option>
<option value="Nusa Tenggara Timur">Nusa Tenggara Timur</option>
<option value="Papua">Papua</option>
<option value="Riau">Riau</option>
<option value="Sulawesi Barat">Sulawesi Barat</option>
<option value="Sulawesi Selatan">Sulawesi Selatan</option>
<option value="Sulawesi Tengah">Sulawesi Tengah</option>
<option value="Sulawesi Tenggara">Sulawesi Tenggara</option>
<option value="Sulawesi Utara">Sulawesi Utara</option>
<option value="Sumatera Barat">Sumatera Barat</option>
<option value="Sumatera Selatan">Sumatera Selatan</option>
<option value="Sumatera Utara">Sumatera Utara</option>
<option value="Yogyakarta">Yogyakarta</option>
</select></td></tr>
<tr><td>No Telepon</td><td><input type="text" name="telepon" size="30"
maxlength="50"/></td></tr>
<tr><td></td><td><input type="submit" name="kirim"
value="Daftar!"/></td></tr>
</table>
119
</form>
</body>
</html>
Setelah itu kita coba tes di browser, isi formulirnya kemudian tekan submit, dan
ups...karena file insert.php belum di buat maka tampilannya pun seperti itu, oleh
karena itu terlebih dahulu kita balik ke editor notepad++, kemudian disini kita
ketikkan variablevariable yang telah dikirim melalui form.insert.html.
Oke, kita buat file insert.php, kemudian untuk mengetahui apakah form yang
telah di buat tadi sudah benar-benar mengirim semua variablenya kedalam
insert.php caranya adalah dengan menampilkan semua variable yang sudah di
pos, seperti ini :
<?php
echo $_POST['nama']."<br/>";
echo $_POST['jenis_kelamin']."<br/>";
echo $_POST['status']."<br/>";
echo $_POST['sekolah']."<br/>";
echo $_POST['tahun_ajaran']."<br/>";
echo $_POST['pekerjaan']."<br/>";
echo $_POST['alamat']."<br/>";
echo $_POST['kelurahan']."<br/>";
echo $_POST['kecamatan']."<br/>";
echo $_POST['kota']."<br/>";
echo $_POST['provinsi']."<br/>";
echo $_POST['telepon']."<br/>";
?>
Kemudian kita cek dengan mengisi kembali form inputan yang ada ... ya lakukan
pengisian... kemudian tekan submit, dan hasilnya. Oke setelah semuanya berhasil
diinputkan dan juga ditampilkan dalam insert.php, langkah selanjutnya yang
harus kita
120
lakukan adalah, menginsertkan ke database semua yang di inputkan tersebut, kita
kembali kedalam file insert.php, langkah selanjutnya adalah kita coba insertkan
ke database dengan catatan sebelum dapat menginsertkan ke dalam database kita
terlebih dahulu koneksikan antara si php dengan mysqlnya ...
Pertama kita buat terlebih dahulu file koneksinya, dengan nama koneksi.php
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "mahasiswa_db";
$koneksi = mysql_connect($host, $username, $password);
$pilihdatabase = mysql_select_db($database, $koneksi);
?>
Lalu selanjutnya kita langsung buat file insert.php, diletakkan satu direktori
dengan file
koneksi.php
<?php
// kita koneksikan dulu dengan file koneksi.php
include "koneksi.php";
// kemudian kita buat variable-variable yang akan kita masukkan ke
// dalam database nanti
// diambil dari form inputan ...
$tanggal_daftar = date("Y-n-d");
$nama = $_POST['nama'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$status = $_POST['status'];
$sekolah = $_POST['sekolah'];
$tahun_ajaran = $_POST['tahun_ajaran'];
$pekerjaan = $_POST['pekerjaan'];
121
$alamat = $_POST['alamat'];
$kelurahan = $_POST['kelurahan'];
$kecamatan = $_POST['kecamatan'];
$kota = $_POST['kota'];
$provinsi = $_POST['provinsi'];
$telepon = $_POST['telepon'];
// buat query untuk memasukkan hasil inputan tadi ke dalam database
$query_insert = "insert into tbl_daftar_mahasiswa(tanggal_daftar,
nama_pendaftar, jns_kelamin, status, lulusan_sekolah, tahun_ajaran,
pekerjaan, alamat, kelurahan, kecamatan, kota, provinsi, telp)
values('$tanggal_daftar', '$nama', '$jenis_kelamin', '$status',
'$sekolah', '$tahun_ajaran', '$pekerjaan', '$alamat',
'$kelurahan','$kecamatan', '$kota', '$provinsi','$telepon');";
// lalu jalankan querynya untuk langsung dapat memasukkannya kedalam
// database.
$insert = mysql_query($query_insert);
// apabila query insert berjalan dengan baik,
if($insert)
{
// maka
echo "Data anda telah berhasil di input ke dalam database ...";
}
// jika querynya gagal, atau ada yang tidak beres dengan koneksi antara
// php dan mysql
else
{
// maka
echo "Gagal insert database ... ";
}
?>
122
Oke setelah semua beres, yang perlu kita lakukan adalah mencobanya kembali
untuk mengisi form inputan yang tadi. Masuk ke dalam browser ... dan kita isi ...
lalu kita kirim ... dan hasilnya... untuk membuktikan record dalam
tbl_daftar_mahasiswa telah terisi kita akan coba buka dalam phpmyadmin. Record
telah berhasil di inputkan ke dalam database...
Saya menghimbau kepada anda untuk memperhatikan secara teliti benar salahnya
query yang akan digunakan dalam php untuk memanipulasi mysql database,
karena jika terjadi kesalahan semua yang diinputkan melalui form itu tidak akan
bisa di insertkan kedalam database.
Oke setelah perintah insert telah berhasil, kita coba untuk menampilkan yang ada
dalam database dengan menggunakan html table. akan saya jelaskan di subbab
berikutnya.
123
// kita lakukan koneksi dulu seperti biasanya ...
include "koneksi.php";
// buat query yang dapat menampilkan semua isi tbl_daftar_mahasiswa
$select = "select * from tbl_daftar_mahasiswa order by id_daftar desc";
// jadikan variable $select itu menjadi query yang siap di eksekusi
// oleh mysql
$select_query = mysql_query($select);
?>
<html>
<head>
<title>Latihan BAB 6 - Select Record</title>
</head>
<body>
// pembuatan table sebelumnya telah saya jelaskan...
<table style="font-size:11px;font-family:'arial';text-align:center;"
border='1' width="80%" align='center' >
<caption><h1>Daftar Calon Mahasiswa Baru</h1></caption>
<tr><th>No</th><th>Tanggal</th><th>Nama</th><th>Jenis
Kelamin</th><th>Status</th><th>Lulusan</th><th>Tahun</th>
<th>Pekerjaan</th><th>Alamat</th><th>Kelurahan</th><th>Kecamatan</
th><t
h>Kota</th><th>Provinsi</th><th>Telepon</th>
<th>Action</th></tr>
<?php
// kemudian kita tampilkan isi yang berada dalam database tadi ...
while($select_result = mysql_fetch_array($select_query))
{
// kita ambil saatu persatu field yang berada dalam
tbl_daftar_mahasiswa tadi ...
$id = $select_result['id_daftar'] ;
124
$tanggaldaftar = $select_result['tanggal_daftar'] ;
$nama = $select_result['nama_pendaftar'] ;
$jeniskelamin = $select_result['jns_kelamin'] ;
$status = $select_result['status'] ;
$lulusan = $select_result['lulusan_sekolah'] ;
$tahunajaran = $select_result['tahun_ajaran'] ;
$pekerjaan = $select_result['pekerjaan'] ;
$alamat = $select_result['alamat'] ;
$kelurahan = $select_result['kelurahan'] ;
$kecamatan = $select_result['kecamatan'] ;
$kota = $select_result['kota'] ;
$provinsi = $select_result['provinsi'] ;
$telepon = $select_result['telp'] ;
// lalu kita tampilkan dalam bentuk table yang dinamis ke bawah
// caranya adalah dengan menampilkan isi variable didalam tag-tag td
echo "<tr><td>$id</td><td>$tanggaldaftar</td><td>$nama
</td><td>$jeniskelamin</td><td>$status</td><td>$lulusan</td>
<td>$tahunajaran</td><td>$pekerjaan</td><td>$alamat</td><td>$kelurah
an<
/td><td>$kecamatan</td><td>$kota</td>
<td>$provinsi</td><td>$telepon</td>
// lalu tutup dengan tag tr ...
</tr>";
}
?>
</table>
</body>
</html>
Oke sudah semua, kemudian kita jalankan file tersebut menggunakan browser ...
125
6.3 Delete Record
Oke, aksi selanjutnya yang akan kita buat adalah aksi delete. delete disini
nantinya akan digunakan untuk menghapus record yang dipilih... sebelumnya di
bab 3 saya telah menjelaskan syntax dasar dalam mendelete record, namun di sini
kita akan coba memperdalam delete record ... kita masih menggunakan file yang
sama yakni select.php, namun kita akan coba menambahkan form di setiap
barisnya untuk dapat menjalankan aksi delete dan update record.
<?php
include "koneksi.php";
$select = "select * from tbl_daftar_mahasiswa order by id_daftar desc";
$select_query = mysql_query($select);
?>
<html>
<head>
<title>Latihan BAB 6 - Select Record</title>
</head>
<body>
<table style="font-size:11px;font-family:'arial';text-align:center;"
border='1' width="80%" align='center' >
<caption><h1>Daftar Calon Mahasiswa Baru</h1></caption>
<tr><th>No</th><th>Tanggal</th><th>Nama</th><th>Jenis
Kelamin</th><th>Status</th><th>Lulusan</th><th>Tahun</th>
<th>Pekerjaan</th><th>Alamat</th><th>Kelurahan</th><th>Kecamatan</
th><t
h>Kota</th><th>Provinsi</th><th>Telepon</th>
<th>Action</th></tr>
<?php
while($select_result = mysql_fetch_array($select_query))
{
$id = $select_result['id_daftar'] ;
126
$tanggaldaftar = $select_result['tanggal_daftar'] ;
$nama = $select_result['nama_pendaftar'] ;
$jeniskelamin = $select_result['jns_kelamin'] ;
$status = $select_result['status'] ;
$lulusan = $select_result['lulusan_sekolah'] ;
$tahunajaran = $select_result['tahun_ajaran'] ;
$pekerjaan = $select_result['pekerjaan'] ;
$alamat = $select_result['alamat'] ;
$kelurahan = $select_result['kelurahan'] ;
$kecamatan = $select_result['kecamatan'] ;
$kota = $select_result['kota'] ;
$provinsi = $select_result['provinsi'] ;
$telepon = $select_result['telp'] ;
echo "<tr><td>$id</td><td>$tanggaldaftar</td><td>$nama</td>
<td>$jeniskelamin</td><td>$status</td><td>$lulusan</td>
<td>$tahunajaran</td><td>$pekerjaan</td>
<td>$alamat</td><td>$kelurahan</td><td>$kecamatan</td><td>$kota</td
>
<td>$provinsi</td><td>$telepon</td>
<td>
// kemudian kita siapkan sebuah form yang nantinya digunakan untuk
// menjalankan aksi update dan delete
// kita buat actionnya itu menuju url yang nanti url tersebut digunakan
// untuk variable untuk
// membantu aksi selanjutnya ...
// lihat di sebelah sini ... hasilnya nanti adalah action.php?id=xx ...
// nah id xx inilah yang nantinya
// akan kita gunakan untuk membantu aksi selanjutnya seperti proses
// delete, atau pun edit ...
<form method=\"POST\" action=\"action.php?id=$id\"><input
127
type=\"hidden\" value=\"$id\" name=\"id\">
// kita buat button untuk update
<input type=\"submit\" name=\"action\" value=\"Update!\"><br />
// dan kita buat button untuk delete recordnya
<input type=\"submit\" name=\"action\" value=\"Delete!\">
</form>
</td>
// lalu tutup dengan tag tr ...
</tr>";
}
?>
</table>
</body>
</html>
setelah beres semua formnya, langkah selanjutnya adalah membuat halaman
action.php,halaman action.php digunakan untuk mendelete ataupun mengupdate
record, dalam sub bab ini saya hanya akan menjelaskan bagaimana melakukan
delete record yang dipilih /disubmit kan tersebut, di bagian selanjutnya baru akan
saya jelaskan bagaimana cara mengupdate recordnya ...
Oke, kita akan buat file action.php ...
Di sini kita akan menggunakan url hasil dari table sebelumnya yakni :
http://localhost/latihanbab6/action.php?id=x
Si x ini lah yang akan kita manfaatkan, mengaksesnya dengan $_REQUEST[]
langsung
saja ...
<?php
// pertama kita ambil aksinya, hal ini diambil berdasarkan dari action
// form sebelumnya
// kemudian kita jadikan huruf kecil semua dengan strtolower()
$action = strtolower($_POST['action']);
128
// kita ambil url id nya dengan
$id = $_REQUEST['id'];
// lalu kita cocokkan ketika tombol delete yang ditekan
if ($action == "delete")
{
// maka
echo "Anda memilih aksi delete pada record $id...";
}
// jika bukan tombol delete yang ditekan
else
{
// maka
echo "Anda memilih aksi update...";
}
?>
Kita lihat di browser. Kemudian kita klik tombol delete pada salah satu baris, lalu
apa
yang terjadi? Kita kembali ke notepad lalu kita selesaikan querynya ...
Bab 6: Mengedit Database dengan Form
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
130
<?php
// lakukan koneksi terlebih dahulu
include "koneksi.php";
// kemudian ambil aksi dari form
$action = strtolower($_POST['action']);
// lalu ambil id dari url
$id = $_REQUEST['id'];
if ($action == "delete")
{
129
echo "Anda memilih aksi delete pada record $id... <br/>";
// buat querynya untuk mendelete record mahasiswa yang memiliki
// id yang akan di delete
$delete = "delete from tbl_daftar_mahasiswa where id_daftar =
'$id'";
// jalankan querynya
$delete_query = mysql_query($delete);
// jika querynya berhasil maka record berhasil di hapus
if ($delete_query) {echo "Record $id berhasil dihapus ...";}
else {echo "Gagal menghapus record";}
}
else
{
echo "Anda memilih aksi update...";
}
?>
Kita jalankan di browser dan ... ???
130
include "koneksi.php";
$action = strtolower($_POST['action']);
$id = $_REQUEST['id'];
if ($action == "delete")
{
echo "Anda memilih aksi delete pada record $id... <br/>";
$delete = "delete from tbl_daftar_mahasiswa where id_daftar = '$id'";
$delete_query = mysql_query($delete);
if ($delete_query) echo "Record $id berhasil dihapus ...";
else echo "Gagal menghapus record";
}
else
{
// buat query untuk menampilkan record yang dipilih ...
$select = "select * from tbl_daftar_mahasiswa where id_daftar = '$id'";
$select_query = mysql_query($select);
// lalu sisipkan field yang akan ditampilkan ke dalam variable...
while($select_result = mysql_fetch_array($select_query))
{
$id = $select_result['id_daftar'] ;
$nama = $select_result['nama_pendaftar'] ;
Bab 6: Mengedit Database dengan Form
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
132
$jeniskelamin = $select_result['jns_kelamin'] ;
$status = $select_result['status'] ;
$lulusan = $select_result['lulusan_sekolah'] ;
$tahunajaran = $select_result['tahun_ajaran'] ;
$pekerjaan = $select_result['pekerjaan'] ;
$alamat = $select_result['alamat'] ;
131
$kelurahan = $select_result['kelurahan'] ;
$kecamatan = $select_result['kecamatan'] ;
$kota = $select_result['kota'] ;
$provinsi = $select_result['provinsi'] ;
$telepon = $select_result['telp'] ;
// kita tutup terlebih dahulu tagnya, karena kita akan membuat form
// html
?>
// kita buat formnya disini ...
// form update dan insert tidak terlalu berbeda,
// yang jadi perbedaan adalah form update itu memiliki value yang
// isinya itu
// di ambil dari database ...
<form action="update.php" method="POST">
<table border='0' width='35%' cellpadding='2' cellspacing='2'
align='center'>
<caption><h2>Formulir Pendaftaran Mahasiswa Baru</h2></caption>
// sengaja saya buat input dengan type hidden
// hidden tidak akan tampil, namun nanti akan kita gunakan
// dalam mengupdate record yang dipilih ...
// dan valuenya kita isi dengan mengambil dari database yakni id_daftar
// yang disisipkan kedalam
// variable id
<input type="hidden" name="id" size="30" value="<?php echo $id ; ?>"
maxlength="50"/>
// begitu juga dengan nama
// kita tambahkan valuenya dengan mengambil isinya dari database
<tr><td>Nama</td><td><input type="text" name="nama" value="<?php
echo
$nama ; ?>" size="30" maxlength="50"/></td></tr>
132
<tr><td>Jenis Kelamin</td><td><input type="radio"
name="jenis_kelamin"
value="pria"/><label for="jenis_kelamin">Pria</label>
<input type="radio" name="jenis_kelamin" value="wanita"/><label
for="jenis_kelamin">Wanita</label>
</td></tr>
<tr><td>Status</td><td>
<select name="status">
<option value="Pilih Status Anda">Pilih Status Anda</option>
<option value="menikah">Menikah</option>
<option value="single">Single</option>
</select>
</td></tr>
<tr><td>Lulusan Sekolah</td><td><input type="text" name="sekolah"
value="<?php echo $lulusan ; ?>" size="30" maxlength="50"/></td></tr>
<tr><td>Tahun Ajaran</td><td><select name="tahun_ajaran">
<option>Pilih Tahun Ajaran</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
133
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
</select></td></tr>
<tr><td>Pekerjaan</td><td><input type="text" name="pekerjaan"
value="<?php echo $pekerjaan ; ?>" size="30"
maxlength="50"/></td></tr>
<tr><td>Alamat</td><td><textarea name="alamat" cols="30"
rows="4"><?php echo $alamat ; ?></textarea></td></tr>
<tr><td>Kelurahan</td><td><input type="text" name="kelurahan"
value="<?php echo $kelurahan ; ?>" size="30"
maxlength="50"/></td></tr>
<tr><td>Kecamatan</td><td><input type="text" name="kecamatan"
value="<?php echo $kecamatan; ?>" size="30"
maxlength="50"/></td></tr>
<tr><td>Kota</td><td><input type="text" name="kota" size="30"
value="<?php echo $kota ; ?>" maxlength="50"/></td></tr>
<tr><td>Provinsi</td><td>
<select name="provinsi">
<option value="Pilih Provinsi Anda">Pilih Provinsi Anda</option>
<option value="Bali">Bali</option>
<option value="Bangka Belitung">Bangka Belitung</option>
<option value="Banten">Banten</option>
<option value="Bengkulu">Bengkulu</option>
<option value="Gorontalo">Gorontalo</option>
<option value="Irian Jaya Barat">Irian Jaya Barat</option>
<option value="Jabotabekdecipsawcib">Jabotabekdecipsawcib</option>
<option value="Jambi">Jambi</option>
<option value="Jawa Barat">Jawa Barat</option>
<option value="Jawa Tengah">Jawa Tengah</option>
134
<option value="Jawa Timur">Jawa Timur</option>
<option value="Kalimantan Barat">Kalimantan Barat</option>
<option value="Kalimantan Selatan">Kalimantan Selatan</option>
<option value="Kalimantan Tengah">Kalimantan Tengah</option>
<option value="Kalimantan Timur">Kalimantan Timur</option>
<option value="Kepulauan Riau">Kepulauan Riau</option>
<option value="Lampung">Lampung</option>
<option value="Lokasi Lain-lain">Lokasi Lain-lain</option>
<option value="Maluku">Maluku</option>
<option value="Maluku Utara">Maluku Utara</option>
<option value="Nangroe Aceh Darussalam">Nangroe Aceh
Darussalam</option>
<option value="Nusa Tenggara Barat">Nusa Tenggara Barat</option>
<option value="Nusa Tenggara Timur">Nusa Tenggara Timur</option>
<option value="Papua">Papua</option>
<option value="Riau">Riau</option>
<option value="Sulawesi Barat">Sulawesi Barat</option>
<option value="Sulawesi Selatan">Sulawesi Selatan</option>
<option value="Sulawesi Tengah">Sulawesi Tengah</option>
<option value="Sulawesi Tenggara">Sulawesi Tenggara</option>
<option value="Sulawesi Utara">Sulawesi Utara</option>
<option value="Sumatera Barat">Sumatera Barat</option>
<option value="Sumatera Selatan">Sumatera Selatan</option>
<option value="Sumatera Utara">Sumatera Utara</option>
<option value="Yogyakarta">Yogyakarta</option>
</select></td></tr>
<tr><td>No Telepon</td><td><input type="text" name="telepon"
size="30"
value="<?php echo $telepon ; ?>" maxlength="50"/></td></tr>
<tr><td></td><td><input type="submit" name="kirim"
135
value="Update!"/></td></tr>
</table>
</form>
<?php
}
}
?>
Setelah semua beres, selanjutnya kita tinggal eksekusi dengan memilih tombol
update
lalu kita coba lakukan update dan ?? Mantap!
136
BAB 7
Lebih Jauh dengan Form
7.1 Validasi Hasil Input
Di bagian ini saya akan jelaskan bagaimana cara seorang web developer itu
mengecek hasil inputan yang di lakukan oleh user, sebagai contohnya misalkan
user akan melakukan pendaftaran sebagai mahasiswa baru, namun form di bagian
nomor teleponnya itu di kosongkan, sedangkan syarat untuk mendaftar adalah,
bagian nomor telepon itu harus di isi, nah bagaimana menangani ini sehingga
nanti jika ada user yang mengosongkan nomor telepon nya si user tersebut
diperintahkan kembali untuk mengisi form bagian nomor telepon.
Atau contoh lainnya misalkan ketika user menginputkan namanya pada nomor
telepon, hal ini tentu saja salah, namun bagaimana cara untuk menangani ini, jadi
ketika user memasukkan nama pada inputan nomor telepon akan ditolak dan
diberikan warning, jika yang diinputkan itu salah. Saya akan coba jelaskan contoh
kasus yang pertama, ketika kondisi si user itu mengosongkan salah satu bagian
form. Untuk mengetahui kosong atau tidaknya suatu variable itu diwakilkan
dengan fungsi !empty().
Penulis akan coba jelaskan contoh kasusnya, pertama kita buat form nya terlebih
dahulu :
<html>
<head><title>Form Insert</title></head>
<body>
<form action="insert.php" method="POST">
<table border='0' width='35%' cellpadding='2' cellspacing='2'
align='center'>
<caption><h2>Formulir Pendaftaran Mahasiswa Baru</h2><p><?php echo
$warning ; ?></p>
137
</caption>
<tr><td>Nama</td><td><input type="text" name="nama" size="30"
maxlength="50"/></td></tr>
<tr><td>Jenis Kelamin</td><td><input type="radio"
name="jenis_kelamin"
value="pria"/><label for="jenis_kelamin">
Pria</label>
<input type="radio" name="jenis_kelamin" value="wanita"/><label
for="jenis_kelamin">Wanita</label>
</td></tr>
<tr><td>Alamat</td><td><textarea name="alamat" cols="30"
rows="4"></textarea></td></tr>
<tr><td>No Telepon</td><td><input type="text" name="telepon"
size="30"
maxlength="50"/></td></tr>
<tr><td></td><td><input type="submit" name="kirim"
value="Daftar!"/></td></tr>
</table>
</form>
</body>
</html>
Ini form yang terdiri dari nama, jenis kelamin, alamat, dan nomor telepon. Kita
lihat di browser selanjutnya kita akan buat untuk bagian validasinya, yakni file
insert.php.
<?php
// jika user mengosongkan nama
// ini juga berlaku jika anda mengosongkan semuanya ...
// yang pertama kali di cek adalah bagian ini ...
if (empty($_POST['nama']))
{
138
echo "Anda mengosongkan Nama...";
}
// jika user mengosongkan jenis kelamin
else if (empty($_POST['jenis_kelamin']))
{
echo "Anda mengosongkan jenis kelamin...";
}
// jika user mengosongkan alamat
else if (empty($_POST['alamat']))
{
echo "Anda mengosongkan alamat";
}
// ini berarti mengosongkan nomor telepon
else if (empty($_POST['telepon']))
{
echo "Anda mengosongkan no telepon ... ";
}
else
{
echo "Semua terisi dan proses input ke database bisa di lakukan
disini ... ";
}
?>
lalu kita cek di browser dengan mengisi formnya, dan kita klik submit, dan apa
yangterjadi ...
139
7.2 Memfilter Format yang salah
Contoh dalam memfilter format yang salah bisa kita temui ketika kita mengisi
form registrasi di bagian inputan untuk email, ketika kita salah mengetik format
email dengan salah, misalnya namaemail@yahoocom tanpa tanda titik setelah
yahoo, maka akan ada warning jika format email yang kita masukkan itu salah,
ada juga contoh kasus lain misalnya ketika kita salah mengisi tanggal lahirnya,
ada situs yang memberikan format seperti ini 24-01-1987, namun kemudian kita
mengisinya dengan 24-Januari-1987, maka akan ada warning jika format yang di
isi itu salah. Solusinya adalah kita menggunakan regular expression, saya hanya
menjelaskan sedikit saja regular expression sesuai dengan contoh kasus, karena
untuk regular expression itu sendiri butuh satu bahasan terperinci saking
banyaknya sub sub dalam regular expression. Regular expression merupakan
suatu pola yang dapat mencocokan kalimat sesuai dengan format yang kita
inginkan. Sebelum beranjak ke regular expression kita akan coba terlebih dahulu
membuat form dan mengecek format data yang di inputkan, apakah
data yang diinput itu berupa angka atau numeric, huruf atau string, apakah data
yang di input itu sebuah array?? Kita buat form terlebih dahulu :
<html>
<head><title>Form Check Input</title></head>
<body>
<form action="check_input.php" method="POST">
<table border='0' width='35%' cellpadding='2' cellspacing='2'
align='center'>
<caption><h2>Formulir Pendaftaran Mahasiswa Baru</h2><p><?php echo
$warning ; ?></p>
</caption>
<!-- di sini saya coba membuat 6 inputan, yang isinya ada yang terdiri
dari huruf saja dan ada yang terdiri angka saja -->
<tr><td>Nama</td><td><input type="text" name="nama" size="30"
maxlength="50"/></td></tr>
140
<tr><td>Jenis Kelamin</td><td><input type="radio" name="jenis_kelamin"
value="pria"/><label for="jenis_kelamin">Pria</label>
<input type="radio" name="jenis_kelamin" value="wanita"/><label
for="jenis_kelamin">Wanita</label>
</td></tr>
<tr><td>Tanggal Lahir</td><td><input type="text" name="tanggal_lahir"
size="30" maxlength="50"/></td></tr>
<tr><td>Alamat</td><td><textarea name="alamat" cols="30"
rows="4"></textarea></td></tr>
<tr><td>No Telepon</td><td><input type="text" name="telepon" size="30"
maxlength="50"/></td></tr>
<tr><td></td><td><input type="submit" name="kirim"
value="Daftar!"/></td></tr>
</table>
</form>
</body>
</html>
Kemudian selanjutnya kita akan membuat satu buah file yang dapat mengecek,
format
data yang diinputkan tersebut apakah angka saja atau huruf saja atau terdapat
keduaduanya.
Hal ini menentukan untuk proses selanjutnya. Kita buat satu halaman dengan
nama check_input.php
<?php
// kita cuma akan mengambil sampel untuk nama dan telepon saja...
// selebihnya bisa anda praktikan nanti
$nama = $_POST['nama'];
$telepon = $_POST['telepon'];
// jika nama yang di inputkan itu terdiri dari angka saja
if (is_numeric($nama))
141
{
// maka berikan warning jika yang di masukkan itu bertipe numeric...
echo "<strong>Nama yang anda masukkan bertipe numeric</strong>,
silahkan isi kembali dengan string...<br />";
}
// dan apabila nama yang diinputkan itu bertipe string
else if (is_string($nama))
{
echo "<strong>Nama yang anda masukkan bertipe string </strong>
<br />";
}
else
{
echo "Anda harus memasukkan nama dalam format string...<br />";
}
Bab 7: Lebih Jauh dengan Form
Oleh : Loka Dwiartara | http://www.ilmuwebsite.com
141
// begitu juga dengan nomor telepon, apabila yang diinputkan itu
// bertipe numeric
if (is_numeric($telepon))
{
// maka ...
echo "<strong>Nomor Telepon</strong> yang anda masukkan <strong>
bertipe numeric</strong><br />";
}
else
{
// maka
echo "Anda harus memasukkan nama dalam format numeric...<br />";
142
}
?>
Regular expression
Penggunaan regular expresion sebagai contohnya di temui dalam pengisian
tanggal lahir, mencocokan format tanggal lahir, sehingga inputan yang di
masukkan oleh user nanti bisa seragam mengikuti format yang benar. seperti yang
saya katakan sebelumnya, misalkan format yang kita inginkan ketika user
menginput tanggal adalah 24-01-1987, ketika ada user yang menginput 24-
Januari-1987 maka akan terdapat peringatan jika format yang di masukkan itu
adalah salah. Solusinya adalah kita menggunakan regular expression, pertama kita
akan buat formnya terlebih dahulu ...
<html>
<head><title>Form Check Input</title></head>
<body>
<form action="regex1.php" method="POST">
<table border='0' width='35%' cellpadding='2' cellspacing='2'
align='center'>
<caption><h2>Formulir Pendaftaran Mahasiswa Baru</h2><p><?php echo
$warning ; ?></p>
</caption>
<tr><td>Tanggal Lahir</td><td><input type="text" name="tanggal_lahir"
size="30" maxlength="50"/></td></tr>
<tr><td></td><td><input type="submit" name="kirim"
value="Daftar!"/></td></tr>
</table>
</form>
</body>
</html>
kemudian file regex1.php
<?php
143
// kita ambil variable yang di ambil dari form inputan, yakni
// tanggallahir
$tanggallahir = $_POST['tanggal_lahir'];
// kemudian kita buat pola dari tanggal lahir
// apabila kita lihat di sini
// ([0-9]{2})-([0-9]{2})-([0-9]{4})
// ([0-9]{2})
// kita tahu bahwa tanggal itu memiliki 2 digit yang isinya terdiri
// dari angka 0 - 9
// ([0-9]{2})
// kita tahu bahwa bulan itu memiliki 2 digit yang isinya terdiri dari
// angka 0 - 9
// ([0-9]{4})
// dan untuk tahun itu memiliki 4 digit angka yang terdiri dari angka 0
// - 9
// dan tanda -
// itu membuat tanggalnya nanti memiliki bentuk seperti ini ... xx-xx-
// xxxx
if (!ereg ("([0-9]{2})-([0-9]{2})-([0-9]{4})", $tanggallahir,
$bagiantanggal))
{
// perintah !ereg digunakan untuk mencocokan tanggallahir
// apakah sudah sesuai dengan formatnya
// yang ditentukan
// dan variable $bagiantanggal ini digunakan untuk
// memetakan tanggal lahir yang di masukkan ...
echo "Format yang anda masukkan salah ...";
}
else
{
144
// sehingga hasilnya nanti seperti ini ...
echo "Tanggal : $bagiantanggal[1]<br />";
echo "Bulan : $bagiantanggal[2]<br />";
echo "Tahun : $bagiantanggal[3]<br />";
}
?>
Kita coba lakukan testing di browser ... dan hasilnya ... begitu juga dengan format
email kita buat terlebih dahulu formnya
<html>
<head><title>Form Check Input</title></head>
<body>
<form action="regex2.php" method="POST">
<table border='0' width='35%' cellpadding='2' cellspacing='2'
align='center'>
<caption><h2>Formulir Pendaftaran Mahasiswa Baru</h2><p><?php echo
$warning ; ?></p>
</caption>
<tr><td>Email</td><td><input type="text" name="email" size="30"
maxlength="50"/></td></tr>
<tr><td></td><td><input type="submit" name="kirim"
value="Daftar!"/></td></tr>
</table>
</form>
</body>
</html>
Kemudian kita proses email yang di masukkan dalam file regex2.php ...
<?php
$email = $_POST['email'];
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-
]+)*(\.[a-z]{2,3})$", $email))
145
{
echo "Alamat Email anda Salah ...";
}
else
{
echo "Alamat Email yang anda masukkan adalah $email";
}
?>
anda bisa mendalami regex lebih dalam dengan membaca tutorial-tutorial yang
saya bawakan di ilmuwebsite.com di dalam file latihan saya menyediakan satu file
berisi 15 pola regex yang sering digunakan oleh web developer. dan tentunya
menggunakan php.
146
<input type="file" name="file" /><br/>
<input type="submit" value="upload!" />
</p>
</form>
</body>
</html>
Kita coba lihat dulu di browser. Oke, selanjutnya kita akan membuat sebuah file
untuk menerima inputan dari form upload tersebut untuk selanjutnya di letakkan
di server dalam folder yang terpilih. dalam hal ini saya meletekkannya dalam
folder upload, namun terlebih dahulu kita buat 1 buah folder dengan nama upload.
Setelah beres kita coba buat script untuk menyimpan file yang di upload ke dalam
folder upload tersebut :
<?php
// ketika filenya dikirim ...
if ( isset( $_FILES['file'] ) ) {
// file yang dikirim memiliki atribut sesuai dengan nama input file
// pada formnya
// tadi saya membuat input file upload dengan nama file
// sehingga dalam mengakses nama file tersebut
// kita cukup memanggil $_FILES['file']['nama']
// seperti ini
echo "name: ". $_FILES['file']['name']."<br />";
// begitu juga jika ingin mengetahui atribut yang lain seperti sizenya,
// tmp_namenya,
// type data yang di upload...
// dan lain lain sebagainya ..
echo "size: ". $_FILES['file']['size']." bytes<br />";
echo "temp name: ".$_FILES['file']['tmp_name']."<br />";
echo "type: ". $_FILES['file']['type']."<br />";
echo "error: ". $_FILES['file']['error']."<br />";
147
// lakukan pemilihan file
// disini hanya dapat menerima file dengan tipe image/jpeg
// atau gmabar ...
// jika gambar yang di upload itu bertipe jpep atau gambar
if ( $_FILES['file']['type'] == "image/jpeg" ) {
// kemudian ambil letak file temporary,
// ini dilakukan karena ketika file itu di upload
// server php dalam hal ini apache secara otomatis meletakkannya
// sebagai temporary file
$source = $_FILES['file']['tmp_name'];
// kemudian buat target atau akan di letakkan di mana file tersebut
$target = "./upload/".$_FILES['file']['name'];
// setelah file temporarinya sudah di definisikan
// dan kemudian file tujuan akhir, atau akan di letakkan di mana file
// yang akan di upload tadi
// selanjutnya adalah memindahkan file temporari tersebut ke dalam
// folder tujuan, yakni folder upload
move_uploaded_file( $source, $target );
// untuk mendapatkan ukuran atau size dari image yang di upload ...
$size = getImageSize( $target );
// kemudian tampilkan image yang telah di upload tersebut ke dalam
// halaman yang saat ini di akses ...
// dalam hal ini file tersebut adalah upload.php
$imageupload = "<p><img width=\"$size[0]\" height=\"$size[1]\"
" . "src=\"$target\" alt=\"uploaded image\" /></p>";
echo $imageupload;
}
}
?>
148
Oke, langsung saja kita tes di browser ... dan hasilnya adalah ... file yang di
upload akan secara otomatis di kopikan kedalam folder upload, ini bisa anda lihat
pada direktori
c:\xampp\htdocs\xxx\upload. Oke setelah semua selesai anda bisa coba untuk
mengulangnya kembali agar anda semakin terbiasa dan mahir nantinya ...
Selanjutnya saya akan bahas bab 8 mengenai pengiriman email menggunakan
php.
149
BAB 8
Mengirim Email menggunakan PHP
8.1 Mulai mengirim email
Ketika seorang user melakukan pendaftaran akun pada suatu website, secara
otomatis biasanya website tersebut mengirim email yang memberitahukan jika
user tersebut telah terdaftar, dan perlu di lakukan aktivasi sebelum dapat
digunakan. Begitu juga ketika pemberitahuan akan adanya news update, seorang
admin website secara otomatis mengirimkan berita melalui email secara otomatis.
Fitur email biasanya di sediakan oleh hosting yang anda bayar, di localhost pun
anda bisa mengirim email dengan fasilitas mercury dari xampp, namun saya tidak
akan menjelaskan untuk setting email menggunakan mercury di localhost, karena
untuk mengirim email anda memerlukan DNS Server yang memiliki IP Publik
tersendiri sehingga dapat mengirim email, dan email yang di kirim pun jika DNS
nya tidak teregistrasi maka akan di anggap sebagai bulk email atau spammer, oleh
karena di sini saya hanya jelaskan bagaimana mengirim email pada hosting. Oke
pertama siapkan terlebih dahulu hostingya ... untuk percobaan anda dapat
menggunakan hosting-hosting yang gratisan. Sebagai contohnya di sini saya akan
menggunakan http://www.byethost.com/ Anda dapat melakukan registrasi terlebih
dahulu di situ.
Setelah beres, kita coba masuk ke dalam salah satu direktori. Terus kita buat
filenya mail.basic.php , untuk mengirim email menggunakan php, syntaxnya
adalah seperti ini :
mail(to,subject,message,header,parameter)
sehingga di mail.php kita ketika seperti ini, sebagai contoh ...
<?php
$to = [email protected]
$subject = "Email Contoh";
$message = "Ini adalah email Contoh ... ";
150
$header = "From: <[email protected]>";
// kemudian untuk mengirim email
$sent = mail($to, $subject, $message, $header);
if($sent)
{
echo "Email contoh sudah terkirim...";
}
else
{
echo "Gagal kirim email!";
}
?>
151
$header .= 'From: <[email protected]>'. "\r\n";
$header .= 'Cc: <[email protected]>' . "\r\n";
$sent = mail($to, $subject, $message, $header);
if($sent)
{
echo "Email contoh sudah terkirim...";
}
else
{
echo "Gagal kirim email!";
}
?>
oke, langsung saja kita coba ...
152
$header .= 'From: <[email protected]>'. "\r\n";
$header .= 'Cc: <[email protected]>' . "\r\n";
$sent = mail($to, $subject, $message, $header);
if($sent)
{
echo "Email contoh sudah terkirim...";
}
else
{
echo "Gagal kirim email!";
}
?>
153
BAB 9
Autentikasi dengan htaccess, htpasswd,
Session dan Cookies
9.1 Menggunakan Session dan Cookies untuk halaman login
Session dan Cookies boleh dibilang merupakan sesuatu yang sangat penting
dalam pembagian hak akses, antara user yang belum login, dengan user yang
sudah login... dalam wordpress misalnya, cuma user yang sudah login saja yang
bisa memposting artikel, namun user yang belum login tidak bisa melakukannya.
Contoh yang lain...misalkan dalam forum, anda tidak diperkenankan membuat
thread baru jika anda belum melakukan login, mungkin contoh yang lainnya, anda
tidak bisa membuat wall status baru jika anda belum login ke facebook anda.
Semua berhubungan dengan login, namun apa yang berada di balik kode-kode
login tersebut, hampir semua login pada aplikasi web atau website itu
menggunakan session dan cookies untuk membedakan kondisi user yang sudah
login dan belum login, namun sebelum mengetahui lebih lanjut, saya akan coba
jelaskan terlebih dahulu apa itu session dan apa itu cookies...
Session
Session merupakan variable global yang jika diregistrasikan atau didefinisikan
maka variable tersebut dapat di akses di halaman manapun. ketika kita
meregistrasikan session, maka php akan kepada browser untuk menyimpan
session yang ada, sehingga session disimpan oleh browser sementara mirip
dengan pengandaian sebuah tiket masuk.
setiap halaman php yang membutuhkan adanya login akan mengecek apakah
variable sessionnya sudah diregistrasikan. jika sudah maka, halaman php tersebut
akan mempersilahkan user dapat mengaksesnya...
Oke, karena session memiliki tugas khusus dan session bertugas sebagai variable
global yang dapat di akses di halaman mana saja, sehingga session pun
membutuhkan fungsi tersendiri untuk dapat menjalankannya.
154
Standarnya membuat session adalah seperti ini :
<?php
// fungsinya terlebih dahulu
session_start();
// dan standarnya setiap session_start digunakan
// dan ketika user mengakses halaman tersebut biasanya memiliki
// session_id tersendiri kita tes
echo session_id();
// session_id(() akan selalu berbeda setiap anda menjalankan browser
?>
kita akan buat 2 buah file, file pertama digunakan untuk meregistrasikan/mengeset
session, file yang kedua berguna sebagai halaman untuk mengetes apakah
sessionnya telah berfungsi dengan benar, jika benar maka file yang kedua itu
dapat menampilkan isi
dari session yang sebelumnya telah diregistrasikan pada halaman pertama ...
file pertama, session_reg_first.php :
<?php
// untuk membuat session, diperlukan fungsi khusus yang dapat
// memproduksi session
// yakni, dan jangan lupa untuk meletakkan sessio_start di baris paling
// awal setelah <?php
session_start();
$_SESSION['first'] = "saya adalah session";
echo "Anda telah meregistrasikan session berisi '<strong>".
$_SESSION['first'] . "</strong>'";
session_destroy();
?>
<br />
<a href="other_page.php">klik di sini untuk pindah halaman</a>
kemudian file selanjutnya other_page.php :
155
<?php
session_start();
echo "Anda telah membuat session di halaman sebelumnya, berisi
'<strong>" . $_SESSION['first']."</strong>'";
session_destroy();
?>
Kita coba tes di browser. Begitu juga jika anda ingin mengakses session yang
telah dibuat pada halaman lain. Misalkan kita buat satu buah file sembarang yang
file ini juga di coba untuk mengakses. Kita beri nama file tersebut misalnya
random.php
<?php
// jangan lupa untuk memasukkan fungsi session_start setiap akan
// meregistrasi atau mengakses session
session_start();
// kita coba akses variable session yang telah di set
echo "isi dari session yang aktif ".$_SESSION['first'];
?>
Menghapus atau menonaktifkan Session
Ada satu pertanyaan bagaimana caranya untuk menonaktifkan atau
menghilangkan session yang telah dibuat :
<?php
session_start();
unset($_SESSION['first']);
echo "Isi '$_SESSION[first]' adalah ... = " . $_SESSION['first'];
// jika ingin memusnahkan semua session yang ada
// anda dapat menggunakan session_destroy
// biasanya hal ini digunakan ketika proses logout terjadi
// semua session yang ada benar-benar di hapus
// penggunaanya adalah seperti ini
session_destroy();
156
echo "<br />Semua session telah di hapus ...";
?>
Cookie
Jika session itu akan berakhir ketika browser ditutup, namun jika cookie itu akan
berakhir pada waktu yang ditentukan oleh web developer sebelumnya. Contoh
penggunaan cookie adalah seperti ini :
// pertama kita buat terlebih dulu file cookie1.php
<?php
// lalu di sini kita siapkan variable untuk cookienya
$isicookie = "ini adalah isi dari cookie";
// kemudian kita buat cookienya dengan lama waktu 1 jam misalnya ...
// di hitung dengan menggunakan satuan waktu detik
setcookie("cookie1", $isicookie, time()+3600);
// untuk dapat mengakses cookie anda dapat menggunakan sintax
echo $_COOKIE["cookie1"];
?>
Dan misalkan kita ingin mengakses cookie di halaman yang lain juga bisa, kita
buat halaman lain untuk mengakses cookie :
<?php
// kemudian langsung akses variable cookienya
echo $_COOKIE["cookie1"];
?>
Begitu jika ingin menghapus atau menghilangkan cookie yang ada, kita buat satu
buah file lagi deletecookie.php
<?php
// hapus cookie yang ada dengan unset
unset($_COOKIE['cookie1']);
echo $_COOKIE['cookie1'];
?>
157