Anda di halaman 1dari 30

Dasar Pemrograman PHP

Dasar Pemrograman PHP


dan MySQL
dan MySQL
1
MODUL I: PENGENALAN PHP
PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server
side. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server
sedangkan yang dikirimkan ke browser hanya hasilnya saja.
File conto!"##:
<html>
<head>
<title>
Contoh Sederhana
</title>
</head>
<body>
<?php
echo(Hallo apakabar? Nama saya PHP script)
?>
</body>
</html>
$A%IA&LE
alam PHP setiap nama variable diawali tanda dollar !"#. Misalnya nama variable a
dalam PHP ditulis dengan 'a. $enis suatu variable ditentukan pada saat jalannya
program dan tergantung pada konteks yang digunakan.
File conto("##:
<?php
!a"#
!b"$
!hasil"!a%!b
echo(!hasil)
?>
%
hasilnya adalah&
File conto)"##:
<?php
!a"#
!b"$
!hasil"!a&!b
echo(!hasil)
?>
hasilnya adalah&
S*%U+*U% +ON*%OL
IF
'onstruksi () digunakan untuk melakukan eksekusi suatu statement secara bersyarat.
*ara penulisannya adalah sebagai berikut&
+
if (syarat)
{
statement
}
atau&
i' (syarat)
(
statement
)
else
(
statement lain
)
atau&
i' (syarat pertama)
(
statement pertama
)
elsei' (syarat ked*a)
(
statement ked*a
)
else
(
statement lain
)
File conto,"##:
<?php
!a"+
!b",
i' (!a>!b)
(
echo(a lebih besar dari pada b)
)
elsei' (!a<!b)
(
echo(a lebih kecil b)
)
else
(
echo(a sama den-an b)
)
?>
Hasilnya adalah&
,
-HILE
-entuk dasar dari statement .hile adalah sebagai berikut&
.hile (syarat)
(
statement
)
Arti dari statemant .hile adalah memberikan perintah untuk menjalankan statement
dibawahnya secara berulang/ulang0 selama syaratnya terpenuhi.
File conto."##:
<?php
!a"/
.hile (!a</0)
(
echo(!a)
!a%%
)
?>
Hasilnya adalah&
FO%
*ara penulisan statement )12 adalah sebagai berikut&
'or (ekspresi/ ekspresi$ ekspresi1)
statement
3
ekspresi1 menunjukkan nilai awal untuk suatu variable
ekspresi% menunjukkan syarat yang harus terpenuhi untuk menjalankan statemant
ekspresi+ menunjukkan pertambahan nilai untuk suatu variable
File conto/"##:
<?php
for ($a=0;$a<10;$a++)
{
echo(Nilai A = );
echo($a);
echo(<!r");
}
?"
Hasilnya adalah&
4
S-I*0H
5tatement 5.(T*H digunakan untuk membandingkan suatu variable dengan beberapa
nilai serta menjalankan statement tertentu jika nilai variable sama dengan nilai yang
dibandingkan.
5truktur 5witch adalah sebagai berikut&
s.itch (2ariable)
case nilai3
statement
case nilai3
statemant
case nilai3
statement
&
&
&
File conto1"##:
<?php
!a"$
s.itch(!a)
(
case /3
echo(Nilai 2ariable a adalah sat*)
break
case $3
echo(Nilai 2ariable a adalah d*a)
break
case 13
echo(Nilai 2ariable a adalah ti-a)
break
)
?>
Hasilnya adalah&

6
%EQUI%E
5tatement 2e7uire digunakan untuk membaca nilai variable dan 8ungsi/8ungsi dari
sebuah 8ile lain. *ara penulisan statement 2e7uire adalah&
re4*ire(nama'ile)
5tatement 2e7uire ini tidak dapat dimasukkan diadalam suatu struktur looping misalnya
while atau 8or. 'arena hanya memperbolehkan pemangggilan 8ile yang sama tersebut
hanya sekali saja.
File conto2"##:
<?php
!a"Saya sedan- bela5ar PHP
'*nction t*listebal(!teks)
(
echo(<b>!teks</b>)
)
?>
File conto!3"##:
<?php
re4*ire(contoh,&php)
t*listebal(6ni adalah t*lisan tebal)
echo(<br>)
echo(!a)
?>
Hasilnya adalah&
9
IN0LUDE
5tatement (nclude akan menyertakan isi suatu 8ile tertentu. (nclude dapat diletakkan
didalam suatu looping misalkan dalam statement 8or atau while.
File conto!!"##:
<?php
echo(77777777777777777777777777777777777777<br>)
echo(PHP adalah bahasa scriptin-<br>)
echo(77777777777777777777777777777777777777<br>)
echo(<br>)
?>
File conto!("##:
<?php
'or (!b"/ !b<# !b%%)
(
incl*de(contoh//&php)
)
?>
Hasilnya adalah&
:
MODUL II: DASA%4DASA% MySQL
alam bahasa 5;L pada umumnya in8ormasi tersimpan dalam tabel/tabel yang secara
logik merupakan struktur dua dimensi terdiri dari baris !row atau record# dan
kolom!column atau field#. 5edangkan dalam sebuah database dapat terdiri dari beberapa
table.
-eberapa tipe data dalam My5;L yang sering dipakai&
Tipe data Keterangan
INT(M) [UNSIGNED]
Angka
-2147483648 s/d 2147483647
F!AT(M"D) Angka #$%a&an
DATE
Tangga'
F()*a+ , -----MM-DD
DATETIME
Tangga' dan .ak+/
F()*a+ , -----MM-DD 00,MM,SS
10A2(M)
S+)3ng d$ngan #an4ang +$+a# s$s/a3 d$ngan 5ang
d3+$n+/kan6
7an4angn5a 1-288 ka)ak+$)
9A210A2(M)
S+)3ng d$ngan #an4ang 5ang :$)/:a&-/:a& s$s/a3
d$ngan 5ang d3s3*#an saa+ 3+/6
7an4angn5a 1 ; 288 ka)ak+$)
<!< T$ks d$ngan #an4ang *aks3*/* 68838 ka)ak+$)
!NG<!<
T$ks d$ngan #an4ang *aks3*/* 42=4=672=8
ka)ak+$)
MEM&UA* DA*A&ASE DAN *A&LE
<ntuk masuk ke dalam program My5;L pada prompt jalankan perintah berikut ini&
C:\> MYSQL (Enter)
'emudian akan masuk kedalam My5;L seperti tampilan dibawah ini&
-entuk prompt =mys7l>? adalah tempat menuliskan perintah/perintah My5;L. 5etiap
perintah 5;L harus diakhiri dengan tanda titik/koma =@? .
*ara untuk membuat sebuah database baru adalah dengan perintah&
create database namadatabase;
1A
*ontoh&
create database pri2atdb
<ntuk membuka sebuah database dapat menggunakan perintah berikut ini&
*se namadatabase
*ontoh&
#se pri$at%!;
Perintah untuk membuat tabel baru adalah&
create table namatabel
(
str*kt*r
)
*ontoh&
Misalkan kita ingin menyimpan data anggota yaitu& nomor0 nama0 email0 alamat0 kota.
5edangkan strukturnya seperti tabel dibawah ini&
Kolom/Field Tipe data Keterangan
n(*() 3n+(6) n(+ n/'' #)3*a)5 k$5
angka d$ngan #an4ang
*aks3*a' 6" s$:aga3 primary
key" +3dak :('$& k(s(ng
na*a %&a)(4>) n(+ n/''
+$ks d$ngan #an4ang
*aks3*a' 4> ka)ak+$)" +3dak
:('$& k(s(ng
$*a3' %&a)(288) n(+ n/''
+$ks d$ngan #an4ang
*aks3*a' 288 ka)ak+$)" +3dak
:('$& k(s(ng
a'a*a+ %&a)(8>) n(+ n/''
+$ks d$ngan #an4ang
*aks3*a' 8> ka)ak+$)" +3dak
:('$& k(s(ng
k(+a %&a)(2>) n(+ n/''
+$ks d$ngan #an4ang
*aks3*a' 2> ka)ak+$)" +3dak
:('$& k(s(ng
Perintah My5;L untuk membuat tabel seperti diatas adalah&
create table an--ota(
nomor int(8) not n*ll primary key9
nama char(+0) not n*ll9
email char($##) not n*ll9
alamat char(:0) not n*ll9
kota char($0) not n*ll
)
11
5edangkan data yang akan diisikan dalam tabel anggota adalah sebagai berikut&
Nomor Nama E-Mail Alamat Kota
1 A)3n3 N/)3''a&3 a)3n3?&(+*a3'6%(* @'6 $:ak 2$4( 7 S/)a:a5a
2 2$nn5 0$)'3na )$nn5&$)'3na?5a&((6%(* @'6 0a5a* ./)/k 81 <a/ <a/
3 An(n A/n%()(
an(nk/n%()(?5a&((6%(
*
@'6 1and3 7$)*a+a II/182 S$*a)ang
4 <a5/ :a5/?as+aga6%(* @'6 7$*/da 1= S/)a:a5a
8 23Ba )3Ba?+&$*a3'6%(* @'6 Aa)ang M$n4angan 8 S/)a:a5a
6 7a/' #a/'?)(%k$+*a3'6%(* @'6 M$+(4(5( A-1> Ma'ang
7 An3+a an3+a?n$+s%a#$6n$+ @'6 T$/k/ U*a) 48 Ma'ang
8 -/s/C 5/s/C?&(+*a3'6%(* @'6 2a4aDa'3 78 M(4(k$)+(
= A'3 a'377?as+aga6%(* @'6 0asan/dd3n 3 M(4(k$)+(
1> A43 a43saka77?5a&((6%(* @'6 Aa'3'(* () A$'3n%3 = S/)a:a5a
11 a+3$C 'a+3C?*a3'6%(* @'6 M$)ak 171 S/)a:a5a
12 S/#)3 s/#)3?+&$*a3'6%(* @'6 S/d3)*an 12 Ma'ang
<ntuk memasukkan sebuah baris !record# kedalam tabel My5;L adalah sebagai
berikut&
insert into namatabel 2al*es(kolom/9 kolom$9 kolom19;)
*ontoh&
insert into an--ota 2al*es(</=9=>rini N*rillahi=9=arini?hotmail&com=9=@l&Aebak Be5o C=9=S*rabaya=)
MENAMPIL+AN ISI *A&LE
(si tabel dapat ditampilkan dengan menggunakan perintah 5BLB*T0 cara penulisan
perintah 5BLB*T adalah&
select kolom 'rom namatable
*ontoh&
1%
<ntuk menampilkan kolom !8ield# nomor dan nama pada tabel anggota
select nomor9 nama 'rom an--ota
<ntuk menampilkan semua kolom!8ield# pada tabel anggota
select D 'rom an--ota
<ntuk menampilkan semua kolom pada tabel anggota yang berada pada kota
C5urabayaD
select D 'rom an--ota .here kota"=S*rabaya=
<ntuk menampilkan semua kolom pada tabel anggota dengan urut nama
select D 'rom an--ota order by nama
<ntuk menghitung jumlah record pada tabel anggota
select co*nt(D) 'rom an--ota
<ntuk menampilkan kota pada tabel anggota
select kota 'rom an--ota
<ntuk menampilkan kota dengan tidak menampikan kota yang sama pada tabel
anggota
select distinct kota 'rom an--ota
<ntuk menampilkan nama dan email yang mempunyai email di Cyahoo.comD
select nama9email 'rom an--ota .here email like <Eyahoo&com=
MENGHAPUS %E0O%D
<ntuk menghapus suatu record dengan kriteria tertentu digunakan perintah sebagai berikut&
delete 'rom namatabel .here kriteria
*ontoh&
Menghapus record dari tabel anggota yang bernomor C+D
delete 'rom an--ota .here nomor"=1=
MEMODIFI+ASI %E0O%D
<ntuk memodi8ikasi !merubah# isi record tertentu adalah dengan menggunakan perintah
sebagai berikut&
*pdate namatabel set kolom/"nilaibar*/9 kolom$"nilaibar*$ ; .here kriteria
*ontoh&
Merubah e/mail dari anggota yang bernomor 1% menjadi CsupriEyahoo.comD
dalam tabel anggota.
*pdate an--ota set email"=s*pri?yahoo&com= .here nomor"=/$=
MENGHU&UNG+AN PHP DENGAN MySQL
Agar script PHP yang kita buat dapat berhubungan dengan database dari My5;L dapat
menggunakan 8ungsi berikut ini&
File 5tama"##:
<?php
'*nction openFconnection()
(
!host"localhost
!*sername"root
!pass.ord"
!databasename"pri2atdb
1+
!link"mys4lFconnect(!host9!*sername9!pass.ord) or die (GHatabase tidak dapat
dih*b*n-kanIG)
mys4lFselectFdb(!databasename9!link)
ret*rn !link
)
?>
(si dari variabel "host0 "username0 "password dan "databasename dapat disesuaikan
sesuai dengan setting pada My5;L server yang ada.
*ontoh&
Menampilkan data anggota yang telah dibuat dengan menggunakan script PHP.
File conto!)"##:
<?php
// 77777 ambil isi dari 'ile *tama&php
re4*ire(G*tama&phpG)
// 77777 h*b*n-kan ke database
!link"openFconnection()
// 77777 menent*kan nama tabel
!tablename"Gan--otaG
// 77777 perintah SJA dimas*kkan ke dalam 2ariable strin-
!s4lstr"Gselect D 'rom !tablenameG
// 777777 5alankan perintah SJA
!res*lt " mys4lF4*ery (!s4lstr) or die (GKesalahan pada perintah SJAIG)
// 777777 p*t*s h*b*n-an den-an database
mys4lFclose(!link)
// 777777 b*at tampilan tabel
echo(G<table .idth"/00E cellspacin-"/ cellpaddin-"$ b-color"L000000>G)
echo(G<tr><td b-color"LCCCCCC>No</td><td b-color"LCCCCCC>Nama</td><td
b-color"LCCCCCC>M7Nail</td><td b-color"LCCCCCC>>lamat</td><td
b-color"LCCCCCC>Kota</td></tr>G)
// 777777 ambil isi masin-7masin- record
.hile (!ro. " mys4lF'etchFob5ect (!res*lt))
(
// 77777 men-ambil isi setiap kolom
!nomor"!ro.7>nomor
!nama"!ro.7>nama
!email"!ro.7>email
!alamat"!ro.7>alamat
!kota"!ro.7>kota
// 777777 menampilkan di layar bro.ser
echo(G<tr><td b-color"LOOOOOO>!nomor</td><td b-color"LOOOOOO>!nama</td><td
b-color"LOOOOOO>!email</td><td b-color"LOOOOOO>!alamat</td><td
b-color"LOOOOOO>!kota</td></tr>G)
)
echo(G</table>G)
?>
1,
13
MODUL III: FUNGSI4FUNGSI UMUM
FUNGSI S*%ING
)ungsi string digunakan memanipulasi string untuk berbagai macam kebutuhan. isini
akan dibahas beberapa 8ungsi string yang sering digunakan dalam membuat program
aplikasi web.

AddSlases
igunakan untuk menambahkan karakter backslash ! F # pada suatu string. Hal ini
penting digunakan pada 7uery string untuk database0 misalkan pada My5;L. -eberapa
karakter yang akan ditambahkan tanda backslahses adalah karakter tanda petik satu ! C #0
karakter petik dua ! = #0 backslash ! F # dan karakter G<LL.
5intaks&
addslashes(string)
Stri#Slases
igunakan untuk menghilangkan karakter backslash ! F # pada suatu string.
5intaks&
string stripslashes(string)
0ry#t
igunakan untuk meng/encrypt dengan metode B5 suatu string. )ungsi ini sering
digunakan untuk mengacak string password sebelum disimpan dalam database. alam
penggunaan 8ungsi crypt ini dapat ditambahkan parameter string CsaltD. Parameter CsaltD
ini ditambahkan untuk menentukan basis pengacakan. C5altD string terdiri atas %
karakter. $ika CsaltD string tidak ditambahkan pada 8ungsi crypt maka PHP akan
menentukan sendiri CsaltD string tersebut secara acak.
5intaks&
crypt(string [ , salt )
Eco
igunakan untuk mencetak isi suatu string atau argumen.
5intaks&
ech!( string argumen1, string argumen2 , "#)
E6#lode
igunakan untuk memecah/mecah suatu string berdasarkan tanda pemisah tertentu dan
memasukkan hasilnya kedalam suatu variable array.
5intaks&
e$pl!de(string pemisah , string [, int limit )
14
*ontoh&
$namahari = min&&# senin selasa ra!# 'amis (#mat sa!t#;
$hari = e)plo%e( * $namahari);
Im#lode
'egunaan 8ungsi ini adalah kebalikan daripada 8ungsi eHplode. )ungsi implode
digunakan untuk menghasilkan suatu string dari masing/masing elemen suatu array.
5tring yang dihasilkan tersebut dipisahkan oleh suatu string telah yang ditentukan
sebelumnya.
5intaks3
impl!de(string pemisah , array)
Stri#7*ags
igunakan untuk menghilangkan kode/kode tag HTML pada suatu string.
5intaks&
stripta%s(string [, string tags yang tidak dihilangkan )
StrLen
igunakan untuk menghitung jumlah karakter suatu string.
5intaks&
strlen(string)
StrPos
igunakan untuk mencari posisi pertama suatu sub string pada suatu string. )ungsi ini
biasanya digunakan untuk mencari suatu sub string didalam suatu string.
5intaks&
strlen(string , sub string)
Str7%e#eat
igunakan untuk mengulang isi suatu string.
5intaks&
str&repeat(string , int jumlah perulangan)
Str*oLo8er
igunakan untuk merubah suatu string menjadi huru8 kecil !lowercase#.
5intaks&
strt!l!'er(string)
Str*oU##er
igunakan untuk merubah suatu string menjadi huru8 besar !uppercase#
5intaks&
strt!(pper(string)
16
S59Str
igunakan untuk mengambil suatu sub string dengan panjang tertentu dari suatu string pada
posisi tertentu pula.
5intaks&
s(bstr(string, int posisi , int posisi)
*ontoh&
s*bstr(abcde'-9091) // men-asilkan strin- abc
s*bstr(abcde'-919$) // men-hasilkan strin- de
S59Str70o5nt
igunakan untuk menghitung jumlah sub string dalam suatu string
5intaks&
s(bstr&c!(nt( string , string substring)
*ontoh&
s*bstrFco*nt(Phis is a test9is) // men-hasilkan nilai $
U0First
igunakan untuk mengganti karakter pertama pada suatu string menjadi huru8 besar.
5intaks&
(c)irst(string)
U0-ords
igunakan untuk mengganti karakter pertama pada setiap kata dalam suatu string
menjadi huru8 besar.
5intaks&
(c'!rds(string)
FUNGSI DA*E
igunakan untuk mengambil tanggal dan jam. Hasil dari 8ungsi ini adalah sebuah string
yang berisi tanggalIjam sesuai dengan 8ormat yang diinginkan. )ormat yang dikenal
dalam 8ungsi date ini adalah sebagai berikut&
a 7 GamG or GpmG
> 7 G>NG or GPNG
Q 7 S.atch 6nternet time
d 7 day o' the month9 $ di-its .ith leadin- Reros i&e& G0/G to G1/G
H 7 day o' the .eek9 teSt*al9 1 letters i&e& GOriG
O 7 month9 teSt*al9 lon- i&e& G@an*aryG
- 7 ho*r9 /$7ho*r 'ormat .itho*t leadin- Reros i&e& G/G to G/$G
T 7 ho*r9 $+7ho*r 'ormat .itho*t leadin- Reros i&e& G0G to G$1G
h 7 ho*r9 /$7ho*r 'ormat i&e& G0/G to G/$G
19
H 7 ho*r9 $+7ho*r 'ormat i&e& G00G to G$1G
i 7 min*tes i&e& G00G to G#,G
6 (capital i) 7 G/G i' Hayli-ht Sa2in-s Pime9 G0G other.ise&
5 7 day o' the month .itho*t leadin- Reros i&e& G/G to G1/G
l (lo.ercase UAU) 7 day o' the .eek9 teSt*al9 lon- i&e& GOridayG
A 7 boolean 'or .hether it is a leap year i&e& G0G or G/G
m 7 month i&e& G0/G to G/$G
N 7 month9 teSt*al9 1 letters i&e& G@anG
n 7 month .itho*t leadin- Reros i&e& G/G to G/$G
s 7 seconds i&e& G00G to G#,G
S 7 Mn-lish ordinal s*''iS9 teSt*al9 $ characters i&e& GthG9 GndG
t 7 n*mber o' days in the -i2en month i&e& G$:G to G1/G
P 7 PimeRone settin- o' this machine i&e& GNHPG
V 7 seconds since the epoch
. 7 day o' the .eek9 n*meric9 i&e& G0G (S*nday) to G8G (Sat*rday)
W 7 year9 + di-its i&e& G/,,,G
y 7 year9 $ di-its i&e& G,,G
R 7 day o' the year i&e& G0G to G18#G
X 7 timeRone o''set in seconds (i&e& G7+1$00G to G+1$00G)
5intaks&
date(string format)
*ontoh&
date(W7m7d) // men-hasilkan $00/70C7$:
date(l9 5 O W) // men-hasilkan Sat*rday9 $: @*ly $00/
date(H3i3s) // men-hasilkan $03/#30C
FUNGSI MAIL
igunakan untuk mengirimkan e/mail ke alamat e/mail tertentu.
5intaks&
mail(string tujuan , string subject , string isi [, string header );
*ontoh&
!pen-irim " Orom3 saya?email&com
!t*5*an " anonk*ncoro?yahoo&com
!s*b5ect " Pemberitah*an
!isi " 6ni adalah percobaan pen-iriman e7mail den-an men--*nakan PHP
mail(!to9!s*b5ect9!isi9!pen-irim)
1:
MODUL I$: 0OUN*E%
Aplikasi web yang paling sederhana yang akan kita bahas adalah teknik pembuatan
counter dengan menggunakan PHP. *ounter yang kita buat ini adalah untuk menghitung
berapa kali suatu halaman situs web telah ditampilkan. <ntuk menyederhanakannya
maka counter ditampilkan dalam bentuk teks bukan gra8ik.
Algoritma&
1. -ila suatu halaman web ditampilkan maka terlebih dulu dibaca isi 8ile tertentu
dan dibaca nilainya.
%. Tampilkan nilainya di layar browser
+. Tambahkan nilainya dengan 1
,. 5impan nilainya yang baru di 8ile
3. 5elesai
File co5nter"t6t
A
File co5nter"##:
<?
!'ileco*nter"Gco*nter&tStG
!'l"'open(!'ileco*nter9Gr%G)
!hit"'read(!'l9'ilesiRe(!'ileco*nter))
echo(G<table .idth"$#0 ali-n"center border"/ cellspacin-"0 cellpaddin-"0
bordercolor"L0000OO><tr>G)
echo(G<td .idth"$#0 2ali-n"middle ali-n"center>G)
echo(G<'ont 'ace"2erdana siRe"$ color"LOO0000><b>G)
echo(G>nda pen-*n5*n- yan- ke3G)
echo(!hit)
echo(G</b></'ont>G)
echo(G</td>G)
echo(G</tr></table>G)
'close(!'l)
!'l"'open(!'ileco*nter9G.%G)
!hit"!hit%/
'.rite(!'l9!hit9strlen(!hit))
'close(!'l)
?>
%A
%1
MODUL $ : FO%MULI% ONLINE
5alah satu bagian penting dari sebuah website adalah 8asilitas pengisian 8ormulir online0
baik untuk keperluan pemesanan0 kontak ke pemilik website atau untuk penda8taran
secara online. Pada bagian ini akan dibahas pembuatan 8ormulir online yang data
isiannya dikirimkan ke alamat e/mail tertentu.
Algoritma&
1. Membuat 8ormulir dengan menggunakan tag )12M pada HTML. engan data
yang dimasukkan adalah nama0 e/mail0 alamat0 kota0 telepon dan pesanan.
%. 5emua data masukkan disimpan dalam beberapa variable dan dikirimkan ke
sebuah 8ile PHP lain yang 8ungsinya untuk menerima variable yang dikirimkan
oleh 8ormulir.
+. Mengirimkan ke alamat e/mail tertentu yang isinya sesuai yang diisikan pada
8ormulir.
,. 5elesai

%%
File :orm5lir!"##:
<html>
<head>
<title>
Oorm*lir Ynline
</title>
</head>
<body b-color"GLOOOOOOG>
<'orm action"'orm*lir$&php method"PYSP>
<'ont 'ace"2erdana siRe"$ color"GL000000G>
<h1 ali-n"le't>
OYBNVA6B YNA6NM
</h1>
</'ont>
<pre>
Nama 3 <inp*t type"teSt name"nama siRe"/#>
M7Nail 3 <inp*t type"teSt name"email siRe"$0>
>lamat 3 <inp*t type"teSt name"alamat siRe"$0>
Kota 3 <inp*t type"teSt name"kota siRe"/$>
Pelepon 3 <inp*t type"teSt name"telepon siRe"/$>
P*lis pesanan >nda diba.ah ini3
<teStarea name"pesanan ro.s"# cols"10>
</teStarea>
<inp*t type"s*bmit 2al*e"GKirimG> <inp*t type"reset 2al*e"GHap*sG>
</pre>
</'orm>
</body>
</html>
%+
File :orsm5lir("##:
<html>
<head>
<title>
Oorm*lir Ynline
</title>
</head>
<body b-color"GLOOOOOOG>
<'ont 'ace"2erdana siRe"$ color"GL000000G>
<h1 ali-n"le't>
OYBNVA6B YNA6NM
</h1>
</'ont>
<pre>
<?php
// 77777 b*at header email
!to"Ganonk*ncoro?yahoo&comG
!s*b5ect"GOorm*lir YnlineG
!'rom"GOrom3 !nama <!email>G
// 77777 isi email
!content"GG
!content&"GOorm*lir YnlineZnG
!content&"GNama 3 !namaZnG
!content&"GM7Nail 3 !emailZnG
!content&"G>lamat 3 !alamatZnG
!content&"GKota 3 !kotaZnG
!content&"GPelepon 3 !teleponZnG
!content&"GPesanan >nda3ZnG
!content&"G!pesananZnG
// 77777 kirim ke email
mail(!to9!s*b5ect9!content9!'rom)
// 77777 tampilkan pesan di bro.ser
echo(GPerima kasih9 data yan- >nda kirimkan seba-ai berik*t3ZnG)
echo(GNama 3 !namaZnG)
echo(GM7Nail 3 !emailZnG)
echo(G>lamat 3 !alamatZnG)
echo(GKota 3 !kotaZnG)
echo(GPelepon 3 !teleponZnG)
echo(GZnG)
echo(GPesanan >nda3ZnG)
?>
</pre>
<?php
echo(G!pesananG)
?>
</body>
</html>
%,
MODUL $I: GUES*&OO+
'ali ini kita akan membahas cara pembuatan guestbook !buku tamu#. Langkah/langkah
yang kita lakukan dalam pembuatan buku tamu ini adalah&
1. Membuat table My5;L yang akan menyimpan isi buku tamu
%. Membuat 8orm pengisian buku tamu
+. Membuat program untuk menerima masukan data dari 8orm yang telah kita buat
sebelumnya
,. Membuat program untuk menampilkan isi buku tamu.
Mem95at ta9le
5truktur table untuk menyimpan buku tamu adalah sebagai berikut&
Kolom/Field Tipe data Keterangan
3d
3n+(1>) /ns3gn$d
a/+(E3n%)$*$n+ n(+ n/''
#)3*a)5 k$5
angka d$ngan #an4ang
*aks3*a' 1>" s$:aga3 primary
key" +3dak :('$& k(s(ng" n3'a3
s$%a)a (+(*a+3s :$)+a*:a&
#(s+$d da+$ +angga'
na*$ Fa)%&a)(8>)
+$ks d$ngan #an4ang
*aks3*a' 8> ka)ak+$)
$*a3' Fa)%&a)(128)
+$ks d$ngan #an4ang
*aks3*a' 128 ka)ak+$)
add)$ss Fa)%&a)(128)
+$ks d$ngan #an4ang
*aks3*a' 128 ka)ak+$)
%3+5 Fa)%&a)(8>)
+$ks d$ngan #an4ang
*aks3*a' 8> ka)ak+$)
*sg '(ng:'(: +$ks #an4ang
Adapun perintah My5;L untuk membuat table guestbook dengan struktur seperti diatas
adalah&
CBM>PM P>QAM -*estbook (
id int(/0) *nsi-ned NYP NVAA a*toFincrement9
posted date NYP NVAA9
name 2archar(:0)9
email 2archar(/$:)9
address 2archar(/$:)9
city 2archar(:0)9
ms- lon-blob9
PB6N>BW KMW (id)
)
%3
Mem95at :orm #engisian 95;5 tam5
File 95;5tam5!"##:
<html>
<head>
<title>
T*estbook
</title>
</head>
<body b-color"GL,,CCOOG>
<'ont color"GL000088G 'ace"2erdana>
<h1 ali-n"le't>
Si-n*p T*estbook
</h1>
<'orm action"Gb*k*tam*$&phpG method"PYSP>
<hr siRe"/ .idth"/00E ali-n"le't>
<pre>
Name 3 <inp*t type"teSt name"nama siRe"$0>
M7Nail 3 <inp*t type"teSt name"email siRe"10>
>ddress 3 <inp*t type"teSt name"alamat siRe"10>
City 3 <inp*t type"teSt name"kota siRe"$#>
Nessa-e 3
<teStarea name"pesan ro.s"# cols"10>
</teStarea>
</pre>
<inp*t type"s*bmit 2al*e"GSendG> <inp*t type"reset 2al*e"GBesetG>
</'orm>
</'ont>
<'ont color"GL000088G 'ace"2erdana siRe"$>
<a hre'"Gb*k*tam*1&phpG>[ie. T*estbook</a>
</'ont>
</body>
</html>
%4
%6
Program 5nt5; menerima mas5;an data dari :orm
File 95;5tam5("##:
<html>
<head>
<title>
T*estbook
</title>
</head>
<body b-color"GL,,CCOOG>
<'ont color"GL000088G 'ace"2erdana>
<h1 ali-n"le't>
Si-n*p T*estbook
</h1>
<?php
re4*ire(G*tama&phpG)
!link"openFconnection()
!tablename"G-*estbookG
!t-l"date(GW7m7dG)
!pesan"addslashes(!pesan)
!s4lstr"G6NSMBP 6NPY !tablename
[>AVMS(UU9U!t-lU9U!namaU9U!emailU9U!alamatU9U!kotaU9U!pesanU)G
i' (Imys4lF4*ery (!s4lstr))
(
echo(G6n2alid J*eryI<br>Please re-ister a-ain&&&<br>G)
eSit
)
mys4lFclose(!link)
echo(GPhank yo* 'or si-nin- *p T*estbook&&&<p>G)
?>
</'ont>
<'ont color"GL000088G 'ace"2erdana siRe"$>
<a hre'"Gb*k*tam*1&phpG>[ie. T*estbook</a> <a hre'"Gb*k*tam*/&phpG>Si-n Vp</a>
</'ont>
</body>
</html>
%9
Program 5nt5; menam#il;an isi 95;5 tam5
File 95;5tam5)"##:
<html>
<head>
<title>
T*estbook
</title>
</head>
<body b-color"GL,,CCOOG>
<'ont color"GL000088G 'ace"2erdana siRe"/>
<h1 ali-n"le't>
[ie. T*estbook
</h1>
<?php
re4*ire(G*tama&phpG)
!link"openFconnection()
!tablename"G-*estbookG
!s4lstr"GSMAMCP D OBYN !tablename YBHMB QW id HMSCG
!res*lt " mys4lF4*ery (!s4lstr) or die (G6n2alid 4*eryG)
.hile (!ro. " mys4lF'etchFob5ect (!res*lt))
(
!name"!ro.7>name
!posted"s*bstr(!ro.7>posted9:9$)&G7G&s*bstr(!ro.7>posted9#9$)&G7G&s*bstr(!ro.7
>posted909+)
!email"!ro.7>email
!address"!ro.7>address
!city"!ro.7>city
!ms-"stripslashes(!ro.7>ms-)
echo(GPosted 3 !posted<br>G)
echo(GName 3 !name<br>G)
echo(GM7Nail 3 <a hre'"mailto3!email>!email</a><br>G)
echo(G>ddress 3 !address<br>G)
echo(GCity 3 !city<br>G)
echo(GNessa-e 3<br>G)
echo(G!ms-<br>G)
echo(G<hr siRe"/ .idth"/00E>G)
)
mys4lFclose(!link)
?>
</'ont>
<'ont color"GL000088G 'ace"2erdana siRe"$>
<a hre'"Gb*k*tam*/&phpG>Si-n Vp</a>
</'ont>
</body>
</html>
%:
+A