diktat php
TRANSCRIPT
DIKTAT PHP
What is PHP ?PHP kepanjangan dari Hypertext Preprocessor, adalah Script pemrograman yang di embedded pada program HTML.
For the example :
<html><head><title>latihan pertama</title></head>
<body><center>
selamat belajar php.<br>
<?php printf("tgl. sekarang: %s ", date("d f y")); ?>
</center></body></html>
Output :
Program diatas menggunakan script php yang diawali dengan tag pembuka<?php dan diakhiri dengan tag penutup ?>untuk menampilkan informasi yang akan di tampilkan di dalam browser menggunakan sintak printf. Contoh :
printf("tgl. sekarang: %s ", date("d f y"));
fungsi %s”,date(“d f y”)); adalah script yang digunakan untuk menampilkan tanggal berapa sekarang.
Penggunaan Variabel :
1
Selamat belajar phpTgl. Sekaranag 15 januari 2004
<HTML><HEAD><TITLE>Latihan Variabel</TITLE></HEAD><BODY>
<?php $nama = "Dian SAstro"; printf("Halo, %s", $nama);?>
</BODY></HTML>
output :
untuk menampilkan nama Dian Sastro menggunakan variabel nama, dimana penulisan scriptnya adalah %s,$nama
Pemasukkan DataScript php juga dapat digunakan untuk memasukkan data seperti
program javascript dimana hasil tampilannya memanggil program yang lainnya.Program dibawah ini latinput.php memanggil program salam.php<HTML><HEAD><TITLE>Latihan Pemasukan Data</TITLE></HEAD>
<FORM ACTION=salam.php METHOD=get> Silakan Masukkan nama Anda:<BR> <INPUT TYPE=TEXT NAME=nama_pemakai><BR> <INPUT TYPE=SUBMIT Value="Kirim"></FORM></BODY></HTML>Output :
Sintak <Form Action=salam.php method=get> adalah script yang digunnakan untuk pemanggilan terhadap program salam.php.
2
Silahkan Masukkan nama Anda :
David
Halo, Dian Sastro
Kirim
Bila textbox diisi dengan nama, kemudian button kirim di klik maka tampilannya adalah sebagai berikut:
Adapun contoh program salam.php adalah sebagai berikut :<html><head><title>latihan menampilkan variabel</title></head><body>
<?php print("selamat belajar php, <b>$nama_pemakai</b>"); ?></body></html>
untuk menampilkan nama yang sudah diisi pada program latinput.php adalahprint("selamat belajar php, <b>$nama_pemakai</b>");
Penggunaan PengulanganPenggunakan If
Gambar Diagram alir IF<HTML><HEAD><TITLE>Contoh Penentuan Diskon</TITLE>
3
Selamat Belajar PHP, David
ekspresi
pernyataan
F
T
</HEAD><BODY>
<?php $total_beli = 200000; $keterangan = "Tak dapat diskon";
if ($total_beli >= 100000) $keterangan = "Dapat diskon";
print("$keterangan <BR\n"); ?>
</BODY></HTML>
Output :
Penggunaan If dengan menginputkan data :
<HTML><HEAD><TITLE>Contoh Penentuan Diskon</TITLE></HEAD><BODY>
<FORM> Besar Pembelian: <INPUT TYPE=TEXT NAME=total_beli><BR><BR> <INPUT TYPE=SUBMIT VALUE="Tentukan Diskon"> </FORM>
<?php if (isset($total_beli)) { $total_beli = intval($total_beli); $diskon = 0; if ($total_beli >= 100000) $diskon = intval(0.1 * $total_beli);
printf("Diskon = %d <BR>\n", $diskon);
4
Dapat Diskon
printf("Pembayaran = %d <BR>\n", $total_beli - $diskon); }
?></BODY></HTML>
Output :
Besar Pembelian:
Bila program tersebut dijalankan dan diisi nilai dari besar pembelian = 100000Maka hasilnya adalah :
Diskon = 10000Pembayaran = 90000
Penggunaan If – elseif
Gambar diagram alir IF_else<HTML><HEAD><TITLE>Latihan Menentukan Nama Hari</TITLE></HEAD>
5
ekspresi
Pernyataan 1
F
T
Pernyataan 2
Tentukan Diskon
Hari ini: <?php $nama_hari = date("l"); if ($nama_hari == "Sunday") print("Minggu"); elseif ($nama_hari == "Monday") print("Senin"); elseif ($nama_hari == "Tuesday") print("Selasa"); elseif ($nama_hari == "Wednesday") print("Rabu"); elseif ($nama_hari == "Thursday") print("Kamis"); elseif ($nama_hari == "Friday") print("Jumat"); else print("Sabtu");
?>
</BODY></HTML>
Output :
Penggunaan Switch :
6
Hari ini : Kamis
Pernyataan 1
F
T
Pernyataan 2
Ekspresi==Ekspresi_cas
e_1
Ekspresi==Ekspresi_cas
e_2
T
F
.....
.
Pernyataan_n
Gambar Diagram Alir Switch
<HTML><HEAD><TITLE>Latihan Menentukan Nama Hari</TITLE></HEAD>
Hari ini: <?php $nama_hari = date("l"); switch ($nama_hari) { case "Sunday" : print("Minggu"); break; case "Monday" : print("Senin"); break; case "Tuesday" : print("Selasa"); break; case "Wednesday" : print("Rabu");
7
break; case "Thursday" : print("Kamis"); break; case "Friday" : print("Jumat"); break; default : print("Sabtu"); } ?></BODY></HTML>
Output :
Penggunaan While :
Sesudah pernyataan whileGambar Diagram Alir While
<HTML><HEAD><TITLE>Menampilkan Bilangan 1-25</TITLE></HEAD><BODY> <?php $bilangan = 1; while ($bilangan <= 25) { print("$bilangan <BR>\n");
$bilangan++;
8
Hari ini : Kamis
ekspresi
pernyataan
F
T
} ?></BODY></HTML>Output :
Penggunaan Do While :
Sesudah pernyataan do_while
Gambar Diagram alir Do While
<HTML><HEAD><TITLE>Menampilkan Bilangan 1-25</TITLE></HEAD><BODY>
<?php $bilangan = 1; do { print("$bilangan <BR>\n"); $bilangan++; } while ($bilangan < 26); ?>
9
1 .... 25
ekspresi
pernyataan
F
T
</BODY></HTML>
Output
Penggunaan For :
<HTML><HEAD><TITLE>Menampilkan Bilangan 1-25</TITLE></HEAD><BODY> <?php for ($bilangan = 1; $bilangan <= 25; $bilangan++) print("$bilangan <BR>\n"); ?></BODY></HTML>
Output
Penggunaan Break
<HTML><HEAD><TITLE>Contoh untuk Memperlihatkan Efek break</TITLE></HEAD><BODY>
<?php for($i = 1; $i <= 25; $i++) { print("$i <BR>\n");
if ($i == 10) break; }
10
1 .... 25
1 .... 25
print("Selesai <BR>\n"); ?>
</BODY></HTML>
Output :
Penggunaan Array
<HTML><HEAD><TITLE>Contoh Array</TITLE></HEAD><BODY> <?php $kota = array ("Yogya", "Solo", "Bandung", "Bogor"); print("Elemen berindeks 0: $kota[0] <BR>\n"); print("Elemen berindeks 1: $kota[1] <BR>\n"); print("Elemen berindeks 2: $kota[2] <BR>\n"); print("Elemen berindeks 3: $kota[3] <BR>\n"); ?></BODY></HTML>
Output :
11
12 .... 10
selesai
Mengetahui jumlah array :<HTML><HEAD><TITLE>Contoh Array</TITLE></HEAD><BODY> <?php $kota = array ("Yogya", "Solo", "Bandung", "Bogor");
$jumlah = count($kota); for ($i = 0; $i < $jumlah; $i++) print("Elemen berindeks $i: $kota[$i] <BR>\n"); ?></BODY></HTML>
Output sama dengan diatas
Operasi pointer internal pada array
<HTML><HEAD><TITLE>Operasi Pointer Internal pada Array</TITLE></HEAD><BODY> <?php $data["A"] = "Sangat Baik"; $data["B"] = "Baik"; $data["C"] = "Cukup"; $data["F"] = "Gagal";
// Contoh penggunaan current dan key print("<B>Setelah pendefinisian array </B><BR>\n");
$indeks = key($data); $nilai = current($data); print("Indeks sekarang : $indeks <BR>\n");
12
Elemen berindeks 0 : YogyaElemen berindeks 1 : SoloElemen berindeks 2 : BandungElemen berindeks 3 : Bogor
print("Nilai elemen sekarang : $nilai <BR>\n");
// Contoh penggunaan end $nilai = end($data); // Ke elemen terakhir $indeks = key($data);
print("<B>Setelah pemanggilan end </B><BR>\n"); print("Indeks sekarang : $indeks <BR>\n"); print("Nilai elemen sekarang : $nilai <BR>\n");
// Contoh penggunaan prev $nilai = prev($data); // Ke elemen sebelumnya $indeks = key($data);
print("<B>Setelah pemanggilan prev </B><BR>\n"); print("Indeks sekarang : $indeks <BR>\n"); print("Nilai elemen sekarang : $nilai <BR>\n");
// Contoh penggunaan reset $nilai = reset($data); // Ke elemen pertama $indeks = key($data);
print("<B>Setelah pemanggilan reset </B><BR>\n"); print("Indeks sekarang : $indeks <BR>\n"); print("Nilai elemen sekarang : $nilai <BR>\n");
// Contoh penggunaan next $nilai = next($data); // Ke elemen berikutnya $indeks = key($data);
print("<B>Setelah pemanggilan next </B><BR>\n"); print("Indeks sekarang : $indeks <BR>\n"); print("Nilai elemen sekarang : $nilai <BR>\n");
?></BODY></HTML>
Output :
13
Setelah pendefinisian array Indeks sekarang : A Nilai elemen sekarang : Sangat Baik
Setelah pemanggilan end
Indeks sekarang : F Nilai elemen sekarang : Gagal
Setelah pemanggilan prev
Indeks sekarang : C Nilai elemen sekarang : Cukup
Setelah pemanggilan reset
Indeks sekarang : A Nilai elemen sekarang : Sangat Baik
Setelah pemanggilan next
Indeks sekarang : B Nilai elemen sekarang : Baik
Penggunaan Array dengan Dua Dimensi
<HTML><HEAD><TITLE>Array Berdimensi Dua</TITLE></HEAD><BODY> <?php // Membuat array berdimensi dua
$peserta = array ("PHP" => array("Anto", "Edi", "Sita"), "Delphi" => array("Anto", "Rina"), "MySQL" => array("Nana", "Dito", "Ika", "Setia"), "C++" => array("Ika", "Sari", "Joned"), "PERL" => array("Nana", "Irvan"));
// Menampilkan isi array while ( list($indeks1, $nilai1) = each($peserta) ) { print("Peserta $indeks1 : <BR>\n");
$nomor = 1; while ( list($indeks2, $nilai2) = each($nilai1) ) { print("$nomor. $nilai2 <BR>\n");
14
$nomor++; } } ?>
</BODY></HTML>
Output :
15
Peserta PHP : 1. Anto 2. Edi 3. Sita
Peserta Delphi : 1. Anto 2. Rina
Peserta MySQL : 1. Nana 2. Dito 3. Ika 4. Setia
Peserta C++ : 1. Ika 2. Sari 3. Joned
Peserta PERL : 1. Nana 2. Irvan
Penggunaan Fungsi tentang Waktu
<HTML><HEAD><TITLE>Contoh Memeriksa Tanggal</TITLE></HEAD><BODY> <FORM ACTION=cektgl2.php METHOD=get> Tanggal Lahir: <SELECT name=tanggal> <OPTION VALUE=0 SELECTED >Tanggal <?php //Bentuk pilihan tanggal 1 sampai dengan 31 for($i = 1; $i < 32; $i++) print("<OPTION VALUE=$i >$i"); ?> </OPTION></SELECT>
<SELECT NAME=bulan> <OPTION VALUE=0 SELECTED >Bulan <OPTION VALUE=1>Januari <OPTION VALUE=2>Pebruari <OPTION VALUE=3>Maret <OPTION VALUE=4>April <OPTION VALUE=5>Mei <OPTION VALUE=6>Juni <OPTION VALUE=7>Juli <OPTION VALUE=8>Agustus <OPTION VALUE=9>September <OPTION VALUE=10>Oktober <OPTION VALUE=11>November
16
<OPTION VALUE=12>Desember </OPTION></SELECT>
<SELECT name=tahun> <OPTION VALUE=0 SELECTED >Tahun <?php // Bentuk pilihan tahun sebanyak 120 tahun // dimulai tahun sekarang $sekarang = (integer) date("Y"); for($i = $sekarang; $i > ($sekarang - 120); $i--) print("<OPTION VALUE=$i >$i <BR>\n"); ?> </OPTION></SELECT> <BR><BR> <INPUT TYPE=SUBMIT VALUE="Cek"> </FORM></BODY></HTML>Output :
Bila Tanggal Lahir diisi kemudian button CEk di klik maka hasilnya akan menjadi :
Program tersebut diatas memanggil program cektgl2.php ketika button Cek di klik.Program cektgl2.php adalah sebagai berikut :
<?php if (isset($tahun)) if ( ($tanggal == 0) OR ($bulan == 0) OR ($tahun == 0) ) print("Tanggal, bulan, dan tahun harap diisi");
Tanggal Lahir:
17
Ok. Anda lahir pada 5/5/2003
else if (checkdate($bulan, $tanggal, $tahun)) print("Ok. Anda lahir pada $tanggal/$bulan/$tahun"); else print("$tanggal/$bulan/$tahun TIDAK VALID"); ?>
Fungsi Date :<HTML><HEAD><TITLE>Contoh date</TITLE></HEAD><BODY> <?php printf("1) date(\"D, d F Y\") : %s<BR>\n", date("D, d F Y"));
printf("2) date(\"g A\") : %s<BR>\n", date("g A"));
printf("3) date(\"dS\") : %s<BR>\n", date("dS")); ?></BODY></HTML>Output :
Fungsi Date dengan dua ArgumenHTML><HEAD><TITLE>Fungsi Date dengan 2 Argumen</TITLE></HEAD><BODY> <?php $sekarang = time();
18
1) date("D, d F Y") : Thu, 15 January 20042) date("g A") : 2 AM3) date("dS") : 15th
$nanti = $sekarang + 24 * 60 * 60; print("Tanggal sekarang : " . date("d/m/Y", $sekarang) . "<BR>\n"); print("1 hari berikutnya : " . date("d/m/Y", $nanti)); ?></BODY></HTML>Output :
Aplikasi Buku Tamu :
Script : bukutamu.php
<HTML><HEAD><TITLE>BUKU TAMU</TITLE></HEAD><BODY> <FORM ACTION=simpan.php METHOD=get> Nama : <INPUT TYPE=TEXT NAME=nama><P>
Jenis kelamin : <BR> <INPUT TYPE=RADIO VALUE="P" CHECKED NAME="sex">Wanita<BR> <INPUT TYPE=RADIO VALUE="L" NAME="sex">Pria<P>
E-mail : <INPUT TYPE=TEXT NAME=email><P>
Minat : <BR> <INPUT TYPE=CHECKBOX NAME=minat1 >Bonsai<BR> <INPUT TYPE=CHECKBOX NAME=minat2 >Tanaman Hias<BR> <INPUT TYPE=CHECKBOX NAME=minat3 >Musik Jazz<BR> <INPUT TYPE=CHECKBOX NAME=minat4 >Pemrograman<P>
Komentar : <TEXTAREA ROWS=4 COLS=40 NAME=komentar> </TEXTAREA> <P> <INPUT TYPE=SUBMIT VALUE="Simpan"> </FORM>
</BODY></HTML>
19
Tanggal sekarang : 15/01/20041 hari berikutnya : 16/01/2004
Output :
Nama :
Jenis kelamin :
Wanita
Pria
E-mail :
Minat :
Bonsai
Tanaman Hias
Musik Jazz
Pemrograman
Komentar :
20
Setelah program diatas di jalankan dan form tersebut diisi maka bukutamu.php akan memanggil program simpan.php, ketika button simpan di klik.
Adapun program simpan.php adalah sebagai berikut :
<HTML><HEAD><TITLE>BUKU TAMU</TITLE></HEAD><BODY>
<?php if ( empty($nama) OR empty($email) ) { print("Data nama, e-mail, dan komentar harap diisi"); exit; }
// Cek kotak cek
if (isset($minat1)) $kode_minat1 = "v"; else $kode_minat1 = "-";
if (isset($minat2)) $kode_minat2 = "v"; else $kode_minat2 = "-";
if (isset($minat3)) $kode_minat3 = "v"; else $kode_minat3 = "-";
if (isset($minat4)) $kode_minat4 = "v"; else
21
$kode_minat4 = "-";
$kode_minat = $kode_minat1 . $kode_minat2 . $kode_minat3 . $kode_minat4;
// Simpan $pegangan = fopen("BUKUTAMU.DAT", "a"); fputs($pegangan, $nama . "\n"); fputs($pegangan, $sex . "\n"); fputs($pegangan, $email . "\n"); fputs($pegangan, $kode_minat . "\n"); fputs($pegangan, $komentar . "\n"); fputs($pegangan, "*-*\n"); fclose($pegangan);
print("Halo, $nama. Data Anda sudah disimpan <BR>\n"); print("Terima kasih. <BR>\n");
?>
</BODY></HTML>
keluaran dari program diatas ketika button simpan di klik adalah
22
Halo, david. Data Anda sudah disimpan Terima kasih.
Bila ingin membaca file yang sudah di simpan maka program yang dibutuhkan adalah program bacatamu.php sebagai berikut :
<HTML><HEAD><TITLE>Isi Buku Tamu</TITLE></HEAD><BODY> <?php $no_data = 1; $pegangan = fopen("BUKUTAMU.DAT", "r"); while ( ! feof($pegangan) ) { $nama = fgets($pegangan, 255); if ($nama == FALSE) break;
$kelamin = trim(fgets($pegangan, 255)); $email = trim(fgets($pegangan, 255)); $kode_minat = trim(fgets($pegangan, 255));
$ket = ""; while ( ! feof($pegangan) ) { $tmp = trim(fgets($pegangan, 255)); if ($tmp == "*-*") break;
$ket .= ($tmp . "<BR>\n"); }
$minat = ""; for ($i = 0; $i < 4; $i++) { if ( substr($kode_minat,$i,1) == "v" ) switch ($i) { case 0 : $minat .= "Bonsai<BR>\n"; break;
23
case 1 : $minat .= "Tanaman Hias<BR>\n"; break; case 2 : $minat .= "Musik Jazz<BR>\n"; break; case 3 : $minat .= "Pemrograman<BR>\n"; break; } }
// Tampilkan print("<B>Data ke-$no_data :</B> <BR>\n"); printf("Nama : %s <BR>\n", $nama); printf("Kelamin : %s <BR>\n", $kelamin == "L" ? "Pria" : "Wanita" ); printf("E-mail : %s <BR>\n", $email); print("<BR>\n"); if ( ! empty($minat) ) { print("Minat : <BR>\n"); print("$minat <BR>\n"); }
printf("Komentar : %s <BR>\n", $ket); print("<BR>\n");
$no_data++; // Pencacah nomor urut data } ?>
</BODY></HTML>
24
Output :
25
Data ke-1 : Nama : erly Kelamin : Wanita E-mail : [email protected]
Minat : Musik JazzPemrograman
Komentar : Selamat belajar PHP
Data ke-2 : Nama : david Kelamin : Pria E-mail : [email protected]
Minat : Pemrograman
Komentar : Selamat mencoba PHP Program
Mengakses Database Via ODBC (Open Database Connectivity)
1. Membuat DSN (Data Source Name)DSN dapat dibuat melalui ODBC Data Source (32bit) yang mendapat pada Control Panel Windows.
26
Untuk membuat DSN
a. Setelah jendela control panel dibuka, klik pada . maka tampilannya akan menjadi :
b. Klik pada MS. Access Database dan klik OK. maka tampilannya akan menjadi sebagai berikut :
27
c. Pilih Microsoft Access driver (*.mdb) dan klik tombol Finish. anda akan melihat tampilan berjudul ODBC Microsoft Setup.
d. Lakukan pengisian Data Source name dan description sebagai berikut :
e. Kilik tombol Select..... maka tampilannya akan seperti gambar dibawah ini
28
f. Pilih bukualmt.mdb, pada directory C:/XITAMI/WEBPAGES/bukualmt.mdb
2. Mengakses Database Melalui PHPDatabase yang digunakan diberikan nama: bukualmt.mdb, isi dari database tersebut hanya terdiri dari tabel daftar dan tabel kota sebagai contoh lihat tabel dibawah berikut ini :
29
3. Fungsi odbc_connectFungsi ini berguna untuk menghubungkan nama sumber data ODBC. Format pemanggilannya :
Odbc_connect (nama_sumber_data, Nama_pemakai, password)
Argument pertama berupa DSN. Argumen kedua berupa nama pemakai database dan argumen ketiga berupa password pemakai. Bila sumber data tidak dilengkapi pemakai dan password, keduanya perlu diisi dengan string kosong.
4. Fungsi odbc_closeFunsi ini berguna untuk menutup hubungan dengan sumber data ODBC. Format pemanggilannya :
Odbc_close (pengenal_hubungan)
Pengenal_hubungan adalah nilai yang dihasilkan oleh odbc_connect.
Contoh program untuk kedua fungsi diatas adalah sebagai berikut :
<HTML><TITLE>Tes ODBC</TITLE><BODY><?php $pemakai = ""; $password = ""; $buku_alamat = odbc_connect("contoh_mdb", $pemakai, $password); if (! $buku_alamat) die("Database tak dapat dibuka");
odbc_close($buku_alamat);
print("Sukses");?></BODY></HTML>
bila Output dari program diatas “Sukses” berarti program tersebut telah berhasil koneksi ke Database.
5. Fungsi-fungsi lainnya :
30
Fungsi Format PemanggilannyaKeterangan
Odbc_close_all Odbc_close_all () Untuk menutup semua hubungan dengan sumber data ODBC
Odbc_do Odbc_do (pengenal_hubungan, String_query)
Untuk mengeksekusi permintaan yang terdapat pada string_queryterhadap hubungan yang dinyatakan dalam pengenal_hubungan.
Odbc_num_fields
Odbc_num_fields (pengenal_hasil)
Untuk memperoleh jumlah field yang terdapat pada suatu hasil.
Odbc_num_rows
Odbc_num_rows (pengenal_hasil)
Untuk memperoleh jumlah record yang trerdapat pada perintah INSERT, DELETE, dan UPDATE
Odbc_field_name
Odbc_field_name (pengenal_hasil, Nomor_kolom)
Untuk memperoleh nama kolom.
Odbc_field_len Odbc_field_len (pengenal_hasil, Nomor_kolom)
Untuk memperoleh panjang kolom.
Odbc_field_type
Odbc_field_type (pengenal_hasil, Nomor_kolom)
Untuk memperoleh tipe kolom.
Odbc_fetch_row
Odbc_fetch_row (pengenal_hasil [ , Nomor_baris])
Untuk memperoleh sebuah baris dari suatu himpunan hasil.
Odbc_fetch_into
Odbc_fetch_into (pengenal_hasil Nomor_baris, Array_field)
Untuk memperoleh sebuah baris dari suatu himpunan hasil, tetapi hasilnya dikirim ke array.
31
Odbc_result Odbc_result (pengenal_hasil Kolom)
Untuk memperoleh nilai dari sebuah kolom pada baris sekarang.
Contoh program membaca berkas ms. access :<HTML><TITLE>Membaca Berkas Microsoft Access</TITLE><BODY><?php $pemakai = ""; $password = ""; $buku_alamat = odbc_connect("contoh_mdb", $pemakai, $password); if (! $buku_alamat) die("Database tak dapat dibuka");
$permintaan = "SELECT daftar.nama, " . "daftar.alamat, kota.nama_kota " . "FROM daftar, kota " . "WHERE daftar.id_kota = kota.id_kota " . "ORDER BY daftar.nama"; $hasil = odbc_do($buku_alamat, $permintaan); // Buat tabel print("<TABLE BORDER=2>\n"); // Peroleh jumlah kolom $jum_field = odbc_num_fields($hasil); print("Hasil Permintaan: <B>$permintaan</B> :<BR>\n"); // Peroleh data dan tampilkan while (odbc_fetch_row($hasil)) { // Mengawali baris print("<TR>\n"); for($i = 1; $i <= $jum_field; $i++) { $data = odbc_result($hasil, $i); print("<TD>$data</TD>"); } // Menutup baris print("</TR>\n"); } // Tutup tabel
32
print("</TABLE>\n"); odbc_close($buku_alamat);?></BODY></HTML>
Output program diatas :
Hasil Permintaan: SELECT daftar.nama, daftar.alamat, kota.nama_kota FROM daftar, kota WHERE daftar.id_kota = kota.id_kota ORDER BY daftar.nama :
Arif Rahman Jl. Jalak 92 Yogyakarta
Jaja Mahmud Jl. Sukarno 1278A Bandung
Karyadimeja Pakuratan RT 23/ RW 45 Semarang
Rini Saptorini Jl. Kuarasan 23 Yogyakarta
Siti Mutmainah Jl. Cakra I/12 Kudus
Contoh program membaca struktur tabel :<HTML><TITLE>Membaca Struktur Tabel</TITLE><BODY><?php $pemakai = ""; $password = ""; $buku_alamat = odbc_connect("contoh_mdb", $pemakai, $password); if (! $buku_alamat) die("Database tak dapat dibuka"); $permintaan = "SELECT * FROM daftar"; $hasil = odbc_do($buku_alamat, $permintaan); $jum_field = odbc_num_fields($hasil); for($i = 1; $i <= $jum_field; $i++) { $nama_field = odbc_field_name($hasil, $i); $tipe_field = odbc_field_type($hasil, $i); $panjang_field = odbc_field_len($hasil, $i);
print("$nama_field - $tipe_field - " . "$panjang_field <BR>\n"); } odbc_close($buku_alamat);?>
33
Output :
ID - COUNTER - 10 nama - VARCHAR - 50 alamat - VARCHAR - 50 id_kota - INTEGER - 10 telpon - VARCHAR - 20
</BODY></HTML>
contoh program menggunakan odbc_result_all<HTML><TITLE>Contoh odbc_result_all</TITLE><STYLE TYPE="text/css"> TH { color: white; background-color: blue } TD { background-color: silver }</STYLE><BODY>
<?php $pemakai = ""; $password = ""; $buku_alamat = odbc_connect("contoh_mdb", $pemakai, $password); if (! $buku_alamat) die("Database tak dapat dibuka");
$permintaan = "SELECT daftar.nama, " . "daftar.alamat, kota.nama_kota " . "FROM daftar, kota " . "WHERE daftar.id_kota = kota.id_kota " . "ORDER BY daftar.nama";
$hasil = odbc_do($buku_alamat, $permintaan);
odbc_result_all($hasil, "BORDER=2");
odbc_close($buku_alamat);?>
</BODY></HTML>
Output :
nama alamat nama_kota
Arif Rahman Jl. Jalak 92 Yogyakarta
Jaja Mahmud Jl. Sukarno 1278A Bandung
Karyadimeja Pakuratan RT 23/ RW 45 Semarang
34
Rini Saptorini Jl. Kuarasan 23 Yogyakarta
Siti Mutmainah Jl. Cakra I/12 Kudus
Contoh program menambah data :<HTML><TITLE>Contoh Menambah Data Via ODBC</TITLE><BODY>
<?php $pemakai = ""; $password = ""; $buku_alamat = odbc_connect("contoh_mdb", $pemakai, $password); if (! $buku_alamat) die("Database tak dapat dibuka");
$permintaan = "INSERT INTO daftar " . " (nama, alamat, id_kota, telpon) " . " VALUES ('Dessy', 'Jl. Cokro 2', '274',' ')"; if (odbc_do($buku_alamat, $permintaan)) print("Data sudah direkam"); else print("Data gagal direkam");
odbc_close($buku_alamat);?>
</BODY></HTML>
DASAR-DASAR MySQL
Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-
tabel yang secara logik merupakan struktur dua dimensi terdiri dari baris
(row atau record) dan
kolom(column atau field). Sedangkan dalam sebuah database dapat terdiri
dari beberapa table. Beberapa tipe data dalam MySQL yang sering dipakai:
35
MEMBUAT DATABASE DAN TABLE
Untuk masuk ke dalam program MySQL pada prompt jalankan
perintah berikut ini: C:\> MYSQL (Enter)
Kemudian akan masuk kedalam MySQL seperti tampilan dibawah ini:
Bentuk prompt “mysql>” adalah tempat menuliskan perintah-
perintah MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-
koma “;” .
Cara untuk membuat sebuah database baru adalah dengan perintah:
create database namadatabase;
Contoh:
create database privatdb;
36
Untuk membuka sebuah database dapat menggunakan perintah berikut
ini:
use namadatabase;
Contoh:
use privatdb;
Perintah untuk membuat tabel baru adalah:
create table namatabel
(
struktur
);
Contoh:
Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama,
email, alamat, kota. Sedangkan strukturnya seperti tabel dibawah ini:
Perintah MySQL untuk membuat tabel seperti diatas adalah:
create table anggota(
nomor int(6) not null primary key,
nama char(40) not null,
email char(255) not null,
alamat char(80) not null,
37
kota char(20) not null
);
Sedangkan data yang akan diisikan dalam tabel anggota adalah
sebagai berikut:
Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah
sebagai
berikut:
insert into namatabel values(kolom1, kolom2, kolom3,…);
Contoh:
insert into anggota values(‘1’,’Arini
Nurillahi’,’[email protected]’,’Jl.Lebak Rejo
7’,’Surabaya’);
MENAMPILKAN ISI TABLE
Isi tabel dapat ditampilkan dengan menggunakan perintah SELECT,
cara penulisan perintah SELECT adalah:
select kolom from namatable;
38
Contoh:
Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota
select nomor, nama from anggota;
Untuk menampilkan semua kolom(field) pada tabel anggota
select * from anggota;
Untuk menampilkan semua kolom pada tabel anggota yang berada
pada kota ‘Surabaya’
select * from anggota where kota=’Surabaya’;
Untuk menampilkan semua kolom pada tabel anggota dengan urut
nama
select * from anggota order by nama;
Untuk menghitung jumlah record pada tabel anggota
select count(*) from anggota;
Untuk menampilkan kota pada tabel anggota
select kota from anggota;
Untuk menampilkan kota dengan tidak menampikan kota yang sama
pada tabel
anggota
39
select distinct kota from anggota;
Untuk menampilkan nama dan email yang mempunyai email di
‘yahoo.com’
select nama,email from anggota where email like
‘%yahoo.com’;
MENGHAPUS RECORD
Untuk menghapus suatu record dengan kriteria tertentu digunakan
perintah sebagai berikut:
delete from namatabel where kriteria;
Contoh:
Menghapus record dari tabel anggota yang bernomor ‘3’
delete from anggota where nomor=’3’;
MEMODIFIKASI RECORD
Untuk memodifikasi (merubah) isi record tertentu adalah dengan
menggunakan perintah sebagai berikut:
update namatabel set kolom1=nilaibaru1, kolom2=nilaibaru2
… where kriteria;
Contoh:
Merubah e-mail dari anggota yang bernomor 12 menjadi
dalam tabel anggota.
update anggota set email=’[email protected]’ where
nomor=’12’;
MENGHUBUNGKAN PHP DENGAN MySQL
Agar script PHP yang kita buat dapat berhubungan dengan database
dari MySQL dapat menggunakan fungsi berikut ini:
File utama.php:
<?php
40
function open_connection()
{
$host=”localhost”;
$username=”root”;
$password=””;
$databasename=”privatdb”;
$link=mysql_connect($host,$username,$password) or die
("Database tidak dapat
dihubungkan!");
mysql_select_db($databasename,$link);
return $link;
}
?>
Isi dari variabel $host, $username, $password dan $databasename
dapat disesuaikan sesuai dengan setting pada MySQL server yang ada.
Contoh:
Menampilkan data anggota yang telah dibuat dengan menggunakan
script PHP.
File contoh13.php:
<?php
// ----- ambil isi dari file utama.php
require("utama.php");
// ----- hubungkan ke database
$link=open_connection();
// ----- menentukan nama tabel
$tablename="anggota";
// ----- perintah SQL dimasukkan ke dalam variable string
$sqlstr="select * from $tablename";
// ------ jalankan perintah SQL
$result = mysql_query ($sqlstr) or die ("Kesalahan pada
perintah SQL!");
41
// ------ putus hubungan dengan database
mysql_close($link);
// ------ buat tampilan tabel
echo("<table width=100% cellspacing=1 cellpadding=2
bgcolor=#000000>");
echo("<tr><td bgcolor=#CCCCCC>No</td><td
bgcolor=#CCCCCC>Nama</td><td
bgcolor=#CCCCCC>E-Mail</td><td
bgcolor=#CCCCCC>Alamat</td><td
bgcolor=#CCCCCC>Kota</td></tr>");
// ------ ambil isi masing-masing record
while ($row = mysql_fetch_object ($result))
{
// ----- mengambil isi setiap kolom
$nomor=$row->nomor;
$nama=$row->nama;
$email=$row->email;
$alamat=$row->alamat;
$kota=$row->kota;
// ------ menampilkan di layar browser
echo("<tr><td bgcolor=#FFFFFF>$nomor</td><td
bgcolor=#FFFFFF>$nama</td><td
bgcolor=#FFFFFF>$email</td><td
bgcolor=#FFFFFF>$alamat</td><td
bgcolor=#FFFFFF>$kota</td></tr>");
}
echo("</table>");
?>
42
MODUL : FUNGSI-FUNGSI UMUM
FUNGSI STRING
Fungsi string digunakan memanipulasi string untuk berbagai macam
kebutuhan. Disini akan dibahas beberapa fungsi string yang sering
digunakan dalam membuat program aplikasi web.
AddSlashes
Digunakan untuk menambahkan karakter backslash ( \ ) pada suatu
string. Hal ini penting digunakan pada query string untuk database,
misalkan pada MySQL. Beberapa karakter yang akan ditambahkan tanda
backslahses adalah karakter tanda petik satu ( ‘ ), karakter petik dua ( “ ),
backslash ( \ ) dan karakter NULL. Sintaks:
addslashes(string)
StripSlashes
Digunakan untuk menghilangkan karakter backslash ( \ ) pada suatu string.
Sintaks:
string stripslashes(string)
Crypt
43
Digunakan untuk meng-encrypt dengan metode DES suatu string. Fungsi
ini sering digunakan untuk mengacak string password sebelum disimpan
dalam database. Dalam penggunaan fungsi crypt ini dapat ditambahkan
parameter string ‘salt’. Parameter ‘salt’ ini ditambahkan untuk
menentukan basis pengacakan. ‘Salt’ string terdiri atas 2 karakter. Jika
‘salt’ string tidak ditambahkan pada fungsi crypt maka PHP akan
menentukan sendiri ‘salt’ string tersebut secara acak. Sintaks:
crypt(string [ , salt ] )
Echo
Digunakan untuk mencetak isi suatu string atau argumen. Sintaks:
echo( string argumen1, string argumen2 , ….)
Explode
Digunakan untuk memecah-mecah suatu string berdasarkan tanda
pemisah tertentu dan memasukkan hasilnya kedalam suatu variable
array. Sintaks:
explode(string pemisah , string [, int limit] )
Contoh:
$namahari = “minggu senin selasa rabu kamis jumat sabtu”;
$hari = explode(“ ”, $namahari);
Implode
Kegunaan fungsi ini adalah kebalikan daripada fungsi explode. Fungsi
implode digunakan untuk menghasilkan suatu string dari masing-masing
elemen suatu array. String yang dihasilkan tersebut dipisahkan oleh suatu
string telah yang ditentukan sebelumnya. Sintaks:
implode(string pemisah , array)
Strip_Tags
Digunakan untuk menghilangkan kode-kode tag HTML pada suatu string.
Sintaks:
striptags(string [, string tags yang tidak dihilangkan] )
StrLen
Digunakan untuk menghitung jumlah karakter suatu string. Sintaks:
44
strlen(string)
StrPos
Digunakan untuk mencari posisi pertama suatu sub string pada suatu
string. Fungsi ni biasanya digunakan untuk mencari suatu sub string
didalam suatu string. Sintaks:
strlen(string , sub string)
Str_Repeat
Digunakan untuk mengulang isi suatu string. Sintaks:
str_repeat(string , int jumlah perulangan)
StrToLower
Digunakan untuk merubah suatu string menjadi huruf kecil (lowercase).
Sintaks:
strtolower(string)
StrToUpper
Digunakan untuk merubah suatu string menjadi huruf besar (uppercase)
Sintaks:
strtoupper(string)
SubStr
Digunakan untuk mengambil suatu sub string dengan panjang tertentu
dari suatu string pada posisi tertentu pula. Sintaks:
substr(string, int posisi , int posisi)
Contoh:
substr(“abcdefg”,0,3); // mengasilkan string “abc”
substr(“abcdefg”,3,2); // menghasilkan string “de”
SubStr_Count
Digunakan untuk menghitung jumlah sub string dalam suatu string
Sintaks:
substr_count( string , string substring)
Contoh:
substr_count(“This is a test”,”is”); // menghasilkan nilai 2
UCFirst
45
Digunakan untuk mengganti karakter pertama pada suatu string menjadi
huruf besar. Sintaks:
ucfirst(string)
UCWords
Digunakan untuk mengganti karakter pertama pada setiap kata dalam
suatu string menjadi huruf besar. Sintaks:
ucwords(string)
FUNGSI DATE
Digunakan untuk mengambil tanggal dan jam. Hasil dari fungsi ini
adalah sebuah string yang berisi tanggal/jam sesuai dengan format yang
diinginkan. Format yang dikenal dalam fungsi date ini adalah sebagai
berikut:
a - "am" or "pm"
A - "AM" or "PM"
B - Swatch Internet time
d - day of the month, 2 digits with leading zeros; i.e. "01" to "31"
D - day of the week, textual, 3 letters; i.e. "Fri"
F - month, textual, long; i.e. "January"
g - hour, 12-hour format without leading zeros; i.e. "1" to "12"
G - hour, 24-hour format without leading zeros; i.e. "0" to "23"
h - hour, 12-hour format; i.e. "01" to "12"
H - hour, 24-hour format; i.e. "00" to "23"
i - minutes; i.e. "00" to "59"
I (capital i) - "1" if Daylight Savings Time, "0" otherwise.
j - day of the month without leading zeros; i.e. "1" to "31"
l (lowercase 'L') - day of the week, textual, long; i.e. "Friday"
L- boolean for whether it is a leap year; i.e. "0" or "1"
m - month; i.e. "01" to "12"
M - month, textual, 3 letters; i.e. "Jan"
n - month without leading zeros; i.e. "1" to "12"
s - seconds; i.e. "00" to "59"
46
S - English ordinal suffix, textual, 2 characters; i.e. "th", "nd"
t - number of days in the given month; i.e. "28" to "31"
T - Timezone setting of this machine; i.e. "MDT"
U - seconds since the epoch
w - day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday)
Y - year, 4 digits; i.e. "1999"
y - year, 2 digits; i.e. "99"
z - day of the year; i.e. "0" to "365"
Z - timezone offset in seconds (i.e. "-43200" to "43200")
Sintaks:
date(string format)
Contoh:
date(“Y-m-d”); // menghasilkan “2001-07-28”
date(“l, j F Y”); // menghasilkan “Saturday, 28 July 2001”
date(“H:i:s”); // menghasilkan “20:15:07”
FUNGSI MAIL
Digunakan untuk mengirimkan e-mail ke alamat e-mail tertentu. Sintaks:
mail(string tujuan , string subject , string isi [, string header]
);
Contoh:
$pengirim = “From: [email protected]”;
$tujuan = “[email protected]”;
$subject = “Pemberitahuan”;
$isi = “Ini adalah percobaan pengiriman e-mail dengan
menggunakan PHP”;
mail($to,$subject,$isi,$pengirim);
MODUL : COUNTER
47
Aplikasi web yang paling sederhana yang akan kita bahas adalah teknik
pembuatan counter dengan menggunakan PHP. Counter yang kita buat ini
adalah untuk menghitung berapa kali suatu halaman situs web telah
ditampilkan. Untuk menyederhanakannya maka counter ditampilkan dalam
bentuk teks bukan grafik. Algoritma:
Bila suatu halaman web ditampilkan maka terlebih dulu dibaca
isi file tertentu dan dibaca nilainya.
Tampilkan nilainya di layar browser
Tambahkan nilainya dengan 1
Simpan nilainya yang baru di file
Selesai
File counter.txt
0
File counter.php:
<?
$filecounter="counter.txt";
$fl=fopen($filecounter,"r+");
$hit=fread($fl,filesize($filecounter));
echo("<table width=250 align=center border=1
cellspacing=0 cellpadding=0
bordercolor=#0000FF><tr>");
echo("<td width=250 valign=middle align=center>");
echo("<font face=verdana size=2 color=#FF0000><b>");
echo("Anda pengunjung yang ke:");
echo($hit);
echo("</b></font>");
echo("</td>");
echo("</tr></table>");
fclose($fl);
$fl=fopen($filecounter,"w+");
48
$hit=$hit+1;
fwrite($fl,$hit,strlen($hit));
fclose($fl);
?>
MODUL : FORMULIR ONLINE
Salah satu bagian penting dari sebuah website adalah fasilitas pengisian
formulir online, baik untuk keperluan pemesanan, kontak ke pemilik
website atau untuk pendaftaran secara online. Pada bagian ini akan
dibahas pembuatan formulir online yang data isiannya dikirimkan ke
alamat e-mail tertentu. Algoritma:
1. Membuat formulir dengan menggunakan tag FORM pada
HTML. Dengan data yang dimasukkan adalah nama, e-mail,
alamat, kota, telepon dan pesanan.
2. Semua data masukkan disimpan dalam beberapa variable
dan dikirimkan ke sebuah file PHP lain yang fungsinya untuk
menerima variable yang dikirimkan oleh formulir.
3. Mengirimkan ke alamat e-mail tertentu yang isinya sesuai
yang diisikan pada formulir.
4. Selesai
49
File formulir1.php:<html>
<head>
<title>
Formulir Online
</title>
</head>
<body bgcolor="#FFFFFF">
<form action=formulir2.php method=POST>
<font face=verdana size=2 color="#000000">
<h3 align=left>
50
FORMULIR ONLINE
</h3>
</font>
<pre>
Nama : <input type=text name=nama size=15>
E-Mail : <input type=text name=email size=20>
Alamat : <input type=text name=alamat size=20>
Kota : <input type=text name=kota size=12>
Telepon : <input type=text name=telepon size=12>
Tulis pesanan Anda dibawah ini:
<textarea name=pesanan rows=5 cols=30>
</textarea>
<input type=submit value="Kirim"> <input type=reset
value="Hapus">
</pre>
</form>
</body>
</html>
File formulir2.php:
<html>
<head>
<title>
Formulir Online
</title>
</head>
<body bgcolor="#FFFFFF">
<font face=verdana size=2 color="#000000">
<h3 align=left>
FORMULIR ONLINE
</h3>
51
</font>
<pre>
<?php
// ----- buat header email
$to="[email protected]";
$subject="Formulir Online";
$from="From: $nama <$email>";
// ----- isi email
$content="";
$content.="Formulir Online\n";
$content.="Nama : $nama\n";
$content.="E-Mail : $email\n";
$content.="Alamat : $alamat\n";
$content.="Kota : $kota\n";
$content.="Telepon : $telepon\n";
$content.="Pesanan Anda:\n";
$content.="$pesanan\n";
// ----- kirim ke email
mail($to,$subject,$content,$from);
// ----- tampilkan pesan di browser
echo("Terima kasih, data yang Anda kirimkan sebagai
berikut:\n");
echo("Nama : $nama\n");
echo("E-Mail : $email\n");
echo("Alamat : $alamat\n");
echo("Kota : $kota\n");
echo("Telepon : $telepon\n");
echo("\n");
echo("Pesanan Anda:\n");
?>
</pre>
52
<?php
echo("$pesanan");
?>
</body>
</html>
MODUL VI: GUESTBOOK
Kali ini kita akan membahas cara pembuatan guestbook (buku
tamu). Langkah-langkah yang kita lakukan dalam pembuatan buku tamu
ini adalah:
1. Membuat table MySQL yang akan menyimpan isi buku tamu
2. Membuat form pengisian buku tamu
3. Membuat program untuk menerima masukan data dari form yang telah
kita buat
sebelumnya
4. Membuat program untuk menampilkan isi buku tamu.
Membuat table
Struktur table untuk menyimpan buku tamu adalah sebagai berikut:
Adapun perintah MySQL untuk membuat table guestbook dengan struktur
seperti diatas adalah:
53
CREATE TABLE guestbook (
id int(10) unsigned NOT NULL auto_increment,
posted date NOT NULL,
name varchar(80),
email varchar(128),
address varchar(128),
city varchar(80),
msg longblob,
PRIMARY KEY (id)
);
Membuat form pengisian buku tamuFile bukutamu1.php:
<html>
<head>
<title>
Guestbook
</title>
</head>
<body bgcolor="#99CCFF">
<font color="#000066" face=verdana>
<h3 align=left>
Signup Guestbook
</h3>
<form action="bukutamu2.php" method=POST>
<hr size=1 width=100% align=left>
<pre>
Name : <input type=text name=nama size=20>
E-Mail : <input type=text name=email size=30>
Address : <input type=text name=alamat size=30>
City : <input type=text name=kota size=25>
Message :
54
<textarea name=pesan rows=5 cols=30>
</textarea>
</pre>
<input type=submit value="Send"> <input type=reset
value="Reset">
</form>
</font>
<font color="#000066" face=verdana size=2>
<a href="bukutamu3.php">View Guestbook</a>
</font>
</body>
</html>
55
Program untuk menerima masukan data dari formFile bukutamu2.php:
<html>
<head>
<title>
Guestbook
</title>
</head>
<body bgcolor="#99CCFF">
56
<font color="#000066" face=verdana>
<h3 align=left>
Signup Guestbook
</h3>
<?php
require("utama.php");
$link=open_connection();
$tablename="guestbook";
$tgl=date("Y-m-d");
$pesan=addslashes($pesan);
$sqlstr="INSERT INTO $tablename
VALUES('','$tgl','$nama','$email','$alamat','$kota','$pesan')";
if (!mysql_query ($sqlstr))
{
echo("Invalid Query!<br>Please register again...<br>");
exit;
}
mysql_close($link);
echo("Thank you for signing up Guestbook...<p>");
?>
</font>
<font color="#000066" face=verdana size=2>
<a href="bukutamu3.php">View Guestbook</a> <a
href="bukutamu1.php">Sign Up</a>
</font>
</body>
</html>
57
Program untuk menampilkan isi buku tamuFile bukutamu3.php:
<html>
<head>
<title>
Guestbook
</title>
</head>
<body bgcolor="#99CCFF">
<font color="#000066" face=verdana size=1>
<h3 align=left>
View Guestbook
</h3>
<?php
require("utama.php");
$link=open_connection();
$tablename="guestbook";
$sqlstr="SELECT * FROM $tablename ORDER BY id DESC";
$result = mysql_query ($sqlstr) or die ("Invalid query");
while ($row = mysql_fetch_object ($result))
{
$name=$row->name;
58
$posted=substr($row->posted,8,2)."-".substr($row-
>posted,5,2)."-".substr($row-
>posted,0,4);
$email=$row->email;
$address=$row->address;
$city=$row->city;
$msg=stripslashes($row->msg);
echo("Posted : $posted<br>");
echo("Name : $name<br>");
echo("E-Mail : <a href=mailto:$email>$email</a><br>");
echo("Address : $address<br>");
echo("City : $city<br>");
echo("Message :<br>");
echo("$msg<br>");
echo("<hr size=1 width=100%>");
}
mysql_close($link);
?>
</font>
<font color="#000066" face=verdana size=2>
<a href="bukutamu1.php">Sign Up</a>
</font>
</body>
</html>
59
60