Anda di halaman 1dari 45

Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah...

Asal Orang INDONSIA


!A"IN#SIA" DI"ARAN# KRAS
B"A$AR P%P DAN !&S'" BARN# N(BI ).*
Pada kesempatan kali ini saya akan memberikan sedikit tutorial mengenai PHP dan MYSQL. Ya... Semampu saya
lah... Langsung aja deh prakteknya... Untuk pengertian apa itu PHP, Mysql, dll bisa diari sendiri le!at
"m #oogle...
Peralatan yang kita gunakan sih ukup sederhana kayak Dream+ea,er, (ampser,er yang mudah kalian
temukan untuk di do!nload.
Pertama kali kita akan membuat yang namanya buku-amu.
!!B.AT B.K.TA!.
Langkah pertama adalah pastikan $ampser%er yang telah terinstall dalam keadaan akti&, jalankan 'ro!ser
kalian dan ketik pada alamat U(Lnya )h--p/00lo1alhos-* maka akan munul tampilan seperti berikut.
+lik pada )phpmya2min* dan langsung buat database dengan nama )buku-amu* pada Crea-e ne+ 2a-abase
lalu klik Crea-e...
+emudian pada Crea-e ne+ -able on 2a-abase buku-amu masukkan Name / -amu dan Number o3 3iel2s / 4 dan
klik #o.
,ah isi sesuai data diba!ah ini dan langsung simpan
Field Type Length/Values Extra
no_tamu INT 3 auto_increment Primary Key
nama V!"#! 3$
email V!"#! %$
pesan TE&T
+ira-kira gambarnya seperti ini...
Setelah itu kita siap untuk odingnya...
'uka (in2o+s 5plorer kita dan langsung menuju ke
C/6+amp6+++
'uat &older baru, misalkan &older )buku-amu*, nah nantinya semua &ile yang kita butuhkan akan kita taruh disitu.
Setelah itu buka .ream!ea%er kalian, kenapa .ream!ea%er/ +arena lebih mudah...
'uat Ne+ Pro7e1- dengan memilih Crea-e Ne+ P%P.
Pada menu 8orms pilih 0ool 8orm...
,ah pada 'agian Properties, isikan inpu-9buku-amu.php
Lalu buat table dan atur design struktur table seperti gambar diba!ah ini...
0ambahkan : Te5-8iel2 dan * Bu--on. ,ih dia gambarnya...
'uat sampai tampilannya seperti ini....
1tur Proper-ies un-uk nama/
Untuk 2mail3
Untuk Pesan/
.an un-uk Bo--onnya/
Lalu simpan dengan nama )3orm9-amu.php* dan simpan di dalam &older bukutamu yang tadi telah kita
siapkan...
Sript lengkapnya kayak gini...
4html5
4head5
4body5
4h657,PU0 'U+U 01MU48h65
4&orm method9:post: ation9:input;bukutamu.php:5
4table !idth9:<==: border9:=: ellspaing9:>: ellpadding9:?:5
4tr5
4td !idth9:>=@:5,ama48td5
4td !idth9:ABA:54input name9:tCt,ama: type9:teCt: id9:tCt,ama: siDe9:6=: maClength9:6=:548td5
48tr5
4tr5
4td52mail48td5
4td54input name9:tCt2mail: type9:teCt: id9:tCt2mail: siDe9:6=: maClength9:A=:548td5
48tr5
4tr5
4td5Pesan48td5
4td54teCtarea name9:tCtPesan: ols9:@=: !idth9:??=: height9:A=: ro!s9:@: id9:tCtPesan:548teCtarea548td5
48tr5
4tr5
4td5EnbspF48td5
4td54input name9:Submit: type9:submit: id9:Submit: %alue9:+irim:548td5
48tr5
48table5
48&orm5
4a hre&9tampil.php5Melihat 'uku 0amu48a5
48body5
48head5
48html5
C/6+amp6+++6buku-amu
$eits sampe lupa, setelah itu kita harus membuat koneksi.php yang berguna untuk melakukan koneksi
terhadap .atabase...
"ke, buka Projet PHP baru,hapus semua ode pada tab ode dan isi dengan ode sebagai berikut...
;<php
88 Gangan Lupa Sesuaikan .engan Settingan +omputer +ita
HmyIJhostJK 9 :loalhost:F
HmyIJuserJK 9 :root:F
HmyIJpassJK 9 :ruDenaldo:F
HmyIJdbsJK 9 :bukutamu:F
Hkoneksi 9 mysql;onnetLHmyIJhostJK, HmyIJuserJK, HmyIJpassJKMF
i& LN HkoneksiM O
eho :#agal +oneksi 'ro....:F
mysql;errorLMF
P
mysql;selet;dbLHmyIJdbsJKM
or die L:.atabase #ak 1da:.mysql;errorLMMF
<=
.an simpan di dalam &older bukutamu dengan nama koneksi.php.
7ngat, pengaturan Host, User, Pass dan ,ama .atabasenya harus sesuai dengan settingan yang ada di komputer
masing-masing...
'elom tau juga/ "ke saya jelasin dikit? yah...
Untuk Host, User dan Pass sekarang oba buka 'ro!ser dan arahkan ke http388loalhost8phpmyadmin
,ah Klik Pri,ilages dan kita bisa liat kalo user root pada host loalhost masih belum memiliki pass!ord.
,ah isi pass!ord kita pada pass+or2 dan klik #o.
Sampai sini belum selesai 'os, jika kita ke PhpMy1dmin atau ke menu apapun akan munul error yang
mengatakan bah!a PhpMy1dmin tidak bisa digunakan karena tidak diperkenankan L1ess .eniedM
Permasalah ini terjadi karena PhpMy1dmin tidak menggunakan pass!ord baru untuk mengakses database MySql
sehingga mendapat penolakan dari MySql.
Untuk itu kalian harus merubah kon&igurasi pada PhpMy1dmin agar menggunakan pass!ord yang barusan kalian
berikan. 'uka &ile 1on3ig.in1.php yang berada pada direktori
C/6+amp6apps6phpmya2min>.**.?
.engan menggunakan $ordpad atau ,otepad lalu ari baris 3
@13gABSer,ersBCA@iCABpass+or2BC D BBE
+emudian masukkan pass!ord dengan yang sama kalian gunakan pada Menu 2dit Pri%ileges PhpMy1dmin...
@13gABSer,ersBCA@iCABpass+or2BC D B1ruFenal2oBE
+eren gak penjelasan gua/ 7tu gua ku-ip 2ari bukunya Om S-o yang $oomla *.G Dunianya !aya .n-ungnya
Nya-a...
#.BRAAAAKKKK... (akakakakakak, yang penting kalian ngerti kan... Makasih buat "m Sto
Sekarang buat Projet PHP baru dengan .ream!ea%er dan klik 0ab ode kemudian hapus semua ode yang
ada disitu dan ganti dengan ode berikut...
;<php
88 Untuk melakukan pemanggilan koneksi.php.
inlude :koneksi.php:F
88 #unanya mengambil data dari Qorm
HtCt,ama 9 H;P"S0IJtCt,amaJKF
HtCt2mail 9 H;P"S0IJtCt2mailJKF
HtCtPesan 9 H;P"S0IJtCtPesanJKF
88 Gika inputan HtCt,ama, HtCt2mail, HtCtPesan kurang dari > maka munul pesan...
i&LstrlenLHtCt,amaM4>M
O
eho :,ama Masih +osong:F
P
else i&LstrlenLHtCt2mailM4>M
O
eho :2mail Masih +osong:F
P
else i&LstrlenLHtCtPesanM4>M
O
eho :Pesan Masih +osong:F
P
88 Gika telah terpenuhi kriteria diatas maka langsung melakukan perintah SQL 7,S2(0
else O
HsqlSimpan 9 :7,S2(0 7,0" tamuLnama, email, pesanM
%aluesLJHtCt,amaJ, JHtCt2mailJ, JHtCtPesanJM:F
mysql;queryLHsqlSimpan, HkoneksiM
or die L:#agal Perintah SQL:.mysql;errorLMMF
eho :P2,Y7MP1,1, '2(H1S7L:F
P
88 Hanya 0ambahan saja, jika tidak diperlukan bisa dihapus 3M
eho :4p54a hre&9&orm;tamu.php5+embali +e 'uku 0amu48a5 R 4a hre&9tampil.php5Melihat 'uku
0amu48a548p5:F
<=
&orm;tamu.php udah, koneksi.php udah, input;bukutamu.php udah... ,ah sekarang kita akan membuat
-ampil.php yang berguna untuk menampilkan bukutamu kita... "ke langsung aja...
'uat projet baru PHP Lapek juga nulis? gini? lagi, kalian semua pasti dah ngerti lah... Langsung aja kasih
kodenya.....
Hapus semua ode yang ada di tab ode dan ganti dengan ode ini
4table !idth9:@<@: border9:=: ellspaing9:>: ellpadding9:?:5
4tr5
4td !idth9:S@:5,ama48td5
4td !idth9:>@A:52mail48td5
4td !idth9:?@@:5Pesan48td5
48tr5
;<php
inlude :koneksi.php:F
Hsql0ampil 9 :S2L2T0 U Q("M tamu "(.2( 'Y no;tamu .2ST:F
Hqry0ampil 9 mysql;queryLHsql0ampil, HkoneksiM
or die L:#agal query:.mysql;errorLMMF
Htotal 9 mysql;num;ro!sLHqry0ampilMF
!hileLHdata0ampil9mysql;&eth;arrayLHqry0ampilMM O
eho :4table !idth9J@<@J border9J=J ellspaing9J>J ellpadding9J?J5
4tr5
4td !idth9JS@J5Hdata0ampilInamaK48td5
4td !idth9J>@AJ5Hdata0ampilIemailK48td5
4td !idth9J?@@J5Hdata0ampilIpesanK48td5
48tr5:F
P
eho :48table5:F
eho :4p54a hre&9&orm;tamu.php5+embali +e Qorm Pengisian48a548p5:F
<=
Simpan 2engan nama -ampil.php
$okeh dah selesai dah bukutamu kita, nah sekarang oba kita jalankan, buka 'ro!ser kalian dan arahkan
alamat berikut...
http388loalhost8bukutamu8&orm;tamu.php
7si sesuai dengan keinginan kalian dan klik +irim... Lalu klik untuk melihat buku tamu untuk melihat hasilnya...
)A"IDASIHnya<...
$ah, asik plus ribet banget neh kalo ngebahas soal ini pada buku tamu yang telah kita buat. .an mungkin
pembahasan yang saya tulis juga pasti kurang lengkap... 0api beberapa pasti bakalan saya oba...
"ke pertama apa aja yang bakalan user lakukan ketika dia menoba &asilitas 'ukutamu kita/
Pertama yang orang itu mesti lakukan adalah memasukkan ,ama, 2mail dan Pesan...
$ait... Toba bayangin kalo tuh orang memasukkan emailnya asal?an...
'ingung/ Seandainya dia uman nulis kata-kata asal... #ak pake tanda
)V*... +an jadi gak asik, betul gak/
#asilnya 'aya' gini((( Kan )adi 'urang a)ar* ehhh 'urang asi'
"ke langsung aja kita perbaiki... Pertama yang harus kita lakukan adalah membuka inpu-9buku-amu.php karena
disinilah letak segala ation atau perintah-perintah kita lakukan.
Lihat ode berikut...
HtCt,ama 9 H;P"S0IJtCt,amaJKF
HtCt2mail 9 H;P"S0IJtCt2mailJKF
HtCtPesan 9 H;P"S0IJtCtPesanJKF
0ambahkan ode diba!ahnya
H%alid;mail 9 :WLI.;a-D=-X-KYI.;a-D=-X-KUMVLLIa-D=-X-KYZ.MULIa-D=-X-KYMLZ.Ia-DKO?,6PMMH:F
Sehingga menjadi
HtCt,ama 9 H;P"S0IJtCt,amaJKF
HtCt2mail 9 H;P"S0IJtCt2mailJKF
HtCtPesan 9 H;P"S0IJtCtPesanJKF
H%alid;mail 9 :WLI.;a-D=-X-KYI.;a-D=-X-KUMVLLIa-D=-X-KYZ.MULIa-D=-X-KYMLZ.Ia-DKO?,6PMMH:F
Lalu kemudian ari ode
else i&LstrlenLHtCt2mailM4>M
O
eho :2mail Masih +osong:F
P
.an ganti menjadi
else i&LNeregiLH%alid;mail, HtCt2mailMM
O
eho :Penulisan 2mail Salah:F
P
"ke, untuk melakukan %alidasi input yang lebih spesi&ik, kita bisa menggunakan &ungsi eregIJ atau eregiIJ seperti
yang gua gunakan diatas.
Lengkapnya jadi kayak gini...
,ah sekarang oba jalanin bukutamunya...
Maka yang bakalan munul adalah...
,ah sekarang isi dengan benar...
.an hasilnya adalah...
'anyak &ungsi-&ungsi untuk melakukan %alidasi...
Tontohnya...
TrimIJ yang berguna untuk menghapus spasi kanan dan kiri teks
h-mlen-i-iesIJ yang berguna untuk menkon%ersi karakter-karakter tertentu dalam tag H0ML dan nantinya tag-tag
tersebut akan diterjemahkan sebagai teks biasa.
s-rip9-agsIJ yang berguna untuk menghilangkan tag-tag H0ML dan PHP di dalam sebuah string. 'erbeda dengan
htmlentitiesLM, strip;tagsLM akan membantai habis tag-tag tersebut sehingga tidak ditampilkan.
.an masih banyak lagi, penggunaannya tergantung dari keperluan kita masing-masing.
Sekarang 1on-oh penggunaan -rimIJ.
Tontoh, jika user yang kurang kerjaan melakukan inputan hanya spasi saja pada isian Namamaka...
Maka hasil yang didapat adalah...
Sama halnya dengan email dan komentar nantinya... Untuk penggunaannya langsung aja buka
inpu-9buku-amu.php dan ari ode berikut...
HtCt,ama 9 H;P"S0IJtCt,amaJKF
HtCt2mail 9 H;P"S0IJtCt2mailJKF
HtCtPesan 9 H;P"S0IJtCtPesanJKF
0ambahkan sehingga menjadi
HtCt,ama 9 trimLH;P"S0IJtCt,amaJKMF
HtCt2mail 9 trimLH;P"S0IJtCt2mailJKMF
HtCtPesan 9 trimLH;P"S0IJtCtPesanJKMF
Gadi spasi yang diinput oleh user di a!al dan akhir teks akan dihapus... 1pabila hanya spasi saja maka inputan
dianggap kosong.
Untuk penggunaan h-mlen-i-iesIJ dan s-rip9-ags...
1pabila user melakukan inputan seperti berikut...
,ah pasti kalian bakalan tahu hasil yang akan didapat seperti apa
$aduh, sampai-sampai saya tidak bisa mengapturenya, pokoknya berantakan banget dah... Maka inilah yang
dinamakan dengan %T!" In7e1-ion...
Buka inpu-9buku-amu.php dan ode yang tadinya
HtCt,ama 9 trimLH;P"S0IJtCt,amaJKMF
HtCt2mail 9 trimLH;P"S0IJtCt2mailJKMF
HtCtPesan 9 trimLH;P"S0IJtCtPesanJKMF
0inggal edit menjadi
HtCt,ama 9 trimLstrip;tagsLH;P"S0IJtCt,amaJKMMF
HtCt2mail 9 trimLstrip;tagsLH;P"S0IJtCt2mailJKMMF
HtCtPesan 9 trimLhtmlentitiesLH;P"S0IJtCtPesanJKMMF
Hasilnya...
Hasilnya...
Strip;tags akan menghilangkan tag html sedangkan htmlentities akan membaanya sebagai teks biasa.
Semuanya tergantung kebutuhan kita saja.
+ita bisa menggunakan strip;tagsLM dengan membiarkan beberapa tag untuk diijinkan. Tontoh odenya...
HtCtPesan9strip;tagsLHtCtPesan,J4b5,4u5,4i5JMF
Gadi pada tCtPesan hanya diijinkan tag html 4b5, 4u5 dan 4i5
Hasilnya...
S!I"S /J
Supaya lebih asik lagi kita tambahin smiles untuk bukutamunya... .isini saya menggunakan &ungsi
ereg9repla1eIJ. Masih banyak kegunaan &ungsi ereg;replaeLM, selain untuk smile juga bisa untuk mem&ilter kata-
kata $OROK yang akan ditulis oleh orang iseng.
Sebenernya masih banyak &ungsi yang berguna untuk membuat smiles kayak str;replaeLM uman saya juga
masih belajar Tuy
Ya satu-satu lah, ya gak... ,tar malah gak ngerti sama sekali... "ke langsung aja neh prakteknya...
Pertama siapkan dulu Smilesnya yang disimpan di dalam 3ol2er Smiles yang setelah itu kalian letakkan di
dalam &older buku-amu.
Lalu buka inpu-9buku-amu.php dan ari ode berikut...
else O
.iba!ahnya tambahkan
HtCtPesan9ereg;replaeL:grin:,:4img sr9smiles8grin.gi&5:,HtCtPesanMF
HtCtPesan9ereg;replaeL:smile:,:4img sr9smiles8smile.gi&5:,HtCtPesanMF
HtCtPesan9ereg;replaeL:[.:,:4img sr9smiles8[..gi&5:,HtCtPesanMF
HtCtPesan9ereg;replaeL:C;C:,:4img sr9smiles8C;C.gi&5:,HtCtPesanMF
7tu baru A smiles, ya segitu aja dulu... tambahin sesuka kalian... 7ntinya nanti grin akan diganti menjadi gambar
yang letaknya di smiles0grin.gi3, dst.
Yuk langsung obain...
$alah berantakan juga, ini tergantung dari kalian aja designnya gimana L,geles Mode3",M... 1tau gambarnya
kegedean yah/
8I"TR KATAHKATA $OROK
,ah sekarang kita oba yuk... 'uka kembali inpu-9buku-amu.php dan di ba!ah dari smiles-smiles yang telah
kalian buat tambahin aja kayak gini....
HtCtPesan9ereg;replaeL:'au:,:$angi:,HtCtPesanMF
HtCtPesan9ereg;replaeL:Gelek:,:#anteng:,HtCtPesanMF
HtCtPesan9ereg;replaeL:'eni:,:,ge&ans:,HtCtPesanMF
HtCtPesan9ereg;replaeL:QUT+:,:QUU+:,HtCtPesanMF
Gadi kata pertama adalah kata yang akan di &ilter dan kedua adalah penggantinya...
Tode &ullnya kayak gini...
Tobain langsung neh
(ibet yah pas kita 7nput 'uku tamunya terus pake harus pergi ke link -ampil.php...
+enapa gak taro aja sekaligus di satu tempat, jadi diba!ah Qorm 7nput langsung tampil komentarnya....
#unakan perintah, in1lu2eIJE !okeh buka dulu 3orm9-amu.php dan ari ode ini ;03orm= lalu tambahkan...
;<php
inludeL:tampil.php:MF
<=
Lengkapnya kayak gini...
Hasilnya
SIN#" '.OT
Pernah gua mau komentar yang isinya kayak gini
4sript5alertLJ[SSJM48sript5
#ak ada maksud apa-apa, uman misalkan kita mau sharing tentang [SS atau apalah yang ada tanda single
quote L B M
Malah error kayak gini...
#agal Perin-ah S'"&ou ha,e an error in your S'" syn-a5E 1he1k -he manual -ha- 1orrespon2s -o your !yS'" ser,er
,ersion 3or -he righ- syn-a5 -o use near BKSSBJBJB a- line >
$aduh, ,ah itu bisa banget diman&aatin untuk tipe serangan yang bernama S'" In7e1-ion... 1paan tuh/
#oogling atuh 'ro....
Untuk bagaimana pengamanannya banyak banget aranya...1da perintah mysLl9real9es1ape9s-ring yang
berguna untuk menonakti&kan karakter-karakter khusus atau perintah SQL 7njetion yang dibaa oleh MySql,
magi19Luo-e9gp1, a22slashes, dan masih banyak lagi...
,ah disini kita akan menoba &ungsi mysLl9real9es1ape9s-ring... Gadi karakter single quote akan dibaa sebagai
karakter teks biasa...
Sebenernya menggunakan ereg9repla1eIJ pun bisa...
HtCtPesan 9 ereg;replaeLJEJ,JEampFJ,HtCtPesanMF 88 mengganti E dengan EampF
HtCtPesan 9 ereg;replaeLJ:J,JEquotFJ,HtCtPesanMF 88 mengganti : dengan EquotF
HtCtPesan 9 ereg;replaeL:J:,JErsquoFJ,HtCtPesanMF 88 mengganti J dengan ErsquoF
0api bosen kan, ari yang baru...
Langsung aja buka input;bukutamu.php dan edit lagi
HtCt,ama 9 trimLstrip;tagsLH;P"S0IJtCt,amaJKMMF
HtCt2mail 9 trimLstrip;tagsLH;P"S0IJtCt2mailJKMMF
HtCtPesan 9 trimLhtmlentitiesLH;P"S0IJtCtPesanJKMMF
Gadi seperti berikut
HtCt,ama 9 trimLstrip;tagsLmysql;real;esape;stringLH;P"S0IJtCt,amaJKMMMF
HtCt2mail 9 trimLstrip;tagsLmysql;real;esape;stringLH;P"S0IJtCt2mailJKMMMF
HtCtPesan 9 trimLhtmlentitiesLmysql;real;esape;stringLH;P"S0IJtCtPesanJKMMMF
Pas dioba
S!I" OTO!ATIS< Or (ha- ,er Tha- /J
#ini loh, intinya kan kadang kita males banget kan ngetik kata-kata buat smilenya... ,gerti kan/
+an males banget nulis DJ, KD apalagi kalo rumit... Tontohnya kayak ininih...
,ah disini saya tambahin neh beberapa sript yang kalo kita klik gambarnya bakalan munul kata-kata untuk
smilenya...
'uat Projet baru dan pilih $S atau $a,as1rip-... .an paste ode berikut
%ar smile 9 ne! 1rrayLMF
smile.pushLJZZ3grinZZ3JMF
smile.pushLJZZ3smileZZ3JMF
smile.pushLJZZ3[.ZZ3JMF
smile.pushLJZZ3C;CZZ3JMF
&untion append0eCt0oTommentLteCtM O
%ar omment1rea 9 doument.get2lement'y7dLJtCtPesanJMF
omment1rea.%alue 9 omment1rea.%alue Y teCtF
P
.an simpan dengan nama smiley.7s dan untuk bagian ini
smile.pushLJZZ3grinZZ3JMF
smile.pushLJZZ3smileZZ3JMF
smile.pushLJZZ3[.ZZ3JMF
smile.pushLJZZ3C;CZZ3JMF
'isa kalian tambahkan sesuai kebutuhan.
Sekarang buka inpu-9buku-amu.php dan edit smilenya aja hingga menjadi seperti ini
HtCtPesan9ereg;replaeL:3grin3:,:4img sr9smiles8grin.gi&5:,HtCtPesanMF
HtCtPesan9ereg;replaeL:3smile3:,:4img sr9smiles8smile.gi&5:,HtCtPesanMF
HtCtPesan9ereg;replaeL:3[.3:,:4img sr9smiles8[..gi&5:,HtCtPesanMF
HtCtPesan9ereg;replaeL:3C;C3:,:4img sr9smiles8C;C.gi&5:,HtCtPesanMF
#ak ada yang dirubah, uman smilenya aja... 'iar bisa membedakan yang mana smile LteksM dan smile
LgambarM. Gadi ditambahin L3M di depan dan belakangnya...
+emudian buka 3orm9-amu.php dan sisipkan ode berikut setelah
4td5Pesan48td5
4td5
Sehingga lengkapnya...
4td5Pesan48td5
4td5
4img sr9:smiles8grin.gi&: alt9:3grin3: title9:3grin3: onTlik9:append0eCt0oTommentLJ3grin3JM: !idth9:@=: height9:@=:5
4img sr9:smiles8smile.gi&: alt9:3smile3: title9:3smile3: onTlik9:append0eCt0oTommentLJ3smile3JM: !idth9:@=:
height9:@=:5
4img sr9:smiles8[..gi&: alt9:3[.3: title9:3[.3: onTlik9:append0eCt0oTommentLJ3[.3JM: !idth9:@=: height9:@=:5
4img sr9:smiles8C;C.gi&: alt9:3C;C3: title9:3C;C3: onTlik9:append0eCt0oTommentLJ3C;C3JM: !idth9:@=: height9:@=:5
4br54br54teCtarea name9:tCtPesan: ols9:@=: !idth9:??=: height9:A=: ro!s9:@:
id9:tCtPesan:548teCtarea548td5
#ambarnya
7ni berguna untuk menampilkan da&tar-da&tar smile pada 3orm9-amu.php.
0erakhir sisipkan sript berikut diba!ah ;hea2= untuk men1ari smiley.7s yang tadi telah kita buat...
4sript type9:teCt8ja%asript: sr9:smiley.js:548sript5
Gangan lupa untuk menyesuaikan smile dan shortutnya pada ketiga &ile diatas
inpu-9buku-amu.php,3orm9-amu.php 2an smiley.7s
Hasilnya...
Hasilnya...
!N#%IT.N# $.!"A% KO!NTAR
$eks, uman tambahan aja...
'uka -ampil.php dan ari ode diba!ah ini
inlude :koneksi.php:F
Hsql0ampil 9 :S2L2T0 U Q("M tamu "(.2( 'Y no;tamu .2ST:F
Hqry0ampil 9 mysql;queryLHsql0ampil, HkoneksiM
or die L:#agal query:.mysql;errorLMMF
.an diba!ahnya tambahkan ode
Htotal 9 mysql;num;ro!sLHqry0ampilMF
+emudian diba!ah e1ho M;0-able=ME tambahkan
eho :Gumlah komentar 3 4b5Htotal48b5:F
Gadi lengkapnya kayak gini
Hasilnya...
Penjelasan dikit, &ungsi mysLl9num9ro+s adalah untuk memperoleh in&ormasi jumlah reord8baris data dari suatu
query.
CAPTC%A
L'eberapa in&ormasi saya ambil dari 7lmuhaking.omM
Cap-1ha IComple-ely Au-oma-e2 Turing Tes- To Tell Compu-ers an2 %uman Apar-J adalah sebuah test8ujian yang
)&ully automated* untuk membedakan manusia dengan komputer. Ujian ini harus dibuat sedemikian rupa
sehingga teknologi komputer tidak bisa mengerjakan dengan benar tapi bisa dengan mudah dikerjakan oleh
manusia.
Taptha bisa direpresentasikan dalam berbagai bentuk seperti3
Te5-
#ambar
)i2eo
0eCt adalah bentuk penyimpanan in&ormasi yang sangat sederhana dan in&ormasi yang diambil tidak
memerlukan pemrosesan apa-apa sehingga bisa dengan mudah dikerjakan oleh mesin. $a2i sanga- berbahaya
menggunakan -e5-.
#ambar dalam komputer disimpan dalam bentuk kumpulan !arna atau piCel kemudian dienode dalam &ormat
tertentu. #ambar mengandung in&ormasi yang terserat dan implisit. 7n&ormasi dalam gambar harus diproses
dengan perhitungan dan komputasi yang kompleks untuk bisa menangkap in&ormasi didalamnnya.
\ideo adalah kumpulan image dan suara yang disusun sehingga menampilkan suatu in&ormasi. $alaupun
memiliki kompleksitas yang tinggi namun jarang digunakan dikarenakan pertimbangan besarnya ukuran &ile
%ideonya.
,ah kesimpulannya bentuk Taptha yang paling umum digunakan adalah image atau gambar. ,ah soal
keamanan tergantung dari seberapa rumit gambarnya... +alo gambar tapi bakgroundnya putih doang sama
aja, mesin bisa membaa in&ormasi didalamnya dengan sempurna... +ayak diba!ah neh...
"ke sekarang lupain dulu buku tamunya, sekarang kita &okusin dikit mengenai Taptha...
.ulu gua pernah buat yang seperti ini...
a1-ion.php
4/php
i&LissetLH;P"S0IJsubmitJKMM
O
Hangkanya9H;P"S0IJangkanyaJKF
Hsembunyiapa9H;P"S0IJsembunyiapaJKF
i&LHangkanya99HsembunyiapaM
O
print :Lo +eren banget 'ro...:F
P
else
O
print :Lo Salah Masukin +odenya 'os, bisa matematika gak seh/:F
P
P
/5
login.php
4/php
Him 9 7mageTreateL?==, A=MF 88buat image
H!hite 9 7mageTolor1lloateLHim, =,=, =MF
Hblak 9 7mageTolor1lloateLHim, >?=, ?==, <BMF
srandLLdoubleMmirotimeLMU>======MF
Hstring 9 randL>,>=MF 881ngka Pertama
Hstring?9randL>,>=MF 881ngka +edua
Hstring69:Hstring Y Hstring?:F
H%eri&iation 9 Hstring6F
Hnilaisembunyi9HstringYHstring?F
7mageQillLHim, =, =, HblakMF
7mageStringLHim, A, S=, >=, H%eri&iation, H!hiteMF
7magejpegLHim, :aptha.png:MF
7mage.estroyLHimMF
print :4&orm ation9Jation.phpJ method9JpostJ5:F
print :Toba ja!ab kalo lo manusia beneran34br5:F
print :4input type9JhiddenJ %alue9JHnilaisembunyiJ name9JsembunyiapaJ5:F
print :4input type9JteCtJ name9JangkanyaJ siDe9J?=J54br5:F
print :4img sr9Japtha.pngJ border9J=J54br54br5:F
print :4input type9JsubmitJ name9JsubmitJ %alue9J+irimJ548&orm5:F
/5
,ah jadinya kayak gini...
7ntinya soure diatas adalah men1o1okkan -e5- NangkanyaO yaitu tempat menginput ja!aban dengan
sembunyi1ap1a yaitu ja!aban yang tersembunyi.
$uih gua dah merasa gua adalah Programmer paling heba- sepan7ang se7arah... ,ah pas gua baa salah satu
1rtikel di Ilmuha1king.1om yang mengulas tentang bahaya penggunaan %i22en )alue pa2a Cap-1ha
print :4input type9JhiddenJ %alue9JHnilaisembunyiJ name9JsembunyiapaJ5:F
i&LHangkanya99HsembunyiapaM
$alah parah banget dah... Toba kalian do!nload a22ons 8ire3o5 (eb De,eloper... LUdah ada di Soure
TodeM... Penggunaannya tinggal geser aja 1ddonsnya ke 'ro!ser, otomatis langsung keinstall.
+lik yang 8orms P Display 8orm De-ails. Liat hasilnya...
Parah, keliatan tuh ja!abannya >?... +omputer pasti ja!ab dengan mudah...
$okeh langsung aja praktek yah, saya gak tau apakah aptha yang saya buat dah memenuhi kriteria yang
aman tapi disini saya buat sesimple dan seasik mungkin Lhehehehe...M biar gak ribet. Yang penting tergantung
pengembangan dari kalian aja...
+elebihannya apa yah/ Paling uman ran2om ba1kgroun2 dan disini saya men1o1okkan 2engan Session bukan
2engan hi22en 3iel2 seperti yang saya lakukan diatas...
Mungkin ada yang belom tau session neh/ $aduh, #oogling dulu deh 'ro...
ToD saya juga lagi belajar, ini aja maksa... $akakakakakak... 0api gak sulit kok...
Pertama kita akan membuat &ile php yang berguna untuk melakukan random image... 'uat projet baru PHP
dengan nama Ran2omImage.php dan paste ode berikut...
4/php
88 Start session
session;startLMF
88 +arakter alpha numerik untuk kode
Hstr 9 J1'T.2Q#H7G+LM,"PQ(S0U\$[Y]abde&ghijklmnopqrstu%!CyD=>?6A@<SBXJF
88 Men-generate @ karakter kode %eri&ikasi
88 seara random, dengan str;shu&&leLM
Hrand 9 substrLstr;shu&&leLHstrM, =, @MF
88 (andom bakground images, min9> dan maC96
Hno 9 randL>, 6MF
Himage 9 imagereate&romjpegL:.8img8bgHno.jpg:MF
H&ont 9 @F
Hblak 9 imageoloralloate LHimage, =, =, =MF
Hy 9 LimagesyLHimageM-image&ontheightLH&ontMM 8 ?F
88 Menulis kode %eri&ikasi di bakground
imagestring LHimage, H&ont, B, Hy, Hrand, HblakMF
88 Hash hasil random, dan simpan di session
H;S2SS7",IJTruD6,JK 9 md@LHrandMF
headerLJTontent-type3 image8jpegJMF
imagejpegLHimageMF
imagedestroyLHimageMF
/5
+emudian kalian buka 3orm9-amu.php dan edit untuk menambahkan &orm untuk pengisian aptha dengan
nama -5-Cap1a...
0ambahkan (o! diba!ah tCtPesan sehingga menjadi kayak gini.
Lalu kemudian pada kotak diba!ah )Pesan* tambahkan img sr1 nah jadinya kayak gini...
,ah pada ode ini
4tr5
4td5EnbspF48td5
4td54input name9:tCtTapa: type9:teCt: id9:tCtTapa:548td5
#anti QnbspE-nya dengan
4img sr9:(andom7mage.php: border9>5
Gadinya
4tr5
4td54img sr9:(andom7mage.php: border9>548td5
4td54input name9:tCtTapa: type9:teCt: id9:tCtTapa:548td5
"h iya lupa, tadi kan pada sript Ran2omImage.php ada yang kayak gini
88 (andom bakground images, min9> dan maC96
Hno 9 randL>, 6MF
Himage 9 imagereate&romjpegL:.8img8bgHno.jpg:MF
,ah kita harus menyiapkan 6 gambar GP# dan masukkan di dalam &older img nah gua udah siapin neh...
0uh dia gambarnya... +alian bisa edit atau gambar sedikit...
,ah tahap terakhir buka 2an e2i- inpu-9buku-amu.php
.iba!ah in1lu2e Mkoneksi.phpME tambahkan
session;startLMF
Untuk memulai session...
.iba!ah @,ali29mail D MRIA.9aHFSHTHCUA.9aHFSHTHCVJWIIAaHFSHTHCU6.JVIAaHFSHTHCUJI6.AaHFCX>,:YJJ@ME tambahkan...
HtCtTapa 9 H;P"S0IJtCtTapaJKF
7tu -5-Cap1a yang kita buat pada 3orm9-amu.php
Lalu diba!ah
else i&LstrlenLHtCtPesanM4>M
O
eho :Pesan Masih +osong:F
P
0ambahkan
else i&Lmd@LHtCtTapaM 45 H;S2SS7",IJTruD6,JKM
O
eho :Tapa Salah:F
P
#ambarnya
Gadi apabila -5-Cap1a 2an session bernama CruF:N -i2ak sama maka Cap1a Salah...
Udah deh dan langsung obain aja... ,ih &oldernya jadi kayak gini...
&older img tempat untuk bakground apa, smiles tempat smiles, dan < &ile php yang tadi dari a!al telah kita
buat serta > &ile js untuk Smile "tomatis.
PA#IN#
0au paging gak neh/ Toba perhatiin gambar diba!ah ini...
#ak ada yang aneh yah/ ,ah oba kalo tuh komentar ada >==, ?== pokoknya banyak banget... #ak
kebayangkan keba!ahnya panjang banget...
Paging juga dikenal dengan sebutan pagina-ion Ipagina-eJ, pre,iousHne5-, -ampilan per halaman, page
na,iga-or, halaman *..>..:, 2s-. Pokoknya in-inya sua-u -ehnik un-uk memba-asi 2a-a yang akan 2i-ampilkan
2alam sua-u halaman +eb.
'iasanya paging digunakan untuk menampilkan data yang banyak dan hampir di setiap aplikasi !eb paging
selalu ada. Langsung aja...
"ke langsung aja, gini 'ro biar gak ribet kita buka &ile -ampil.php 2an gan-i semua 1o2enya dengan ode
berikut...
4table !idth9:@<@: border9:=: ellspaing9:>: ellpadding9:?:5
4tr5
4td !idth9:S@:5,ama48td5
4td !idth9:>@A:52mail48td5
4td !idth9:?@@:5Pesan48td5
4/php
inlude :koneksi.php:F
Hbatas9@F
Hhalaman9H;#20IJhalamanJKF
i&LemptyLHhalamanMM
O
Hposisi9=F
Hhalaman9>F
P
else
O
Hposisi 9 LHhalaman->M U HbatasF
P
Htampil9:selet U &rom tamu "(.2( 'Y no;tamu .2ST limit Hposisi,Hbatas:F
Hhasil9mysql;queryLHtampilMF
!hile LHdata9mysql;&eth;arrayLHhasilMMO
eho :4table !idth9J@<@J border9J=J ellspaing9J>J ellpadding9J?J5
4tr5
4td !idth9JS@J5HdataInamaK48td5
4td !idth9J>@AJ5HdataIemailK48td5
4td !idth9J?@@J5HdataIpesanK48td5
48tr5:F

P
eho :48table54br5:F
H&ile9:&orm;tamu.php:F
Htampil?9:selet U &rom tamu:F
Hhasil?9mysql;queryLHtampil?MF
Hjmldata9mysql;num;ro!sLHhasil?MF
Hjmlhalaman9eilLHjmldata8HbatasMF
88link ke halaman sebelumnya Lpre%iousM
i&LHhalaman 5 >M
O
Hpre%ious9Hhalaman->F
eho :41 H(2Q9H&ile/halaman9>544 Qirst4815 R
41 H(2Q9H&ile/halaman9Hpre%ious54 Pre%ious4815 R :F
P
else
O
eho :44 Qirst R 4 Pre%ious R :F
P
Hangka9LHhalaman 5 6 / : ... : 3 : :MF
&orLHi9Hhalaman-?FHi4HhalamanFHiYYM
O
i& LHi 4 >M
ontinueF
Hangka .9 :4a hre&9H&ile/halaman9Hi5Hi4815 :F
P
Hangka .9 : 4b5Hhalaman48b5 :F
&orLHi9HhalamanY>FHi4LHhalamanY6MFHiYYM
O
i& LHi 5 HjmlhalamanM
breakF
Hangka .9 :4a hre&9H&ile/halaman9Hi5Hi4815 :F
P
Hangka .9 LHhalamanY?4Hjmlhalaman / : ...
4a hre&9H&ile/halaman9Hjmlhalaman5Hjmlhalaman4815 : 3 : :MF
eho :Hangka:F
88link kehalaman berikutnya L,eCtM
i&LHhalaman 4 HjmlhalamanM
O
HneCt9HhalamanY>F
eho : R 41 H(2Q9H&ile/halaman9HneCt5,eCt 54815 R
41 H(2Q9H&ile/halaman9Hjmlhalaman5Last 554815 :F
P
else
O
eho : R ,eCt 5 R Last 55:F
P
eho :4p50otal +omentar 3 4b5Hjmldata48b5 orang48p5:F
/5
Lah kok diganti, biar gampang aja jelasinnya 'ro. Soalnya kalo sisip-sisipin kadang ribet dan terlalu banyak
gambar
,ah sekarang liat hasilnya 'ro...
BIAR TA!BA% RAPI%
0ambahan aja, jadi pada setiap komentar kita bisa memberi garis pembatasnya...
Langsung aja, pertama buka tampil.php dan tambahkan pada ode
!hile LHdata9mysql;&eth;arrayLHhasilMMO
eho :4table !idth9J@<@J border9J=J ellspaing9J>J ellpadding9J?J5
4tr5
4td !idth9JS@J5HdataInamaK48td5
4td !idth9J>@AJ5HdataIemailK48td5
4td !idth9J?@@J5HdataIpesanK48td5
48tr5:F
0epat diba!ahnya
Hgaris9nl?brLHdataItCtPesanKMF
eho :Hisian 4hr olor9^>2==QQ noshade9noshade 85:F
Gadi lengkapnya
!hile LHdata9mysql;&eth;arrayLHhasilMMO
eho :4table !idth9J@<@J border9J=J ellspaing9J>J ellpadding9J?J5
4tr5
4td !idth9JS@J5HdataInamaK48td5
4td !idth9J>@AJ5HdataIemailK48td5
4td !idth9J?@@J5HdataIpesanK48td5
48tr5:F
Hgaris9nl?brLHdataItCtPesanKMF
eho :Hisian 4hr olor9^>2==QQ noshade9noshade 85:F
,ah maka kalian akan mendapatkan hasil seperti berikut... hr 1olorDZ*SS88 bisa kalian rubah sesuai keinginan...
RDIRCT .R"
$e!... +etika kita akan membuka bukutamu kita maka akan tampil seperti ini...
+eliatan gak asik banget... Solusinya adalah salah satu dari &ile diatas diberi nama dengan in2e5.php yang tidak
lain tidak bukan adalah 3orm9-amu.php...
Solusi lain adalah menyiapkan &ile in2e5.php baru yang berisi ode sebagai berikut...
4/php
headerLJloation3&orm;tamu.phpJMF
/5
7ntinya bro!ser akan membaa terlebih dahulu &ile indeC.php yang kemudian berisi rediret menuju
&orm;tamu.php
0api permasalahan belum selesai... +etika saya menoba untuk mengganti U(Lnya...
h--p/00lo1alhos-0shou-bo50buku-amu0Buku-amu[>SU[>SSmile[>SO-oma-is[>SU[>SCap-1ha[>SU
[>SPaging03orm9-amu.php
Menjadi
h--p/00lo1alhos-0shou-bo50buku-amu0Buku-amu[>SU[>SSmile[>SO-oma-is[>SU[>SCap-1ha[>SU
[>SPaging0smiles0
Saya dapat melakukan 'ro!sing terhadap smiles-smiles yang ada di dalam &older smiles... 1pakah kita harus
menaruh &ile indeC.php di dalamnya/
4/php
headerLJloation3..8&orm;tamu.phpJMF
/5
'isa, gak ada masalah... Permasalahannya apabila kita memiliki banyak &older dan apakah harus membuat
indeC.php sesuai dengan jumlah &older/ Solusi yang paling gampang adalah menggunakan .htaess L+alian
bisa #oogling 3pM.
isinya
"ptions 1ll -7ndeCes
Gadi seara otomatis akan munul
Seara otomatis ketika kita ingin melakukan bro!sing ke dalam &older...
RDIRCT BRO(SR
Sebenernya ode yang digunakan ukup sederhana... .engan membaa bro!ser apa yang digunakan
dengan memakai &ungsi @9SR)RAB%TTP9.SR9A#NT .an akan langsung merediret ke &ile tujuan...
Todenya sebagai berikut, buat projet PHP baru dan beri nama re2ire1-.php
;<php
i& LeregiLJMS72J,H;S2(\2(IJH00P;US2(;1#2,0JKMM
O
eho :You are using 7nternet 2Cplorer.4br 85:F
headerLJloation372.htmlJMF
P
elsei&LeregiLJQire&oCJ,H;S2(\2(IJH00P;US2(;1#2,0JKMM
O
eho :You 1re Using MoDila Qire&oC.48br5:F
headerLJloation3QQ.htmlJMF
P
elsei&LeregiL J"peraJ,H;S2(\2(IJH00P;US2(;1#2,0JKMM
O
eho :You 1re Using "pera:F
headerLJloation3"pera.htmlJMF
P
else
O
2ho :Your 'ro!ser 7s :.H;S2(\2(IJH00P;US2(;1#2,0JKF
P
<=
Misalkan kita ingin pengunjung hanya bisa melihat !eb kita dengan menggunakan Qire&oC lakukan seperti
berikut... 'uat > &ile html baru yang apabila pengunjung tidak menggunakan Qire&oC akan teridiret kesitu...
0erserah isinya mau apa saja...
SSSION
$alah, sebenernya saya juga belum mahir neh dalam penggunaan Session dan Tookies... Moga-moga bisa saya
jelasin dengan sesederhana mungkin biar gak bingung...
Session dalam kaitannya dengan !aktu merupakan !aktu seorang user mengunjungi suatu situs dan akan
berakhir ketika user menutup situs tersebut.
Con-oh penggunaan Session
Bua- pro7e1- P%P
in2e5.php
4&orm ation9:login.php: method9:P"S0:5
Pass!ord3 4input type9:pass!ord: name9:passnya:54br5
4input type9:submit:5
48&orm5
login.php
;<php
session;startLMF
i&LH;P"S0IpassnyaK 99 :>?6A@:M O
H;S2SS7",IJliatdunkJK 9 :yes:F
headerL:Loation3 rahasia.php:MF
P else O
dieL:Salah Pass!ordnya:MF
P
<=
"ogou-.php
;<php
session;startLMF
session;destroyLMF
eho :Sekarang 1nda 0elah L=g"ut:F
eho :4br54a hre&9JindeC.phpJ5L=gin48a5:F
<=
rahasia.php
;<php
session;startLMF
i&LH;S2SS7",IJliatdunkJK 99 :yes:M O
eho :7ni Pesan (ahasia Untuk 1dmin 3p:F
P else O
dieL:Harap Login 0erlebih .ahulu:MF
P
eho :4br54a hre&9Jlogout.phpJ5Log"ut48a5:F
<=
.isini saya belum menggunakan database... Langsung aja, ketika saya memasukkan )*>:4G* sebagai pass!ord
maka akan teripta sebuah session )lia-2unk*...
.an pada rahasia.php disitu tertulis kalau sessionnya D Nlia-2unkO maka yang akan tampil adalah pesan untuk
admin apabila tidak ada session )liatdunk* maka harus login terlebih dahulu...
Qungsi session92es-roy pada logou-.php digunakan un-uk mengakhiri session.
Session Dengan !enggunakan Da-abase
Pertama-tama yang harus kita siapkan adalah membuat databasenya terlebih dahulu yaitu user2b
Setelah itu buat tabel )-bl9userO dan number o& &ieldsnya :.
Qield 0ype Length8\alues 2Ctra
id 7,0 6 auto;inrement Primary +ey
username \1(TH1( @=
pass!ord \1(TH1( @=
Lalu klik S1\2...
0ahap selanjutnya adalah membuat Qorm untuk melakukan (egister.. L&orm;login.phpM. +alian bisa buat
seadanya kok Yang penting ada teCt&ield untuk Username, Pass!ord dan Ulangi Pass!ord...
Gangan lupa Properties masing-masing 0eCtQield
Properties TextField Type
+sername txtnama ,ingle Line
Pass-ord txtpass-ord Pass-ord
+langi Pass-ord txtu_pass-ord Pass-ord
,ih odenya )3orm92a3-ar.php*
4style type9:teCt8ss:5
4N--
.style> O&ont-siDe3 ?ApCP
--5
48style5
4&orm name9:&orm>: method9:post: ation9:inpu-92a3-ar.php:5
4table !idth9:A==: border9:=:5
4tr5
4td olspan9:?:54span lass9:style>:5(egister48span548td5
48tr5
4tr5
4td5Username 3 48td5
4td54input name9:-5-nama: type9:teCt: id9:-5-nama:548td5
48tr5
4tr5
4td5Pass!ord 3 48td5
4td54input name9:-5-pass+or2: type9:pass!ord: id9:-5-pass+or2:548td5
48tr5
4tr5
4td 5Ulangi Pass!ord 3 48td5
4td54input name9:-5-19pass+or2: type9:pass!ord: id9:-5-19pass+or2:548td5
48tr5
4tr5
4td olspan9:?:5 48td5
48tr5
4tr5
4td olspan9:?:54input type9:submi-: name9:Submi-: %alue9:Regis-er:548td5
48tr5
48table5
48&orm5
inpu-92a3-ar.php
;<php
inlude :on&ig.php:F
HtCtnama 9 trimLstrip;tagsLmysql;real;esape;stringLH;P"S0IJtCtnamaJKMMMF
HtCtpass!ord 9 trimLstrip;tagsLmysql;real;esape;stringLH;P"S0IJtCtpass!ordJKMMMF
HtCtu;pass!ord 9 trimLstrip;tagsLmysql;real;esape;stringLH;P"S0IJtCtu;pass!ordJKMMMF
Hpassmd@ 9 md@LHtCtpass!ordMF 88Mengenkripsi HtCtpass!ord
i&LstrlenLHtCtnamaM4>M
O
eho :,ama Masih +osong:F
P
else i&LstrlenLHtCtpass!ordM4>M
O
eho :Pass!ord Masih +osong:F
P
else i&LstrlenLHtCtu;pass!ordM4>M
O
eho :Pass!ord Masih +osong:F
P
else i&LHtCtpass!ord N9 HtCtu;pass!ordM
O
print :4sript5alertLJ+on&irmasi pass!ord harus sama dengan pass!ord NJMF
ja%asript3history.goL->MF48sript5:F
eCitF
P
else O
Hek;data9:Selet U &rom tbl;user !here username9JHtCtnamaJ:F 88 Melakukan Pemeriksaan pada Username di
tabel tbl;user
Hhasil9mysql;queryLHek;dataMF
Hhasil;ek 9 mysql;num;ro!sLHhasilMF
i& LHhasil;ek99=MO 88Gika .ata 0idak .itemukan Maka
HsqlSimpan 9 :7,S2(0 7,0" tbl;userLusername,pass!ordM
%aluesLJHtCtnamaJ, JHpassmd@JM:F
mysql;queryLHsqlSimpan, HkoneksiM
or die L:#agal Perintah SQL:.mysql;errorLMMF
eho :P2,Y7MP1,1, '2(H1S7L:F
P
else
O
eho :.ata 8 Username Sudah 1da:F
P
P
<=
Tode diatas adalah ation dari &orm;register. Mungkin bagian yang baru kita lihat adalah
else i&LHtCtpass!ord N9 HtCtu;pass!ordM
O
print :4sript5alertLJ+on&irmasi pass!ord harus sama dengan pass!ord NJMF
ja%asript3history.goL->MF48sript5:F
eCitF
P
,ah ode diatas berguna apabila HtCtpass!ord dan HtCtu;pass!ord tidak sama maka akan munul pesan
kesalahan.
Sedangkan baris berikut
else O
Hek;data9:Selet U &rom tbl;user !here username9JHtCtnamaJ:F 88 Melakukan Pemeriksaan pada Username di
tabel tbl;user
Hhasil9mysql;queryLHek;dataMF
Hhasil;ek 9 mysql;num;ro!sLHhasilMF
i& LHhasil;ek99=MO 88Gika .ata 0idak .itemukan Maka
HsqlSimpan 9 :7,S2(0 7,0" tbl;userLusername,pass!ordM
%aluesLJHtCtnamaJ, JHpassmd@JM:F
mysql;queryLHsqlSimpan, HkoneksiM
or die L:#agal Perintah SQL:.mysql;errorLMMF
eho :P2,Y7MP1,1, '2(H1S7L:F
P
else
O
eho :.ata 8 Username Sudah 1da:F
P
P
Pertama kali yang dilakukan adalah melakukan perintah S2L2T0 yaitu menari apakah di dalam tbl;user ada
HtCtnama Lyaitu username yang diinputkan oleh userM dan setelah itu dengan menggunakan mysql;num;ro!s
yang digunakan untuk memperoleh in&ormasi jumlah reord atau baris data dari suatu query. 1pabila data tidak
ditemukan, Lditandai dengan )99* yaitu dibaa sama dengan, jika )N9* berarti tidak sama denganM maka
melakukan perintah 7,S2(0 yaitu memasukkan semua in&ormasi ke dalam database. Gika ada maka .ata 8
Username sudah ada. Hal ini berguna untuk menegah terjadinya data yang sama.
Setelah itu kita akan membuat &orm login...
3orm9login.php
4html54head54title5Halaman Login ... 48title548head5
4body5
4table border9> align9enter5
4&orm method9post ation91ek.php5
4tr5
4td5Username48td5
4td54input type9teCt name9username548tr5
4tr5
4td5Pass!ord48td5
4td54input type9pass!ord name9pass+or2548tr5
4tr54td548td54td54input type9submit name9submit %alue9Submit548tr5
4tr5
4td548td5
4td54a hre&9:3orm92a3-ar.php:5(egister/48a5
48tr5
48&orm5
48table5
48body5
48html5
1ek.php
;<php
session;startLMF 88 Memulai Session
inlude :on&ig.php: F 88 Memanggil on&ig.php untuk kon&igurasi database
Husername 9 H;P"S0IJusernameJKF
Hpass!ord 9 H;P"S0IJpass!ordJKF
Hpass!ordhash 9 md@LHpass!ordMF 88 Mengenkripsikannya untuk diookan dengan database
Hsql 9 :selet username, pass!ord &rom tbl;user !here username 9 JHusernameJ and pass!ord 9
JHpass!ordhashJ:F
Hsqlrun 9 mysql;queryLHsqlMF
Hek 9 mysql;num;ro!sLHsqlrunMF
i& LHek 59 > M
O
H;S2SS7",IJusernameJK 9 HusernameF
headerL:loation3 main.php:MF
P
else
headerL:loation3 &orm;login.php:MF
<=
Tek.php adalah ation dari &orm;login.php. Perintah @pass+or2hash D m2GI@pass+or2JE berguna untuk
melakukan enkripsi data. ,ah kalau mau juga semua data yang ada di database termasuk username, email,
pesan, dll bisa dienkripsi. 'iar lebih aman Lmungkin M. ,ah apabila setelah dilakukan pengeekkan pass!ord
ditemukan maka akan diberikan sessionIJusernameJK dan setelah itu akan dirediret menuju main.php.
main.php
;<php
session;startLMF 88 Memulai Session
i& L7SS20LH;S2SS7",IJusernameJKMM
O
eho :Selamat .atang4br5:F
eho H;S2SS7",IJusernameJKF
eho :4br54a hre&9logout.php/logout9yes5logout48a5:F
P
else
headerL:loation3 &orm;login.php:MF
<=
,ah untuk main.php akan dilakukan pengeekan session. Gika terdapat sessionIJusernameJK maka akan
ditampilkan pesan selamat datang. 1pabila tidak ada maka akan dirediret menuju &orm;login.php.
1on3ig.php
;<php
88 Gangan Lupa Sesuaikan .engan Settingan +omputer +ita
HmyIJhostJK 9 :loalhost:F
HmyIJuserJK 9 :root:F
HmyIJpassJK 9 :ruDenaldo:F
HmyIJdbsJK 9 :userdb:F
Hkoneksi 9 mysql;onnetLHmyIJhostJK, HmyIJuserJK, HmyIJpassJKMF
i& LN HkoneksiM O
eho :#agal +oneksi 'ro....:F
mysql;errorLMF
P
mysql;selet;dbLHmyIJdbsJKM
or die L:.atabase #ak 1da:.mysql;errorLMMF
<=
,ah on&ig.php juga penting neh, jangan lupa dibuat untuk melakukan koneksi dengan database.
logou-.php
;<php
session;startLMF
i& LH;(2QU2S0IJlogoutJK 99 :yes:M
O
i&L7SS20LH;S2SS7",IJusernameJKMM
O
U,S20LH;S2SS7",IJusernameJKMF
P
P
headerL:loation3 &orm;login.php:MF
session;destroyLMF
<=
.i dalam main.php ada perintah seperti ini
eho :4br54a hre&9logout.php/logout9yes5logout48a5:F
,ah dalam logout.php apabila H;(2QU2S0IJlogoutJK 99 )yes* maka akan dilakukan penghapusan session.
Selesai dan kalian bisa menobanya. Setelah saya oba-oba ada satu hal yang mengganjal saya. Saya pernah
membuat !eb dengan menggunakan metode diatas dan apa yang terjadi...
h--p/00lo1alhos-0+ebgua01a-1hmei3you1anasshole0mo2ul0mo29agen2a0agen2a.php
7ni hanya sebagai ontoh, apabila saya mengetahui isi direktori di dalam &older admin yaitu )
athmei&youanasshole8modul8mod;agenda8agenda.php* maka apa yang terjadi/
$alaupun memang saya tidak dapat melakukan pengisian data uman gimana gitu
Saya hanya tidak ingin apabila orang lain melakukannya dan mungkin melikat data-data penting... 0erlalu
paranoid neh...
Tontoh sederhana aja yah... Misalkan kita membuat jumlah9user.php yang berguna untuk menghitung jumlah
user pada tbl;user.
7umlah9user.php
;<php
inlude :on&ig.php:F
Hsqljumlah 9 mysql;queryL:S2L2T0 U Q("M tbl;user:, HkoneksiMF
Htotal 9 mysql;num;ro!sLHsqljumlahMF
eho :4br5Gumlah 1nggota 3 4b5Htotal48b5:F
<=
,ah ubah sedikit main.php
;<php
session;startLMF 88 Memulai Session
i& L7SS20LH;S2SS7",IJusernameJKMM
O
eho :Selamat .atang4br5:F
eho H;S2SS7",IJusernameJKF
in1lu2e M7umlah.phpME
eho :4br54a hre&9logout.php/logout9yes5logout48a5:F
P
else
headerL:loation3 &orm;login.php:MF
<=
Maka setelah kita melakukan login maka kita akan mendapatkan tampilan seperti berikut...
,ah oke, aman-aman aja... ,ah oba kita ketik di U(L
h--p/00lo1alhos-0login[>Sasik0Ne+[>S8ol2er07umlah.php
.an hasilnya adalah
Sementara kita tidak ingin orang lain melihatnya... Yang kita lakukan adalah membuat &ile php baru yang
bernama 1ek9session.php
;<php
session;startLMF
i&LN Lsession;is;registeredLusernameMMM O
eho :4di% align9enter54b5 P2(H1071, ..NNN 48b54br5:F
eho :U,0U+ M2L7H10 GUML1H US2( +1MU H1(US L"#7, .ULU 3p48di%5:F
inlude :&orm;login.php:F
eCitF
P
<=
,ah ode diatas digunakan untuk melakukan pengeekan sessionLusernameM...
,ah pada 7umlah9user.php tambahkan in1lu2e M1ek.session.phpME
;<php
inlude :on&ig.php:F
in1lu2e M1ek.session.phpME
Hsqljumlah 9 mysql;queryL:S2L2T0 U Q("M tbl;user:, HkoneksiMF
Htotal 9 mysql;num;ro!sLHsqljumlahMF
eho :4br5Gumlah 1nggota 3 4b5Htotal48b5:F
<=
Maka setelah kita belum melakukan login terlebih dahulu dan mengetikkan U(L tempat 7umlah9user.php berada
maka akan munul
TA!BA%AN I!PORT DATABAS
,ah bagi yang belum tau... Saya menyiapkan &ile bukutamu.sql di dalam &older db. ,ah sekarang
buka 'ro!ser dan menuju..
h--p/00lo1alhos-0phpmya2min0
0ulis databasenya dulu yaitu bukutamu dan reate
+lik tab import...
'ro!se bukutamu.sql
.an #o.... Selesai sudah...
"ke sampe disini dulu neh saya kasih tutorialnya... +enapa dah selesai, tenang aja... +alo 0UH1,
berkenan bakalan ada \.?,\.6 dan seterusnya...
'uset kalo saya selesain sampe jadi !ebsite pegel dah bakalan jadi basi nanti... Pokoknya kembangin
dah.... Saya tau kalian lebih hebat dari saya.... Hehehehehehe....
Saya gak saranin apa yang saya 7abarkan 2isini kalian -iru 2an men7a2i pa-okan... Saya hanya
men1oba un-uk men7a2ikan P%P men7a2i salah sa-u bahasa pemrograman yang asik 2an keren
bange-... P%P se5y bange- 2ah
Salam aja buat semuanya...
0hanks to3
H !y $S.S, (i-hou- &O. Im No-hing...
H !y 8amily Di Dunia Nya-a...
H !y 8amily Di Dunia !aya, $asakom, 2e,ilF1S2e, 1ho, K1o2e, An-i$asakom, 8lynin7a, D5line...
H +i-ha a.k.a ChrnS... &ang selalu menemani hari> gua... %ehehehehehe....
H An2 !y Bro-her Ari yang a2a 2isamping gua...
'est (egard
CruF:N
1ruFenal2oIdotKblogspo-IdotK1om
1ruFenal2oIatKgmailIdotK1om
1ruFenal2oIatKyahooIdotK1oIdotKi2
Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONSIA
!A"IN#SIA" DI"ARAN# KRAS

Anda mungkin juga menyukai