You are on page 1of 47

qwertyuiopasdfghjklzxcvbnmqwertyui

opasdfghjklzxcvbnmqwertyuiopasdfgh
jklzxcvbnmqwertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklzxcvbnmqwer
tyuiopasdfghjklzxcvbnmqwertyuiopas
dfghjklzxcvbnmqwertyuiopasdfghjklzx
cvbnmqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwertyuiopasdfghj
klzxcvbnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmrty
uiopasdfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfghjklzxcvbnmqw
ertyuiopasdfghjklzxcvbnmqwertyuiop
asdfghjklzxcvbnmqwertyuiopasdfghjkl
Cara Memproses HTML Form yang Benar
Kebanyakan programmer PHP pemula tidak tahu bagaimana cara memproses HTML form
yang benar. Bahkan ini juga terjadi bagi yang sudah lama berkecimpung di dunia PHP.
Kebanyakan masih menggunakan cara lama (bisa dibilang salah), cara yang populer di versi
PHP4 ke bawah. Dimana di versi PHP4 ke bawah register_global secara default disetting ON.
Tentu saja, ketika register_global diset menjadi OFF, script php tersebut tidak akan bekerja.

Berikut adalah cara memproses html form menggunakan php yang benar, yang bekerja di
semua versi php (dari 4.1.0 sampai version terkini 5.3.3).

HTML Form: Metode Pengiriman Data

Form HTML dibentuk menggunakan tag <form/>, tag <form/> memiliki attribute method yang
digunakan untuk menentukan bagaimana cara form mengirim data ke server (data dikirim ke
page/halama yang diset di dalam attribute action). Attribute method bisa diisi dengan 2 nilai,
yaitu post dan get. Jika diisi dengan post, maka data akan dikirim sebagai sebuah HTTP post
transaction. Jika diisi dengan get, maka data akan dikirim sebagai variabel variabel URL.
Contoh:
view plaincopy to clipboardprint TryIt?

1. <form method="get" action="http://google.com">


2. <input type="text" name="q"/>
3. </form>
4.
5. <form method="post" action="http://sandbox.paypal.com/cgi-bin/webscr">
6. <input type="hidden" name="amount" value="10"/>
7. <input type="submit" value="Pay Now"/>
8. </form>

Form pertama akan mengirim data ke http://google.com menggunakan method get, dan form
kedua akan mengirim data ke http://sandbox.paypal.com/cgi-bin/webscr dengan method post.

Cara Memproses Form di PHP

Dalam memproses sebuah form, yang perlu diketahui adalah di PHP ada yang disebut dengan
superglobals variables. Superglobals variables adalah variabel standar yang tersedia di seluruh
ruang lingkup kode php bersangkutan. Superglobals variables yang berperan saat memproses
form adalah $_POST, $_GET, dan $_FILES. Ketiga variabel ini akan diisi dengan data yang
diterima/dikirim dari/oleh form html.

Di atas telah disebutkan bahwa sebuah form bisa menggunakan 2 metode pengiriman data. Jika
menggunakan post, maka data yang diterima dari form ini akan disimpan ke dalam variable
$_POST. Jika dikirim menggunakan metode get, maka data yang diterima akan disimpan ke
dalam varibel $_GET. Sedangkan variabel $_FILES berfungsi untuk menyimpan informasi file
file yang diupload (untuk mengupload file digunakan element form dengan type="file"). Ketiga
superglobals variables itu, akan berisi associative array.

Untuk lebih memperjelas akan diberikan contoh. Misalkan anda memiliki sebuah form dengan 4
element seperti di bawah:

2
pada saat form diisi data dan tombol submit ditekan, data akan dikirim ke server dan terjadi
proses seperti gambar:

Ilustrasi sederhana di atas menjelaskan bahwa pada saat tombol submit ditekan, data akan

3
dikirim ke server dan diproses oleh php. PHP akan menyimpan data yang diterima (yang telah
diproses) ke dalam variabel $_POST (karena data dikirim dengan method post). Selanjutnya,
adalah "tugas programmer untuk memproses data yang diterima", yang telah ditempatkan di
variabel $_POST oleh PHP. Seperti terlihat di gambar, variabel $_POST akan berisi associative
array berikut:
view plaincopy to clipboardprint TryIt?

1. $_POST = array (
2. 'nama' => 'John',
3. 'kelamin' => 'L',
4. 'status' => 'M',
5. 'alamat' => 'Jalan kutilang',
6. );

Pertanyaan yang muncul adalah, mengapa variabel $_POST terbentuk seperti itu? Gambar di
bawah akan menjelaskannya.

Di variabel $_POST, bagian sebelah kiri tanda => disebut dengan 'key', bagian sebelah kanan
disebut dengan 'value'. 'key' akan bersesuaian dengan attribute 'name' dari masing masing
element <form/>, dan 'value' and berisi data yang dinput oleh user pada masing masing element
<form/> (lihat gambar agar lebih jelas).

4
Setelah mengetahui bagaimana PHP menerima data yang dikirim dari sebuah form, langkah
selanjutnya adalah memproses data yang diterima tadi, yang ditempatkan di dalam variabel
superglobal (dalam hal ini adalah $_POST). Misalkan data tadi hanya ditampilkan setelah user
menekan tombol submit.
view plaincopy to clipboardprint TryIt?

1. <?php
2. echo "Nama: ".$_POST['nama'];
3. echo "<br/>Jenis Kelamin: ".$_POST['kelamin'];
4. echo "<br/>Status: ".$_POST['status'];
5. echo '<br/>Alamat: '.$_POST['alamat'];
6. ?>

kode php di atas akan bekerja di semua versi php (dari 4.1.0 sampai version terkini 5.3.3), baik
register_global diseting on ataupun off. Kode php ini adalah bagian pemrosesan data yang
dilakukan oleh programmer. Untuk form yang mengirim data menggunakan method get,
prinsipnya sama hanya ganti $_POST dengan $_GET.

Rangkuman

Secara garis besar memproses form dengan php adalah seperti berikut. Dimulai dari browser
menampilkan form yang perlu diisi oleh user. Kemudian user menginputkan data ke dalam form.
Data dikirim oleh browser ke server. PHP menerima data dan menempatkan data yang diterima
ke dalam variabel $_POST atau $_GET atau $_FILES. Selanjutnya "programmer memproses
data yang telah disimpan ke dalam variabel $_POST atau $_GET atau $_FILES tadi". Terakhir,
server mengirim hasil pemrosesan data ke browser dan menampilkannya kepada user.

Jika ada pertanyaan tentang tutorial "Cara Memproses HTML Form yang Benar" ini,
silahkan tanyakan di http://ask.myphptutorials.com atau dengan form di bawah.

5
PHP Function
Tutorial PHP Function akan menjelaskan cara membuat function anda sendiri (user defined function).
Function memudahkan anda untuk tidak menulis kode yang sama berulang kali.
Apa yang akan Anda pelajari:

 Cara membuat function atau deklarasi function;


 Menggunakan function disemua halaman web;
 Argumen function,
 Membuat function dengan argumen tak terhingga;
 Anonymous function.

Membuat Function

Untuk membuat function digunakan kata tercadang function, seperti:

view plaincopy to clipboardprint TryIt?

1. function namaFunction(){
2. //badan function
3. //berisi kode php untuk dieksekusi
4. }

contoh:
view plaincopy to clipboardprint TryIt?

1. <?php
2. function showName(){
3. echo "My name is MyPHPtutorials";
4. }
5. function getUrl(){
6. return "http://www.myphptutorials.com";
7. }
8. ?>
9. <html>
10. <head>
11. <title>Contoh PHP Function</title>
12. </head>
13. <body>
14. <div>
15. <?php showName();?>
16. </div>
17. <div>
18. Website: <?php echo getUrl();?>
19. </div>
20. </body>
21. </html>

6
Menggunakan Function di Semua Halaman

Tentu saja function bisa dipanggil dari semua halaman website, caranya adalah membuat sebuah file
yang berisi function yang anda buat (misal file funciton.php), dan menggunakan statement include_once
untuk meng-include file tersebut. Contoh:
buat file function.php

view plaincopy to clipboardprint TryIt?

1. <?php
2. //file function.php
3. function showName(){
4. echo "MyPHPtutorials";
5. }
6. function getUrl(){
7. return "http://www.myphptutorials.com";
8. }
9. ?>

kemudian buat file lain yang menggunakan function di atas, dan include file function.php
menggunakan statement include_once
view plaincopy to clipboardprint TryIt?

1. <?php
2. //file index.php
3. include_once "function.php"; //include file function.php
4. ?>
5. <html>
6. <head>
7. <title>Contoh PHP Function</title>
8. </head>
9. <body>
10. <div>
11. <?php showName();?>
12. </div>
13. <div>
14. Website: <?php echo getUrl();?>
15. </div>
16. </body>
17. </html>
18.
19. <?php
20. //file about.php
21. include_once "function.php";
22. ?>
23. <html>
24. <head>
25. <title>About <?php showName();?></title>
26. </head>
27. <body>
28. Website: <?php echo getUrl();?>
29. </body>
30. </html>

7
Argumen Function

Informasi bisa diberikan kepada function melalui argumen argumen atau paremeter paremeter yang
dipisahkan tanda koma ",".
Format:

view plaincopy to clipboardprint TryIt?

1. function namaFunction($argumen1, $argument2){


2.
3. }

Contoh:
view plaincopy to clipboardprint TryIt?

1. function tambah($a, $b){


2. $hasil = $a+$b;
3. echo $hasil;
4. }

Argumen dengan Nilai Default

Argumen function bisa memiliki nilai default seperti halnya di C++, contoh:

view plaincopy to clipboardprint TryIt?

1. function jenisKelamin($kelamin = "L"){


2. if($kelamin == "L"){
3. echo "Laki laki";
4. }elseif($kelamin == 'P'){
5. echo "Perempuan";
6. }else{
7. echo "Unknown";
8. }
9. }
10. //cara penggunaan
11. jenisKelamin(); //hasil akan 'Laki Laki';
12. jenisKelamin("L");// hasil juga 'Laki Laki';
13. jenisKelamin("P");// hasil 'Perempuan';

8
Function dengan Argumen Tak Terhingga

Function bisa memiliki argumen dengan jumlah tak terhingga, untuk itu dibutuhkan bantuan function
func_num_args(), func_get_arg(), dan func_get_args(). Misalkan Anda ingin membuat function untuk
menjumlahkan banyak bilangan (bukan hanya 1+2, tetapi 1+2+3+5+7 dst.), caranya adalah sebagai
berikut:

view plaincopy to clipboardprint TryIt?

1. function jumlah(){
2. if(func_num_args() <= 0){
3. echo "0";
4. }else{
5. $argumen = func_get_args();
6. $hasil = 0;
7. foreach($argumen as $bilangan){
8. $hasil += $bilangan;
9. }
10. echo $hasil;
11. }
12. }
13. //cara penggunaan
14. jumlah(); //hasil 0
15. jumlah(2); //hasil 2
16. jumlah(1,2,3,4,5);// hasil 15

Me-return Hasil Function

Untuk mereturn hasil dari kalkulasi yang dilakukan oleh sebuah function digunakan statement return.
Statement return akan membuat eksekusi function berhenti dan memberikan hasil kalkulasi. Contoh:

view plaincopy to clipboardprint TryIt?

1. function tambah($a, $b){


2. $hasil = $a+b;
3. return $hasil;
4. }
5. function cekAngka($input){
6. if(preg_match('/^[9-0]+$/', $input)){
7. return true; // eksekusi akan berhenti disini
8. }
9. return false;
10. }

9
Anonymous Function

Anonymous function atau closures adalah function tanpa nama function. Kegunaan utamanya sebagai
Callback parameter. Contoh:

view plaincopy to clipboardprint TryIt?

1. echo reg_replace_callback('/google/i', function($match){


2. return '<a href="http://google.com">'.$match[0].'</a>';
3. }, 'go to google');
4. //hasil go to <a href="http://google.com">google</a>

10
Save Edit Delete Data Dari Database
Tutorial Save Edit Delete Data Dari Database menjelaskan cara menyimpan data ke database,
mengedit data yang telah disimpan, dan menghapus data yang tidak diperlukan. Menyimpan,
mengedit, dan menghapus data adalah merupakan hal yang paling dasar yang harus diketahui
dalam membuat website yang dinamis. Dengan menguasai ketiga hal tersebut anda akan bisa
membuat website dalam bentuk apapun.

Membuat Database dan Tabel


Pertama yang dilakukan adalah mempersiapkan database dan table. Sebagai contoh anda akan
membuat sebuah database dengan nama "absensi_siswa" bisa gunakan sql
view plaincopy to clipboardprint TryIt?

1. create database absensi_siswa;

Selanjutnya membuat table "siswa", dengan struktur seperti

Nama Field Tipe Data Keterangan


Nomor Induk siswa,
nis varchar(20)
Primary Key
nama varchar(50)
jenis_kelamin char(1)
tgl_lahir date
atau gunakan sql berikut:
view plaincopy to clipboardprint TryIt?

1. CREATE TABLE `absensi_siswa`.`siswa` (


2. `nis` varchar(20) NOT NULL,
3. `nama` varchar(50) NOT NULL,
4. `jenis_kelamin` char(1) NOT NULL,
5. `tgl_lahir` date NOT NULL,
6. PRIMARY KEY (`nis`)
7. )
8. ENGINE = MyISAM;

Membuat Form Input Siswa


Selanjutnya adalah membuat form input siswa tempat user memasukkan data siswa. bisa
gunakan html di bawah
view plaincopy to clipboardprint TryIt?

1. <!DOCTYPE html PUBLIC "-


//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml
1-transitional.dtd">
2. <html xmlns="http://www.w3.org/1999/xhtml">
3. <head><title>Form Input Siswa</title></head>
4. <body>
5. <form name="formSiswa" id="formSiswa" method="post" action="save_siswa.php">
6. <dl>
7. <dt>NIS</dt>
8. <dd><input name="nis" id="nis" type="text"/></dd>
9. <dt>Nama</dt>

11
10. <dd><input type="text" name="nama" id="nama"/></dd>
11. <dt>Jenis Kelamin</dt>
12. <dd>
13. <input type="radio" name="jenis_kelamin" id="laki" value="L"/> Laki Laki
14. <input type="radio" name="jenis_kelamin" id="prm" value="P"/> Perempuan
15. </dd>
16. <dt>Tanggal Lahir</dt>
17. <dd>
18. <input type="text" name="tanggal" id="tanggal" size="5"/>
19. <input type="text" name="bulan" id="bulan" size="5"/>
20. <input type="text" name="tahun" id="tahun" size="5"/>
21. </dd>
22. <dt></dt>
23. <dd><input type="submit" name="save" value="save" /></dd>
24. </dl>
25. </form>
26. </body>
27. </html>

kemudian simpan file dengan nama "form_siswa.php".

Menyimpan Data Siswa


Setelah selesai membuat form input siswa, yang perlu dibuat selanjutnya adalah kode php untuk
menyimpan data siswa. Buatlah sebuah file baru dengan nama "save_siswa.php" dan simpan di
tempat yang sama dengan file "form_siswa.php" yang telah dibuat sebelumnya. Mungkin ada
pertanyaan kenapa nama filenya "save_siswa.php" bukan "simpan_siswa.php". Karena
sebelumnya pada saat membuat form input siswa (baris 5 file form_siswa.php), attribute action
pada tag <form/> diisi dengan action="save_siswa.php". Ini artinya memberitahukan kepada
browser, bahwa yang akan menangani data dari form bersangkutan adalah file "save_siswa.php".
file save_siswa.php akan seperti:
view plaincopy to clipboardprint TryIt?

1. <?php
2. $nis = $_POST['nis'];
3. $nama = $_POST['nama'];
4. $jenis_kelamin = $_POST['jenis_kelamin'];
5. $tglLahir = $_POST['tahun'].'-'.$_POST['bulan'].'-'.$_POST['tanggal'];
6. //koneksi database
7. $conn = mysql_connect("dbhost","db_user","db_password");
8. mysql_select_db("absensi_siswa");
9.
10. $query = "insert into siswa set nis='$nis',nama='$nama', jenis_kelamin='$jenis_kelamin',
tgl_lahir='$tglLahir'";
11. $hasil = mysql_query($query);
12. if($hasil){
13. echo "Data siswa telah disimpan";
14. }else{
15. echo "Error! gagal menyimpan data siswa:".mysql_error();
16. }
17. ?>

Di baris 2-5 digunakan untuk menyimpan data form yang telah dikirim ke variabel yang
bersesuaian. Seperti $nis = $_POST['nis'], mengapa menggunakan $_POST['nis']. Karena pada
file form_siswa.php di tag <form/> (baris 5) atribut method diisi dengan method="post" yang
artinya data dikirim dengan method POST dan di baris 8 file form_siswa.php atribut name dari

12
<input/> field untuk meng-input NIS diset name="nis". Lebih lengkapnya ada di
tutorial Penanganan HTML form di PHP. Baris 7 adalah untuk melakukan koneksi ke database.
Silahkan ganti "dbhost" dengan host database anda, "db_user" dengan user dari database dan
"db_password" dengan password database. Kemudian di baris 8 untuk menentukan database
yang akan digunakan. Baris 10 untuk membuat sql query untuk menyimpan data ke database.
Baris 11 untuk mengeksekusi sql query yang telah dibuat di baris 10. Baris selanjutnya adalah
melakukan pengecekan apakah data berhasil disimpan atau tidak.

Menampilkan Data
Setelah berhasil menyimpan data ke database, selanjutnya adalah menampilkan data. Untuk
menampilkan data cukup mudah. Gunakan script php di bawah untuk menampilkan data.
view plaincopy to clipboardprint TryIt?

1. <?php
2. $conn = mysql_connect("dbhost", "db_user", "db_password");
3. mysql_select_db("absensi_siswa");
4.
5. if($_GET['action'] == 'delete'){
6. mysql_query("delete from siswa where nis='".mysql_real_escape_string($_GET['id'])."'"
);
7. }
8.
9. $query = "select * from siswa order by nama";
10. $rowSet = mysql_query($query);
11. echo '<a href="form_siswa.php">Input Siswa Baru</a>';
12. echo '<table border="1">';
13. echo '<tr>';
14. echo '<td>NIS</td>';
15. echo '<td>Nama</td>';
16. echo '<td>Jenis Kelamin</td>';
17. echo '<td>Tanggal Lahir</td>';
18. echo '<td>Action</td>';
19. echo '</td>';
20. while($row = mysql_fetch_array($rowSet)){
21. echo '<tr>';
22. echo '<td>'.$row['nis'].'</td>';
23. echo '<td>'.$row['nama'].'</td>';
24. echo '<td>'.($row['jenis_kelamin'] == 'L' ? 'Laki Laki' : 'Perempuan').'</td>';
25. echo '<td>'.$row['tgl_lahir'].'</td>';
26. echo '<td>';
27. echo '<a href="data_siswa.php?id='.$row['nis'].'&action=delete">Delete</a>';
28. echo ' | <a href="form_edit_siswa.php?id='.$row['nis'].'">Edit</a>';
29. echo '</td>';
30. echo '</tr>';
31. }
32. echo '</table>';
33. ?>

Simpan dengan nama data_siswa.php. kode di atas menampilkan data siswa ke dalam sebuah
table yang disertai dengan link edit dan delete. Di baris 5-7 anda bisa melihat cara menghapus
data dari database. Pada saat link delete diklik browser akan diarahkan ke url seperti
data_siswa.php?id=1000&action=delete, pada saat itu kode pada baris 5-7 akan dieksekusi.

Edit Data

13
Yang terakhir adalah membuat script untuk mengedit data. Pertama yang dilakukan adalah
membuat file form_edit_siswa.php. Form edit siswa akan seperti di bawah.
view plaincopy to clipboardprint TryIt?

1. <?php
2. $conn = mysql_connect("dbhost", "db_user", "db_password");
3. mysql_select_db("absensi_siswa");
4. $query = "select * from siswa where nis='".mysql_real_escape_string($_GET['id'])."'";
5. $result = mysql_query($query);
6. $siswa = mysql_fetch_array($result);
7. ?>
8. <form name="formSiswa" id="formSiswa" method="post" action="edit_siswa.php">
9. <dl>
10. <dt>NIS</dt>
11. <dd><input name="nis" id="nis" type="text" value="<?=$siswa['nis'];?>" readonly="r
eadonly"/></dd>
12. <dt>Nama</dt>
13. <dd><input type="text" name="nama" id="nama" value="<?= $siswa['nama'];?>"/></
dd>
14. <dt>Jenis Kelamin</dt>
15. <dd>
16. <input type="radio" name="jenis_kelamin" id="laki" value="L" <? echo $siswa['jeni
s_kelamin'] == 'L' ? 'checked="checked"' : '';?>/> Laki Laki
17. <input type="radio" name="jenis_kelamin" id="prm" value="P" <? echo $siswa['jeni
s_kelamin'] == 'P' ? 'checked="checked"' : '';?> /> Perempuan
18. </dd>
19. <dt>Tanggal Lahir</dt>
20. <dd>
21. <?php $tgl_lahir = explode('-', $siswa['tgl_lahir']); ?>
22. <input type="text" name="tanggal" id="tanggal" size="5" value="<?= $tgl_lahir[2];?
>"/>
23. <input type="text" name="bulan" id="bulan" size="5" value="<?=$tgl_lahir[1];?>"/>

24. <input type="text" name="tahun" id="tahun" size="5" value="<?= $tgl_lahir[0];?>"/


>
25. </dd>
26. <dt></dt>
27. <dd><input type="submit" name="save" value="save" /></dd>
28. </dl>
29. </form>

Baris 2-6 pada kode di atas berfungsi untuk mengambil data siswa yang sedang diedit. Pada baris
selanjutnya berfungsi untuk menampilkan data yang sedang diedit. Ini dilakukan dengan
menambahkan atribut value pada masing masing element form dengan data yang bersesuian.

14
Langkah kedua adalah membuat file edit_siswa.php untuk menyimpan perubahan data yang
dilakukan pada form_edit_siswa. Gunakan script di bawah dalam file edit_siswa.php.
view plaincopy to clipboardprint TryIt?

1. <?php
2. $nis = $_POST['nis'];
3. $nama = $_POST['nama'];
4. $jenis_kelamin = $_POST['jenis_kelamin'];
5. $tglLahir = $_POST['tahun'].'-'.$_POST['bulan'].'-'.$_POST['tanggal'];
6. //koneksi database
7. $conn = mysql_connect("dbhost","db_user","db_password");
8. mysql_select_db("absensi_siswa");
9. $query = "update siswa set nama='$nama', jenis_kelamin='$jenis_kelamin', tgl_lahir='$tg
lLahir' where nis='$nis'";
10. $hasil = mysql_query($query);
11. if($hasil){
12. echo "Data siswa telah disimpan";
13. }else{
14. echo "Error! gagal menyimpan data siswa:".mysql_error();
15. }
16. ?>

Save Delete Edit Data Selesai


Pada tahap ini anda telah selesai membuat script php sederhana untuk menyimpan, menghapus,
meng-edit data. Tentunya masih perlu disempurnakan, seperti menambahkan Validasi Form. Jika
ada pertanyaan silahkan ditanyakan di AskMyPHPtutorials.

15
Menyimpan Gambar Ke Database
Tutorial Menyimpan Gambar Ke Database akan menjelaskan cara menyimpan gambar ke
database dan cara menampilkan gambar yang telah disimpan di database. Untuk bisa mengikuti
tutorial ini anda harus mengerti cara mengupload gambar dengan PHP. Ada dua cara menyimpan
gambar ke database:

1. Menyimpan gambar ke database dengan tipe data blob,


2. Menyimpan gambar ke dalam sebuah folder dan mencatat lokasi dan informasi gambar ke
database.

Yang akan dibahas di tutorial ini adalah langkah pertama, Menyimpan gambar ke database
dengan tipe data blob.

Menyimpan Gambar Ke Database Dengan Tipe Data Blob


Ada beberapa hal yang perlu dilakukan sebelum bisa menyimpan gambar ke dalam sebuah field
table database yang bertipe blob.

Mempersiapkan Database dan Table

Buatlah sebuah database dengan nama misalkan "gallery". Kemudian buat tabel di dalamnya
dengan nama "pictures" dengan struk seperti di bawah:

Nama Field Tipe Data Keterangan

id integer primary key, auto increment

file_name varchar(100)

mime_type varchar(50)

file_data mediumblob

Atau gunakan SQL Query berikut:

view plaincopy to clipboardprint TryIt?

1. create database gallery;


2. use gallery;
3. CREATE TABLE `pictures` (
4. `id` int NOT NULL AUTO_INCREMENT,
5. `file_name` varchar(100) NOT NULL,
6. `mime_type` varchar(50) NOT NULL,
7. `file_data` mediumblob DEFAULT NULL,
8. PRIMARY KEY (`id`)
9. );

Membuat Upload Form

Buat html form untuk mengupload gambar, gunakan script di bawah:

16
view plaincopy to clipboardprint TryIt?

1. <!-- file form.html-->


2. <form name="form1" id="form1" method="post" action="upload.php" enctype="multipart/for
m-data">
3. Gambar: <input type="file" name="gambar" id="gambar" />
4. <input type="submit" name="Submit" id="Submit" value="Upload" />
5. </form>

Simpan dengan nama file form.html.

Menyimpan Gambar Ke Database

Langkah selanjutnya adalah menyimpan gambar ke database, gunakalah script php di bawah
untuk menyimpan gambar ke database.

view plaincopy to clipboardprint TryIt?

1. <?php
2. $connection = mysql_connect("dbhost", "dbuser", "dbpassword"); //sesuaikan dengan database
anda
3. mysql_select_db("gallery");
4.
5. if($_FILES['gambar']['size'] > 0 && $_FILES['gambar']['error'] == 0){
6. $fileName = $_FILES['gambar']['name'];
7. $mimeType = $_FILES['gambar']['type'];
8. $tmpFile = fopen($_FILES['gambar']['tmp_name'], 'rb'); // (fileName, mode)
9. $fileData = fread($tmpFile, filesize($_FILES['gambar']['tmp_name']));
10. $fileData = addslashes($fileData);
11.
12. $query = "insert into pictures set file_name='$fileName',mime_type='$mimeType', file_data='$f
ileData'";
13. mysql_query($query) or die("Upload Gambar Gagal: ".mysql_error());
14. echo "Gambar telah disimpan";
15. }
16. ?>

Di baris 8, file yang diupload dibuka menggunakan fungsi fopen dengan mode 'rb' yang artinya
membuka file dengan mode read dan mode binary. Di baris 9 membaca file yang telah dibuka
di baris 8 dengan fungsi fread. Selanjutnya di baris 12 dan 13 menyimpan gambar ke database.
Simpan script di atas dengan nama upload.php.

Menampilkan Gambar Dari Database

Langkah terakhir adalah menampilkan gambar yang telah disimpan di database. Untuk
menampilkan gambar dibutuhkan 2 file. File gambar.php untuk me-render gambar dan file
gallery.php untuk menampilkan gallery keseluruhan gambar yang tersimpan di database.
Gunakanlah script berikut:

17
File gambar.php

view plaincopy to clipboardprint TryIt?

1. <?php
2. $connection = mysql_connect("dbhost", "dbuser", "dbpassword"); //sesuaikan dengan database
anda
3. mysql_select_db("gallery");
4. $idFile = $_GET['id'];
5.
6. $dataGambar = mysql_fetch_array(mysql_query("select * from pictures where id='$idFile'"));
7. $filename = $dataGambar['file_name'];
8. $mime_type = $dataGambar['mime_type'];
9. $filedata = $dataGambar['file_data'];
10. header("content-disposition: inline; filename=$filename");
11. header("content-type: $mime_type");
12. header("content-length: ".strlen($filedata));
13. echo ($filedata);
14. ?>

File gallery.php

view plaincopy to clipboardprint TryIt?

1. <?php
2. $connection = mysql_connect("dbhost", "dbuser", "dbpassword"); //sesuikan dengan database
anda
3. mysql_select_db("gallery");
4.
5. $query = "select * from pictures";
6. $result = mysql_query($query);
7. $i=1;
8. echo '<table>';
9. echo '<tr>';
10. while($gambar = mysql_fetch_array($result)){
11. echo '<td><img src="gambar.php?id='.$gambar['id'].'" width="150" /></td>';
12. if($i % 4 == 0){
13. echo '</tr><tr>';
14. }
15. $i++;
16. }
17. echo '</tr>';
18. echo '</table>';
19. ?>

18
Menampilkan Gambar Dari Sebuah Folder
Jul 01, 2010 oleh MyPHPtutorials | 1585 kali dibaca sejak Dec 26, 2010 |
Level: Menengah

Tutorial Menampilkan Gambar Dari Sebuah Folder akan menjelaskan cara menampilkan
gambar gambar yang ada di dalam sebuah directory. Tutorial ini sekaligus menjelaskan cara
menampilkan isi dari sebuah folder atau directory. Tutorial ini merupakan lanjutan dari tutorial
Upload Gambar dengan PHP. Di tutorial ini akan diajarkan cara menampilkan gambar dari
sebuah directory seperti di bawah ini.

Untuk menampilkan isi dari sebuah folder seperti gambar di atas, gunakan script php seperti
berikut:

19
view plaincopy to clipboardprint TryIt?

1. <?php
2. $folder = "photos"; //folder tempat gambar disimpan
3. $handle = opendir($folder);
4. echo '<table cellspacing="2" cellpadding="5">';
5. echo '<tr>';
6. $i = 1;
7. while(false !== ($file = readdir($handle))){
8. if($file != '.' && $file != '..'){
9. echo '<td style="border:1px solid #000000;" align="center">
10. <img src="photos/'.$file.'" width="100" /><br />
11. '.$file.'
12. </td>';
13. if(($i % 4) == 0){
14. echo '</tr><tr>';
15. }
16. $i++;
17. }
18. }
19. echo '</tr>';
20. echo '</table>';
21. ?>

Di baris 2 ditentukan di folder mana gambar disimpan. Kemudian di baris 3 menggunakan


function opendir untuk membuka sebuah folder atau directory. Di baris 7 dilakukan perulangan
untuk membaca isi dari sebuah folder satu persatu menggunakan function readdir. Function
readdir akan me-return nama dari file yang ada di dalam folder atau me-return false jika semua
file sudah terbaca atau tidak ada file sama sekali di dalam folder. Di baris 8 dilakukan
pengecekan apakah nama file tidak sama dengan '.' dan '..'.

Untuk dapat menampilkan 4 gambar dalam satu baris, maka di baris 13 dilakukan pengecekan
apakah sudah ditampilkan 4 gambar, dengan melakukan operasi mod (%) terhadap variabel $i.
Bagaimana jika di dalam sebuah folder ada file selain gambar, misalnya pdf atau zip atau yang
lainya, maka diperlukan pengecekan ekstensi dari file bersangkutan. Sehingga kode di atas perlu
diubah menjadi:

20
view plaincopy to clipboardprint TryIt?

1. <?php
2. $folder = "photos";
3. $handle = opendir($folder);
4. echo '<table cellspacing="2" cellpadding="5">';
5. echo '<tr>';
6. $i = 1;
7. $fileGambar = array('png', 'jpg', 'jpeg', 'gif');
8. while(false !== ($file = readdir($handle))){
9. $fileAndExt = explode('.', $file);
10. if(in_array(end($fileAndExt), $fileGambar)){
11. echo '<td style="border:1px solid #000000;" align="center">
12. <img src="photos/'.$file.'" width="100" /><br />
13. '.$file.'
14. </td>';
15. if(($i % 4) == 0){
16. echo '</tr><tr>';
17. }
18. $i++;
19. }
20. }
21. echo '</tr>';
22. echo '</table>';
23. ?>

Dapat dilihat perubahan pada baris 7, ditambahkan variabel $fileGambar yang berisi array
ekstensi tipe file gambar. Kemudian di baris 9 nama file diparse untuk memperoleh ekstensi file
menggunakan function explode. Yang terakhir di baris 10 dilakukan pengecekan apakah ekstensi
file ada di dalam array $fileGambar.

Selamat Mencoba.

21
Tutorial PHP : Validasi Form dengan PHP
Validasi data yang diinput dari sebuah form sangat diperlukan dikebanyakan applikasi web.
Mengapa validasi form sangat diperlukan? Misalkan, anda memiliki sebuah contact form di
website anda dan meminta masukan email, apa gunanya jika email yang dimasukkan tidak valid.
Contoh lain, jika sebuah online shop yang meminta masukan shipping address, dan pengguna
memasukkan kode pos berupa text bukan digit angka maka pengelola website tidak bisa
mengirim barang yang dibeli oleh pengguna.

Tipe Validasi Form


Ada dua tipe validasi form, validasi client side dan server side. Validasi client side bisa
dilakukan menggunakan javascript. Validasi client side sangatlah tidak dianjurkan. Seseorang
pengguna bisa saja mematikan javascript dan validasi client side tidak akan berjalan. Karena
javascript tidak akan dieksekusi jika javascript dimatikan. Disinilah validasi server side
diperlukan. Validasi server side akan tetap berkerja, tidak peduli apapun. Validasi server side
bisa dilakukan menggunakan PHP, Perl, ASP, JSP dan bahasa scripting lainnya.

Validasi Form dengan PHP


Di tutorial php ini akan dijelaskan cara melakukan validasi form dengan PHP. Ada dua hal
yang terkait dengan validasi form. Yang pertama adalah melakukan validasi data yang
diinputkan ke form, dan yang kedua adalah menampilkan error message jika data yang diinput
tidak valid. Di bawah adalah contoh validasi yang simpel, yang hanya mengecek apakah semua
data diinput dan tidak kosong.

view plaincopy to clipboardprint TryIt?

1. <!-- file simple-validasi.php --->


2. <?php
3. if($_POST){
4. $nama = $_POST['nama'];
5. $email = $_POST['email'];
6. $alamat = $_POST['alamat'];
7. $kota = $_POST['kota'];
8. $kodePos = $_POST['kode_pos'];
9. if(empty($nama) || empty($email) || empty($alamat) || empty($kota) || empty($kodePos))
{
10. echo '<strong>Data tidak komplit</strong>';
11. }else{
12. //prosess data
13. }
14. }
15. ?>
16. <form name="form-name" method="post" action="">
17. <dl>
18. <dt>Nama:</dt>
19. <dd>
20. <input name="nama" id="nama" type="text" />
21. </dd>
22. <dt>Email:</dt>
23. <dd>
24. <input name="email" id="email" type="text" />
25. </dd>

22
26. <dt>Alamat:</dt>
27. <dd>
28. <input name="alamat" id="alamat" type="text" />
29. </dd>
30. <dt>Kota:</dt>
31. <dd>
32. <input name="kota" id="kota" type="text" />
33. </dd>
34. <dt>Kode POS:</dt>
35. <dd>
36. <input name="kode_pos" id="kode_pos" type="text" />
37. </dd>
38. <dt></dt>
39. <dd>
40. <input name="submit" id="submit" type="Submit" value="Submit" />
41. </dd>
42. </dl>
43. </form>

Jika user tidak memasukkan salah satu data maka akan ditampilkan pesan "Data tidak komplit",
seperti di bawah:

23
Dengan script di atas, setiap kali user lupa memasukan salah satu data maka user harus
menginput ulang semua data. Agar data yang sebelumnya diinputkan kembali tampil di form
pada saat user melakukan kesalahan, ubah script di atas menjadi:

view plaincopy to clipboardprint TryIt?

1. <?php
2. if($_POST){
3. $nama = $_POST['nama'];
4. $email = $_POST['email'];
5. $alamat = $_POST['alamat'];
6. $kota = $_POST['kota'];
7. $kodePos = $_POST['kode_pos'];
8. if(empty($nama) || empty($email) || empty($alamat) || empty($kota) || empty($kodePos))
{
9. echo '<strong>Data tidak komplit</strong>';
10. }else{
11. //prosess data
12. }
13. }
14. ?>
15. <form name="form-name" method="post" action="">
16. <dl>
17. <dt>Nama:</dt>
18. <dd>
19. <input name="nama" id="nama" type="text" value="<?php echo isset($_POST['nama'])
? $_POST['nama'] : '';?>" />
20. </dd>
21. <dt>Email:</dt>
22. <dd>
23. <input name="email" id="email" type="text" value="<?php echo isset($_POST['email'])
? $_POST['email'] : '';?>" />
24. </dd>
25. <dt>Alamat:</dt>
26. <dd>
27. <input name="alamat" id="alamat" type="text" value="<?php echo isset($_POST['alama
t']) ? $_POST['alamat'] : '';?>" />
28. </dd>
29. <dt>Kota:</dt>
30. <dd>
31. <input name="kota" id="kota" type="text" value="<?php echo isset($_POST['kota']) ? $
_POST['kota'] : '';?>" />
32. </dd>
33. <dt>Kode POS:</dt>
34. <dd>
35. <input name="kode_pos" id="kode_pos" type="text" value="<?php echo isset($_POST['
kode_pos']) ? $_POST['kode_pos'] : '';?>" />
36. </dd>
37. <dt></dt>
38. <dd>
39. <input name="submit" id="submit" type="Submit" value="Submit" />
40. </dd>
41. </dl>
42. </form>

24
Script diubah pada line 19, 23, 27, 31, 35 dengan menambahkan attribute value di masing
masing text field yang diisi dengan nilai form sebelumnya. Penampilan error message juga bisa
diubah menjadi lebih manis dan lebih user friendly seperti di bawah:

Ubahlah script di atas menjadi:

view plaincopy to clipboardprint TryIt?

1. <?php
2. if($_POST){
3. $nama = $_POST['nama'];
4. $email = $_POST['email'];
5. $alamat = $_POST['alamat'];
6. $kota = $_POST['kota'];
7. $kodePos = $_POST['kode_pos'];
8. $error = array();
9. if(empty($nama)){
10. $error['nama'] = 'Nama tidak boleh kosong';
11. }
12. if(empty($email)){
13. $error['email'] = 'Email tidak boleh kosong';
14. }
15. if(empty($alamat)){
16. $error['alamat'] = 'Alamat tidak boleh kosong';
17. }
18. if(empty($kota)){
19. $error['kota'] = 'Kota tidak boleh kosong';
20. }
21. if(empty($kodePos)){
22. $error['kode_pos'] = 'Kode pos tidak boleh kosong';
23. }
24. if(empty($error)){
25. //prosess data
26. }
27. }
28. ?>
29. <form name="form-name" method="post" action="">
30. <dl>
31. <dt>Nama:</dt>
32. <dd>

25
33. <input name="nama" id="nama" type="text" value="<?php echo isset($_POST['nama'
]) ? $_POST['nama'] : '';?>" />
34. <div style="color:red"><?php echo isset($error['nama']) ? $error['nama'] : '';?></div>
35. </dd>
36. <dt>Email:</dt>
37. <dd>
38. <input name="email" id="email" type="text" value="<?php echo isset($_POST['email'
]) ? $_POST['email'] : '';?>" />
39. <div style="color:red"><?php echo isset($error['email']) ? $error['email'] : '';?></div>
40. </dd>
41. <dt>Alamat:</dt>
42. <dd>
43. <input name="alamat" id="alamat" type="text" value="<?php echo isset($_POST['ala
mat']) ? $_POST['alamat'] : '';?>" />
44. <div style="color:red"><?php echo isset($error['alamat']) ? $error['alamat'] : '';?></div
>
45. </dd>
46. <dt>Kota:</dt>
47. <dd>
48. <input name="kota" id="kota" type="text" value="<?php echo isset($_POST['kota']) ?
$_POST['kota'] : '';?>" />
49. <div style="color:red"><?php echo isset($error['kota']) ? $error['kota'] : '';?></div>
50. </dd>
51. <dt>Kode POS:</dt>
52. <dd>
53. <input name="kode_pos" id="kode_pos" type="text" value="<?php echo isset($_POS
T['kode_pos']) ? $_POST['kode_pos'] : '';?>" />
54. <div style="color:red"><?php echo isset($error['kode_pos']) ? $error['kode_pos'] : '';?>
</div>
55. </dd>
56. <dt></dt>
57. <dd>
58. <input name="submit" id="submit" type="Submit" value="Submit" />
59. </dd>
60. </dl>
61. </form>

JIka file untuk menyimpan/memproses data atau file untuk memvalidasi data berbeda dengan file
untuk menampilkan form, dengan kata lain menggunakan dua file berbeda maka bisa
menggunakan bantuan session. Gunakan script php seperti di bawah:

26
view plaincopy to clipboardprint TryIt?

1. <!-- file contact-form.php-->


2. <?php
3. session_start();
4. if(isset($_SESSION['error'])){
5. $error = $_SESSION['error'];
6. $_POST = $_SESSION['post'];
7. unset($_SESSION['error']);
8. unset($_SESSION['post']);
9. }
10. ?>
11. <form name="form-name" method="post" action="save-form.php">
12. <dl>
13. <dt>Nama:</dt>
14. <dd>
15. <input name="nama" id="nama" type="text" value="<?php echo isset($_POST['nama'
]) ? $_POST['nama'] : '';?>" />
16. <div style="color:red"><?php echo isset($error['nama']) ? $error['nama'] : '';?></div>
17. </dd>
18. <dt>Email:</dt>
19. <dd>
20. <input name="email" id="email" type="text" value="<?php echo isset($_POST['email'
]) ? $_POST['email'] : '';?>" />
21. <div style="color:red"><?php echo isset($error['email']) ? $error['email'] : '';?></div>
22. </dd>
23. <dt>Alamat:</dt>
24. <dd>
25. <input name="alamat" id="alamat" type="text" value="<?php echo isset($_POST['ala
mat']) ? $_POST['alamat'] : '';?>" />
26. <div style="color:red"><?php echo isset($error['alamat']) ? $error['alamat'] : '';?></div
>
27. </dd>
28. <dt>Kota:</dt>
29. <dd>
30. <input name="kota" id="kota" type="text" value="<?php echo isset($_POST['kota']) ?
$_POST['kota'] : '';?>" />
31. <div style="color:red"><?php echo isset($error['kota']) ? $error['kota'] : '';?></div>
32. </dd>
33. <dt>Kode POS:</dt>
34. <dd>
35. <input name="kode_pos" id="kode_pos" type="text" value="<?php echo isset($_POS
T['kode_pos']) ? $_POST['kode_pos'] : '';?>" />
36. <div style="color:red"><?php echo isset($error['kode_pos']) ? $error['kode_pos'] : '';?>
</div>
37. </dd>
38. <dt></dt>
39. <dd>
40. <input name="submit" id="submit" type="Submit" value="Submit" />
41. </dd>
42. </dl>
43. </form>

27
view plaincopy to clipboardprint TryIt?

1. <?php
2. //file save-form.php
3. session_start();
4. if($_POST){
5. $nama = $_POST['nama'];
6. $email = $_POST['email'];
7. $alamat = $_POST['alamat'];
8. $kota = $_POST['kota'];
9. $kodePos = $_POST['kode_pos'];
10. $error = array();
11. if(empty($nama)){
12. $error['nama'] = 'Nama tidak boleh kosong';
13. }
14. if(empty($email)){
15. $error['email'] = 'Email tidak boleh kosong';
16. }
17. if(empty($alamat)){
18. $error['alamat'] = 'Alamat tidak boleh kosong';
19. }
20. if(empty($kota)){
21. $error['kota'] = 'Kota tidak boleh kosong';
22. }
23. if(empty($kodePos)){
24. $error['kode_pos'] = 'Kode pos tidak boleh kosong';
25. }
26. if(empty($error)){
27. //prosess data
28. }else{
29. $_SESSION['error'] = $error;
30. $_SESSION['post'] = $_POST;
31. header("location: contact-form.php");
32. }
33. }
34. ?>

Selain mengecek apakah data yang masukkan tidak kosong, anda juga bisa melakukan validasi
yang lebih detail.

Validasi Email Address


Untuk memvalidasi email address bisa menggunakan regular expression, seperti script di bawah :

view plaincopy to clipboardprint TryIt?

1. <?php
2. $emailPattern = '/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/';
3. $email = 'tutorials@myphptutorials.com';
4. var_dump(preg_match($emailPattern, $email)); //hasil true
5. $email = 'buka email';
6. var_dump(preg_match($emailPattern, $email)); // hasil false
7. ?>

28
Validasi Kode POS
Kode pos terdiri dari 5 digit angka atau 5 digit plus 4 digit di belakang, misal: 80361 atau 60612-
0344. Untuk memvalidasi kode pos gunakan script di bawah:

view plaincopy to clipboardprint TryIt?

1. <?php
2. $patenKodePos = '/^\d{5}([\-]\d{4})?$/';
3. $kodePos = '80461';
4. var_dump(preg_match($patenKodePos, $kodePos)); //hasil true
5. $kodePos = '60612-0344';
6. var_dump(preg_match($patenKodePos, $kodePos)); //hasil true
7. $kodePos = '123456';
8. var_dump(preg_match($patenKodePos, $kodePos)); //hasil false
9. $kodePos = 'abcdef';
10. var_dump(preg_match($patenKodePos, $kodePos)); //hasil false
11. ?>

Masih banyak lagi validasi yand bisa dilakukan. Untuk validasi form data yang lain bisa
ditanyakan di http://ask.myphptutorials.com atau melalui comment form di bawah.

29
Validasi Form dengan Javascript
May 25, 2010 oleh MyPHPtutorials | 1519 kali dibaca sejak Dec 26, 2010 |
Level: Pemula

Ada dua tipe validasi form, validasi client side dan validasi server side. Validasi server side telah
dibahas di tutorial Validasi Form Dengan PHP. Validasi client side menggunakan javascript akan
dijelaskan di tutorial ini. Di tutorial sebelumnya "Validasi Form dengan PHP" sudah disebutkan
alasan validasi client side tidak dianjurkan. Namun validasi client side membuat website lebih
user friendly. User dapat langsung mengetahui jika ada kesalahan pada input data, tanpa harus
menunggu load halaman php untuk validasi form. Artinya website tidak perlu menload halaman
yang sama berkali kali saat tejadi kesalahan input data. Bisa juga dikatakan proses input data
akan menjadi lebih cepat.

Perlu diingat jika menggunakan validasi client side, data masih perlu divalidasi
menggunakan validasi server side untuk memastikan kebenaran data.

Validasi Form dengan Javascript


Untuk mengikuti tutorial ini anda diharapkan memiliki pengetahuan tetang javascript dasar.
Untuk mem-validasi sebuah form, agar tidak ada data yang kosong maka bisa digunakan script di
bawah:

view plaincopy to clipboardprint TryIt?

1. <form name="form1" id="form1" action="" method="post" />


2. <dl>
3. <dt>First Name</dt>
4. <dd><input name="firstName" id="firstName" type="text" /></dd>
5. <dt>Last Name</dt>
6. <dd><input name="lastName" id="lastName" type="text" /></dd>
7. <dt>Email</dt>
8. <dd><input name="email" id="email" type="text" /></dd>
9. <dt>Phone</dt>
10. <dd><input name="phone" id="phone" type="text" /></dd>
11. <dt></dt>
12. <dd><input type="button" name="save" id="save" value="Save" onclick="saveForm();
return false;" /></dd>
13. </dl>
14. </form>
15.
16. <script type="text/javascript">
17. function saveForm(){
18. if(document.getElementById('firstName').value == ''){
19. alert('First Name tidak boleh kosong');
20. document.getElementById('firstName').focus();
21. return false;
22. }
23. if(document.getElementById('lastName').value == ''){
24. alert('Last Name tidak boleh kosong');
25. document.getElementById('lastName').focus();
26. return false;
27. }
28. if(document.getElementById('email').value == ''){
29. alert('Email tidak boleh kosong');

30
30. document.getElementById('email').focus();
31. return false;
32. }
33. if(document.getElementById('phone').value == ''){
34. alert('Phone tidak boleh kosong');
35. document.getElementById('phone').focus();
36. return false;
37. }
38. document.getElementById('form1').submit();
39. }
40. </script>

Dari baris 1 sampai baris 14 adalah untuk membuat html form. Kemudian di baris16
ditambahkan tag html "<script>". Pada line selanjutnya membuat function saveForm() untuk
melakukan validasi. Function saveForm() akan dipanggil pada saat user mengklik tombol save.
Sehingga di baris 12 pada button save ditambakan attribute onlick="saveForm(); return
false;". Di baris 18 anda akan melihat "if(document.getElementById('firstName').value == '')",
baris ini berarti mengambil nilai yang diinputkan pada element dengan id="firstName" dan
mengeceknya apakah kosong atau tidak. Jika kosong maka akan ditampilkan alert message (baris
19). Di baris 20 artinya memindahkan focus kursor ke element dengan id="firstName".

Javascript juga bisa digunakan untuk memvalidasi hal hal yang lain seperti berikut.

Validasi Email dengan Javascript


view plaincopy to clipboardprint TryIt?

1. function validasiEmail(email){
2. var validEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-
Z]{2,4}$/; //regex untuk cek email
3. if(validEmail.test(email)){
4. return true;
5. }
6. return false;
7. }
8. alert(validasiEmail('email@example.com')); //hasil true
9. alert(validasiEmail('bukanemail')); //hasil false

31
Validasi Kode Pos dengan Javascript
view plaincopy to clipboardprint TryIt?

1. function validasiPostalKode(postalCode){
2. var validPostalCode = /^\d{5}([\-]\d{4})?$/; //regex untuk cek kode pos
3. if(validPostalCode.test(postalCode)){
4. return true;
5. }
6. return false;
7. }
8. alert(validasiPostalKode('80361')); //hasil true
9. alert(validasiPostalKode('80361-1234')); //hasil true
10. alert(validasiPostalKode('salah')); //hasil false
11. alert(validasiPostalKode('1234')); //hasil false

Validasi form dengan javascript yang lainya bisa ditanyankan langsung di


http://ask.myphptutorials.com

32
Membuat Contact Form
Tutorial php Membuat Contact Form menjelaskan cara membuat contact form. Mulai dari
membuat form html, meyimpan contact ke database, mengirim contact ke pengelola lewat email
dan juga membahas masalah security dari contact form beserta cara meningkatkan security
contact form.

Berikut adalah langkah langkah membuat contact form:

Membuat Contact Form/HTML form


Buatlah sebuah html form seperi berikut:

Name:

Email:

Message:

Code:

view plaincopy to clipboardprint TryIt?

1. <form method="post" name="form1" action="save-comment.php">


2. <p>
3. Name: <input name="name" type="text" />
4. </p>
5. <p>
6. Email: <input name="email" type="text" />
7. </p>
8. <p>
9. Message: <textarea name="message"></textarea>
10. </p>
11. <p>
12. <input name="submit" type="submit" value="Send" />
13. </p>
14. </form>

Menyimpan Contact ke Database


Contact yang dikirim oleh pengguna dapat disimpan ke database atau langsung dikirim lewat
email ke pengelola website. Untuk menyimpan contact ke database kunjungi tutorials ini :
Menyimpan Data ke Database & Menampilkan Data dengan PHP.

33
Mengirim Contact ke Pengelola Lewat Email
Di tutorial Mengirim Email Dengan PHP telah dijelaskan cara untuk mengirim email dengan
PHP. Di tutorial ini tinggal mengimplementasikan tutorial tersebut. Untuk mengirim contact
lewat email kepada pengelola website bisa digunakan script php di bawah:

view plaincopy to clipboardprint TryIt?

1. <?php
2. // file save-comment.php
3. $name = $_POST['name'];
4. $email = $_POST['email'];
5. $text = $_POST['message'];
6.
7. $email_pengelola = 'pengelola@example.com'; // sesuai dengan email pengelola
8.
9. $message = "Name: ". $name ."\n";
10. $message .= "Email: ". $email ."\n";
11. $message .= "Message: " .$comment;
12. $message = wordwrap($text, 70);
13. //mengirim email
14. mail($email_pengelola, "New message from ".$name, $message);
15. ?>

Contact juga bisa dikirim menggunakan HTML email dengan script php di bawah:

view plaincopy to clipboardprint TryIt?

1. <?php
2. // file save-comment.php
3. $name = $_POST['name'];
4. $email = $_POST['email'];
5. $text = $_POST['message'];
6.
7. $email_pengelola = 'pengelola@example.com'; // sesuai dengan email pengelola
8.
9. $message = "<html>
10. <head>
11. <title>New Message</title>
12. </head>
13. <body>";
14. $message .= "<p>New message from $name</p>";
15. $message .= "<dl>
16. <dt>Email:</dt>
17. <dd>$email</dd>
18. <dt>Message:</dt>
19. <dd>$text</dd>
20. </dl>";
21. $message .= "</body></html>";
22. //setting header
23. $headers = 'MIME-Version: 1.0' . "\r\n";
24. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
25. $headers .= 'From: Your Website Name <noreply@example.com>' . "\r\n";
26. //send email
27. mail($email_pengelola, "New message from ".$name, $message, $headers);
28. ?>

34
Meningkatkan Security Contact Form
Jika anda mengimplementasikan contact form di website anda, yang harus diperhatikan adalah
masalah security. Seseorang bisa saja memasukkan kode HTML ke contact form, memasukkan
kode javascript, bahkan bisa sampai untuk mengambil cookies. Selain itu juga terkait dengan
spam yang bisa menggunakan contact form dan mengirimi pengelola ribuan email.

Untuk menghindari spam, anda bisa mengimplementasikan tutorial Membuat Captcha dengan
PHP pada contact form. Sedangkan untuk menghindari pengguna memasukkan kode HTML dan
javascript bisa menggunakan dua cara. Yang pertama adalah menggunakan fungsi strip_tags()
yang akan mengilangkan semua tag html, contoh:

view plaincopy to clipboardprint TryIt?

1. <?php
2. $input = "<strong>Bold Text</strong><p>Paragraph text</p>";
3. $output = strip_tags($input);
4. echo $output;
5. //hasilnya adalah "Bold TextParagraph text"
6. ?>

Cara kedua adalah menggunakan fungsi htmlentities() yang akan meng-convert kode html
menjadi html entity, contoh:

view plaincopy to clipboardprint TryIt?

1. <?php
2. $input = "<strong>Bold Text</strong><p>Paragraph text</p>";
3. $output = htmlentities($input);
4. echo $output;
5. //hasilnya adalah "&lt;strong&gt;Bold Text&lt;/strong&gt;&lt;p&gt;Paragraph text&lt;p
&gt;"
6. ?>

35
Tutorial PHP : Mengirim Email Dengan PHP
Mar 28, 2010 oleh MyPHPtutorials | 1247 kali dibaca sejak Dec 26, 2010 |

Level: Menengah

Di tutorial Mengirim Email Dengan PHP ini dijelaskan cara mengirim email menggunakan
function mail() PHP. Mulai dari penjelasan parameter inputan fungsi mail sampai contoh contoh
script php untuk mengirim email.

Fungsi PHP mail() secara keseluruhan adalah sebagai berikut:

mail ( string $to , string $subject , string $message, string


$additional_headers, string $additional_parameters );

Parameter Fungsi Mail


 to
Alamat email penerima, harus memenuhi format RFC 2822 , misal:
- john@example.com
- john@example.com, andi@example.com
- John<john@example.com>
 subject
Subjek Email, subjek harus sesuai dengan RFC 2047.
 message
pesan atau email yang dikirim. Setiap baris pesan dipisahkan dengan LF (\n) tidak boleh lebih
dari 70 karakter.
Catatan (hanya untuk window): Pada saat PHP berkumonikasi langsung dengan SMTF Server,
jika terdapat tanda titik diawal baris, akan dihilangkan. Untuk menghindarinya gunakan dua
tanda titik.
 additional_headers
String yang akan ditambahkan dibagian akhir header email. Biasanya digunakan untuk
menambahkan header ekstra seperti "From, Cc, Bcc". Setiap header harus dipisahkan dengan
CRLF (\r\n).
 additional_parameters
digunakan untuk melewatkan flag tambahan sebagai parameter command line dari program
yang digunakan untuk mengirim email. Contoh, parameter ini bisa digunakan untuk mengatur
pengirim amplop(server pengirim) ketika menggunakan program "sendmail" dengan flag -f.

Contoh Script PHP Untuk Mengirim Email


Mengirim Email Sederhana
view plaincopy to clipboardprint TryIt?

1. <?php
2. $message = "Baris pertama\nBaris kedua\nBaris ketiga";
3. $message .= "\nEmail dikirim menggunakan PHP";
4. //jika baris baris pesan melebihi 70 karakter, maka harus digunakan function wordwrap();
5. $message = wordwrap($message, 70);
6. mail("andi@example.com", "subjek email", $message);
7. ?>

36
Mengirim Email Dengan Header Ekstra
view plaincopy to clipboardprint TryIt?

1. <?php
2. $to = "john@example.com";
3. $subject = "Example Subject";
4. $message = "This mail sent by php ". phpversion();
5. $header = "From: myphptutorial@example.com\r\n";
6. $header .= "Reply-To: myphptutorial@example.com\r\n";
7. $header .= "X-Mailer: PHP";
8. mail($to, $subject, $message, $header);
9. ?>

Mengirim Email Dengan Additional Parameter


view plaincopy to clipboardprint TryIt?

1. <?php
2. mail('email@example.com', 'Subjek Email', 'Pesan', null, '-fmyphptutorial@example.com');
3. ?>

37
Mengirim HTML Email
view plaincopy to clipboardprint TryIt?

1. <?php
2. $to = 'html@example.com';
3. $subject = 'New Tutorial Post on MyPHPTutorials.com';
4. $message = '
5. <html>
6. <head>
7. <title>New Tutorial</title>
8. </head>
9. <body>
10. <p>New Tutorial has been post in MyPHPtutorials.com</pa>
11. <ul>
12. <li>
13. <a href="http://myphptutorials.com/tutorials/22">
14. Mengirim Email dengan PHP
15. </a>
16. </li>
17. <li>
18. <a href="http://myphptutorials.com/tutorials/21">
19. Membuat Captcha dengan PHP
20. </a>
21. </li>
22. </ul>
23. </body>
24. </html>';
25. //untuk mengirim html email, header Content-type harus diset
26. $headers = 'MIME-Version: 1.0' . "\r\n";
27. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
28.
29. // Additional header
30. $headers .= 'From: My PHP Tutorials <noreply@myphptutorials.com>' . "\r\n";
31. $headers .= 'Cc: john@example.com' . "\r\n";
32. $headers .= 'Bcc: andi@example.com' . "\r\n";
33.
34. mail($to, $subject, $message, $headers);
35. ?>

Untuk mengirim HTML email juga bisa menggunakan class Rmail yang disediakan oleh
phpguru.org. Dengan RMail anda bisa mengirim email dalam bentuk plain text, html dan
menambahkan lampiran file.

38
Upload Gambar Dengan PHP
Feb 21, 2010 oleh MyPHPtutorials | 3880 kali dibaca sejak Dec 25, 2010 |
Level: Menengah

Di tutorial PHP " Upload Gambar Dengan PHP" ini akan dipaparkan cara mengupload file
menggunakan PHP. Tutorial ini mencakup cara penggunaan element input file, mengatur atribut
html form agar file bisa ter-upload, membuat script php untuk menangani file yang diupload.

Setting HTML Form


Untuk meng-upload file digunakan element input file. Agar file bisa ter-upload maka pada form
HTML harus ditambahkan atribut enctype="multipart/form-data" dan menggunakan method
POST (method="post"). Form html untuk meng-upload file akan terlihat seperti di bawah:

view plaincopy to clipboardprint TryIt?

1. <!--form to upload file-->


2. <form name="formupload" method="post" enctype="multipart/form-
data" action="script/to/upload/file.php">
3. Picture : <input name="picture" type="file" />
4. <input type="submit" name="upload" value="Upload" />
5. </form>

Contoh Upload File dengan PHP


Di asumsikan anda akan mengupload file ke directory /photo, dimana directory /photo ini
berada pada root webserver anda.
Buatlah sebuah file baru menggunakan text editor dan buat sebuah html form seperti berikut:

Picture :
view plaincopy to clipboardprint TryIt?

1. <!--file picture.html-->
2. <form name="form_upload" method="post" action="upload.php" enctype="multipart/for
m-data">
3. Picture: <input type="file" name="picture" />
4. <input type="submit" name="upload" value="Upload" />
5. </form>

Simpan dengan nama picture.html dan letakkan di directory yang sama (sejajar) dengan folder
/photo.

39
Kemudian buat file baru dan ketik script php di bawah:

view plaincopy to clipboardprint TryIt?

1. <?php
2. //file upload.php
3. $fileName = $_FILES['picture']['name'];
4. $fileSize = $_FILES['picture']['size'];
5. $fileError = $_FILES['picture']['error'];
6. if($fileSize > 0 || $fileError == 0){
7. $move = move_uploaded_file($_FILES['picture']['tmp_name'], 'photo/'.$fileName);
8. if($move){
9. echo "File sudah diupload";
10. }else{
11. echo "Gagal mengupload file";
12. }
13. }else{
14. echo "Gagal mengupload file: ".$fileError;
15. }
16. ?>

simpan dengan nama upload.php directory yang sama (sejajar) dengan folder /photo. Anda akan
memiliki struktur folder dan file seperti berikut:

Anda dapat mengetahui informasi file yang diupload dari global variable $_FILES yang berupa
associated array. Jika anda memiliki sebuah input file dengan atribut name="picture" (script
picture.html baris ke 3) maka anda dapat mengakses informasi file yang diupload di variabel
$_FILES['picture']. $_FILES['picture'] adalah associated array dengan struktur sebagai berikut:

 $_FILES['picture'] ['name']
berisi nama file yang sedang diupload
 $_FILES['picture']['type']
mime type dari file yang sedang diupload, jika browser memberikan informasi ini.
Contoh: image/gif, image/jpg
 $_FILES['picture']['size']
ukuran/size file yang diupload dalam byte
 $_FILES['picture']['tmp_name']
nama file temporer dari file yang sedang diupload yang disimpan di temporari folder
server
 $_FILES['picture']['error']
error code yang berhubungan dengan file yang sedang diupload

Catatan:
HTML form anda harus memiliki atribut enctype="multipart/form-data" agar file mau ter-
upload.

40
Membuat Searching (Skrip Pencarian Data)
Searching atau pencarian data merupakan hal penting dalam sebuah aplikasi, apalagi aplikasi
yang menangani data yang banyak. Ada dua tipe searching yaitu: Quick Search dan Advanced
Search. Quick search adalah pencarian sederhana seperti google search, pengguna hanya
memasukkan sebuah kata kunci dari apa yang dicarinya. Sedangkan Advanced search adalah
pencarian lanjut yang lebih kompleks dengan beberapa kriteria pencarian, yang memungkinkan
hasil pencarian yang lebih akurat.

Sebelum membuat script seaching ada baiknya untuk mempelajari dasar untuk menampilkan
data. Pada tutorial ini akan digunakan sebuah tabel siswa seperti berikut:
Fieldname Tipe Data Keterangan
id int(11) primary key
nama varchar(50)
ayah varchar(50)
ibu varchar(50)
alamat text

Searching biasanya menggunakan query "like", seperti:


view plaincopy to clipboardprint TryIt?

1. select * from nama_table where nama_field like '%cari%'

hasilnya adalah semua data yang berisikan kata cari seperti "mencari", "pencarian".

Membuat Quick Search

Untuk membuat Quick Search gunakan skrip php di bawah:


view plaincopy to clipboardprint TryIt?

1. <!-- form quick search -->


2. <form name="form1" method="get" action="">
3. Search : <input type="text" name="q" id="q"/> <input type="submit" value="Search"/>
4. </form>
5. <!-- menampilkan hasil pencarian -->
6. <?php
7. if(isset($_GET['q']) && $_GET['q']){
8. $conn = mysql_connect("localhost", "root", "");
9. mysql_select_db("test");
10. $q = $_GET['q'];
11. $sql = "select * from siswa where nama like '%$q%' or
12. ayah like '%$q%' or ibu like '%$q%' or alamat like '%$q%'";
13. $result = mysql_query($sql);
14. if(mysql_num_rows($result) > 0){
15. ?>
16. <table>
17. <tr>
18. <td>Nama</td>
19. <td>Ayah</td>

41
20. <td>Ibu</td>
21. <td>Alamat</td>
22. </tr>
23. <?php
24. while($siswa = mysql_fetch_array($result)){?>
25. <tr>
26. <td><?php echo $siswa['nama'];?></td>
27. <td><?php echo $siswa['ayah'];?></td>
28. <td><?php echo $siswa['ibu'];?></td>
29. <td><?php echo $siswa['alamat'];?></td>
30. </tr>
31. <?php }?>
32. </table>
33. <?php
34. }else{
35. echo 'Data not found!';
36. }
37. }
38. ?>

Membuat Advanced Search

Gunakan skrip di bawah untuk membuat advanced search.


view plaincopy to clipboardprint TryIt?

1. <!-- form advanced search -->


2. <form name="form1" method="get" action="">
3. Nama : <input type="text" name="nama" id="nama"/> <br/>
4. Ayah : <input type="text" name="ayah" id="ayah"/> <br/>
5. Ibu : <input type="text" name="ibu" id="ibu"/> <br/>
6. Alamat : <input type="text" name="alamat" id="alamat"/>
7. <br/><input type="submit" value="Search" name="search"/>
8. </form>
9. <!-- menampilkan hasil pencarian -->
10. <?php
11. if(isset($_GET['search'])){
12. $conn = mysql_connect("localhost", "root", "");
13. mysql_select_db("test");
14. $nama = $_GET['nama'];
15. $ayah = $_GET['ayah'];
16. $ibu = $_GET['ibu'];
17. $alamat = $_GET['alamat'];
18. $sql = "select * from siswa where nama like '%$nama%' and
19. ayah like '%$ayah%' and ibu like '%$ibu%' and alamat like '%$alamat%'";
20. $result = mysql_query($sql);
21. if(mysql_num_rows($result) > 0){
22. ?>
23. <table>
24. <tr>
25. <td>Nama</td>
26. <td>Ayah</td>
27. <td>Ibu</td>
28. <td>Alamat</td>

42
29. </tr>
30. <?php
31. while($siswa = mysql_fetch_array($result)){?>
32. <tr>
33. <td><?php echo $siswa['nama'];?></td>
34. <td><?php echo $siswa['ayah'];?></td>
35. <td><?php echo $siswa['ibu'];?></td>
36. <td><?php echo $siswa['alamat'];?></td>
37. </tr>
38. <?php }?>
39. </table>
40. <?php
41. }else{
42. echo 'Data not found!';
43. }
44. }
45. ?>

Perbedaan advanced search dengan quick search adalah: Quick search menggunakan operator
"or" pada sql query, sedangkan Advanced search menggunakan operator "and" dengan beberapa
kriteria pencarian, seperti nama, ayah, ibu, alamat.

Rangkuman

Ada dua tipe searching/pencarian data: Quick search dan Advanced Search. Quick search
adalah pencarian sederhana hanya menggunakan satu kriteria pencaria. Advanced Search,
pencarian lanjut yang lebih kompleks dengan beberapa kriteria pencarian. Advanced search
memberikan hasil yang lebih akurat dibanding quick search.

43
Membuat Galeri Foto
Sebelum membuat galeri foto, anda harus bisa mengupload file dengan php. Secara singkat
galeri foto yang akan dibuat adalah sebagai berikut. Pertama pengguna memilih gambar yang
akan diupload dan memasukkan deskripsi gambar. Kemudian dengan php, gambar akan diupload
ke sebuah folder. Nama file dan deskripsi gambar akan disimpan ke database.

Membuat Database Galeri Foto

Buatlah sebuah database dengan nama "galeri", dan buat sebuah tabel "foto" dengan struktur
seperti:
Nama Field Tipe Data Keterangan
id int(11) Primary Key, auto increment
nama_file varchar(255)
deskripsi varchar(255)

atau gunakan sql query di bawah


view plaincopy to clipboardprint TryIt?

1. CREATE TABLE `foto` (


2. `id` int(11) NOT NULL AUTO_INCREMENT,
3. `nama_file` varchar(255) NOT NULL,
4. `deskripsi` varchar(255) ,
5. PRIMARY KEY (`id`)
6. )
7. ENGINE = MyISAM;

Membuat Form dan Struktur Folder

Pertama buatlah sebuah folder dengan nama "galeri" di document root web server. Biasanya
folder "htdocs" atau "public_html". Di dalam folder galeri buat folder "upload" dan tiga file
kosong seperti gambar.

Buka file form.html dan buatlah html form dengan kode berikut.
view plaincopy to clipboardprint TryIt?

1. <html>
2. <head>
3. <title>New Picture</title>
4. </head>
5. <body>
6. <form name="form1" action="save-
gallery.php" method="post" enctype="multipart/form-data">
7. File: <input type="file" name="file" id="file"/><br/>

44
8. Deskripsi: <textarea name="deskripsi" id="deskripsi"></textarea><br/>
9. <input type="submit" name="save" value="Upload"/>
10. </form>
11. </body>
12. </html>

kemudian simpan file tersebut.

Mengupload dan Menyimpan Gambar ke Database

Langkah selanjutnya adalah mengupload gambar ke folder "upload" dan menyimpan deskripsi
dan nama file ke tabel "foto". Buka file save-gallery.php dan gunakan kode php di bawah untuk
menyimpan gambar.
view plaincopy to clipboardprint TryIt?

1. <?php
2. //koneksi ke database
3. $conn = mysql_connect('localhost', 'userdb', 'password');
4. mysql_select_db('galeri');
5. //upload file
6. if(!empty($_FILES) && $_FILES['file']['size'] > 0 && $_FILES['file']['error'] == 0){
7. $fileName = $_FILES['file']['name'];
8. $move = move_uploaded_file($_FILES['file']['tmp_name'], 'upload/'.$fileName);
9. if($move){
10. //simpan deskripsi dan nama file ke database
11. $sql = "insert into foto (nama_file, deskripsi) values
12. ('$fileName', '".$_POST['deskripsi']."')";
13. mysql_query($sql);
14. header("Location: gallery.php");
15. exit;
16. }
17. }

Pertama tama di baris ke 3-4 membuka koneksi ke database. Di baris ke-6 dilakukan pengecekan
apakah file sudah terupload dan ukurannya lebih besar dari nol dan tidak terjadi error. Baris ke-8
memindahkan file yang telah terupload, dari temporary folder ke folder "upload" yang telah
dibuat sebelumnya. Baris selanjutnya mengecek jika proses pemindahan file berhasil. Jika
berhasil deskripsi dan nama file disimpan ke tabel 'foto'.

Menampilkan Gambar

Selanjunya, menampilkan gambar yang telah disimpan. Buka file gallery.php dan isi dengan
kode php di bawah.
view plaincopy to clipboardprint TryIt?

1. <html>
2. <head>
3. <title>Gallery</title>
4. </head>
5. <body>
6. <?php

45
7. //koneksi ke database
8. $conn = mysql_connect('localhost', 'userdb', 'password');
9. mysql_select_db('galeri');
10. //membaca data dari database
11. $result = mysql_query("select * from foto");
12. //menampilkan foto
13. ?>
14. <table>
15. <tr>
16. <?php
17. $i = 1;
18. while($row = mysql_fetch_array($result)){
19. ?>
20. <td>
21. <a href="upload/<?php echo $row['nama_file'];?>">
22. <img src="upload/<?php echo $row['nama_file'];?>" alt="" width="200" borde
r="0"/>
23. </a>
24. <br/><?php echo $row['deskripsi'];?>
25. </td>
26. <?php
27. if($i % 3 == 0){
28. echo '</tr><tr>';
29. }
30. $i++;
31. }
32. ?>
33. </tr>
34. </table>
35. </body>
36. </html>

Yang perlu di perhatikan adalah di baris ke-22. Untuk menampilkan gambar digunakan tag
<img/>. Nama nama gambar yang ditampilkan diambil dari database - echo $row['nama_file'].
Karena gambar diupload ke folder "upload" maka attribute src diisi dengan nilai seperti ini
"upload/<?php echo $row['nama_file'];?>".

Membuat Zoom

Sebuah galeri foto perlu sebuah fasilitas zoom. Untuk itu diperlukan jQuery dan Fancybox.
Silahkan download Fancybox di websitenya (versi 1.3.4 saat tutorial ini dibuat). Setelah selesai,
ekstrak file zip yang didownload dari website fancybox. Kemudian copy file jquery-1.4.3.min.js
dan folder fancybox dari hasil ekstrakan dan paste di folder 'galeri' yang telah dibuat
sebelumnya.
Selanjutnya buka kembali file gallery.php dan ubah menjadi seperti berikut.
view plaincopy to clipboardprint TryIt?

1. <html>
2. <head>
3. <title>Gallery</title>
4. <!--menambahkan jquery-->
5. <script type="text/javascript" src="jquery-1.4.3.min.js"></script>
6. <!--menambahkan fancybox-->

46
7. <script type="text/javascript" src="fancybox/jquery.fancybox-
1.3.4.pack.js"></script>
8. <!--menambahkan css fancybox-->
9. <link href="fancybox/jquery.fancybox-1.3.4.css" type="text/css" rel="stylesheet"/>
10. <script type="text/javascript">
11. $(document).ready(function(){
12. $(".fancy").fancybox();
13. });
14. </script>
15. </head>
16. <body>
17. <?php
18. //koneksi ke database
19. $conn = mysql_connect('localhost', 'userdb', 'password');
20. mysql_select_db('galeri');
21. //membaca data dari database
22. $result = mysql_query("select * from foto");
23. //menampilkan foto
24. ?>
25. <table>
26. <tr>
27. <?php
28. $i = 1;
29. while($row = mysql_fetch_array($result)){
30. ?>
31. <td>
32. <a href="upload/<?php echo $row['nama_file'];?>" class="fancy">
33. <img src="upload/<?php echo $row['nama_file'];?>" alt="" width="200" borde
r="0"/>
34. </a>
35. <br/><?php echo $row['deskripsi'];?>
36. </td>
37. <?php
38. if($i % 3 == 0){
39. echo '</tr><tr>';
40. }
41. $i++;
42. }
43. ?>
44. </tr>
45. </table>
46. </body>
47. </html>

Sekarang buka browser dan buka halaman http://localhost/galeri/form.html. Upload beberapa file
dan lihat hasilnya.

Selamat Mencoba.

47

You might also like