Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONESIA                              MA...
BELAJAR PHP DAN MYSQL BARENG NEWBIE V.1Pada kesempatan kali ini saya akan memberikan sedikit tutorial mengenai PHP dan MYS...
Kemudian pada Create new table on database bukutamu masukkan Name : tamu dan Number of fields : 4 danklik Go.Nah isi sesua...
Buka Windows Explorer kita dan langsung menuju keC:wampwwwBuat folder baru, misalkan folder “bukutamu”, nah nantinya semua...
Tambahkan 3 TextField dan 1 Button. Nih dia gambarnya...Buat sampai tampilannya seperti ini....Atur Properties untuk nama:...
Untuk Pesan:Dan untuk Bottonnya:        Lalu simpan dengan nama “form_tamu.php” dan simpan di dalam folder bukutamu yang t...
Oke, buka Project PHP baru,hapus semua code pada tab code dan isi dengan code sebagai berikut...<?php// Jangan Lupa Sesuai...
Nah isi password kita pada password dan klik Go.Sampai sini belum selesai Bos, jika kita ke PhpMyAdmin atau ke menu apapun...
}// Hanya Tambahan saja, jika tidak diperlukan bisa dihapus :)       echo "<p><a href=form_tamu.php>Kembali Ke Buku Tamu</...
Isi sesuai dengan keinginan kalian dan klik Kirim... Lalu klik untuk melihat buku tamu untuk melihat hasilnya...
VALIDASI-nya?...Wah, asik plus ribet banget neh kalo ngebahas soal ini pada buku tamu yang telah kita buat. Dan mungkinpem...
{      echo "Email Masih Kosong";      }Dan ganti menjadielse if(!eregi($valid_mail, $txtEmail))          {          echo ...
Nah sekarang isi dengan benar...Dan hasilnya adalah...Banyak fungsi-fungsi untuk melakukan validasi...Contohnya...Trim() y...
Sama halnya dengan email dan komentar nantinya... Untuk penggunaannya langsung aja bukainput_bukutamu.php dan cari code be...
Buka input_bukutamu.php dan code yang tadinya$txtNama       =       trim($_POST[txtNama]);$txtEmail      =       trim($_PO...
SMILES :)       Supaya lebih asik lagi kita tambahin smiles untuk bukutamunya... Disini saya menggunakan fungsiereg_replac...
Lalu buka input_bukutamu.php dan cari code berikut...else {Dibawahnya tambahkan         $txtPesan=ereg_replace("grin","<im...
Cobain langsung nehRibet yah pas kita Input Buku tamunya terus pake harus pergi ke link tampil.php...Kenapa gak taro aja s...
HasilnyaSINGLE QUOTEPernah gua mau komentar yang isinya kayak gini<script>alert(XSS)</script>Gak ada maksud apa-apa, cuman...
version for the right syntax to use near XSS)) at line 2Waduh, Nah itu bisa banget dimanfaatin untuk tipe serangan yang be...
SMILE OTOMATIS? Or What Ever That :)Gini loh, intinya kan kadang kita males banget kan ngetik kata-kata buat smilenya... N...
Kemudian buka form_tamu.php dan sisipkan code berikut setelah<td>Pesan</td>   <td>Sehingga lengkapnya...   <td>Pesan</td> ...
Hasilnya...Hasilnya...MENGHITUNG JUMLAH KOMENTARWeks, cuman tambahan aja...Buka tampil.php dan cari code dibawah iniinclud...
Hasilnya...Penjelasan dikit, fungsi mysql_num_rows adalah untuk memperoleh informasi jumlah record/baris data dari suatuqu...
Nah kesimpulannya bentuk Captcha yang paling umum digunakan adalah image atau gambar. Nah soalkeamanan tergantung dari seb...
Nah jadinya kayak gini...Intinya source diatas adalah mencocokkan text “angkanya” yaitu tempat menginput jawaban dengansem...
<?php// Start sessionsession_start();// Karakter alpha numerik untuk kode$str = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop...
Lalu kemudian pada kotak dibawah “Pesan” tambahkan img src nah jadinya kayak gini...Nah pada code ini  <tr>   <td>&nbsp;</...
Dibawah $valid_mail = "^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+.)*([a-z0-9-]+)(.[a-z]{2,3}))$"; tambahkan...$txtCapca     ...
PAGINGTau paging gak neh? Coba perhatiin gambar dibawah ini...Gak ada yang aneh yah? Nah coba kalo tuh komentar ada 100, 2...
$halaman=1;}else{        $posisi = ($halaman-1) * $batas;}$tampil="select * from tamu ORDER BY no_tamu DESC limit $posisi,...
echo "$angka";//link kehalaman berikutnya (Next)if($halaman < $jmlhalaman){         $next=$halaman+1;         echo " | <A ...
BIAR TAMBAH RAPIHTambahan aja, jadi pada setiap komentar kita bisa memberi garis pembatasnya...Langsung aja, pertama buka ...
REDIRECT URLWew... Ketika kita akan membuka bukutamu kita maka akan tampil seperti ini...Keliatan gak asik banget... Solus...
Secara otomatis ketika kita ingin melakukan browsing ke dalam folder...REDIRECT BROWSERSebenernya code yang digunakan cuku...
<form action="login.php" method="POST">Password: <input type="password" name="passnya"><br><input type="submit"></form>log...
Field                 Type                  Length/Values        Extraid                    INT                   3       ...
<td colspan="2"><input type="submit" name="Submit" value="Register"></td></tr></table></form>input_daftar.php<?phpinclude ...
exit;}Nah code diatas berguna apabila $txtpassword dan $txtu_password tidak sama maka akan muncul pesankesalahan.Sedangkan...
<td></td> <td><a href="form_daftar.php">Register?</a></tr></form></table></body></html>cek.php<?phpsession_start(); // Mem...
$koneksi                 = mysql_connect($my[host], $my[user], $my[pass]);if (! $koneksi) {          echo "Gagal Koneksi B...
Walaupun memang saya tidak dapat melakukan pengisian data cuman gimana gituSaya hanya tidak ingin apabila orang lain melak...
exit;}?>Nah code diatas digunakan untuk melakukan pengecekan session(username)...Nah pada jumlah_user.php tambahkan includ...
TAMBAHAN IMPORT DATABASENah bagi yang belum tau... Saya menyiapkan file bukutamu.sql di dalam folder db. Nah sekarangbuka ...
Oke sampe disini dulu neh saya kasih tutorialnya... Kenapa dah selesai, tenang aja... Kalo TUHANberkenan bakalan ada V.2,V...
Upcoming SlideShare
Loading in …5
×

Belajar php dan my sql bareng newbie v.1

2,073 views

Published on

Published in: Education
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,073
On SlideShare
0
From Embeds
0
Number of Embeds
103
Actions
Shares
0
Downloads
175
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Belajar php dan my sql bareng newbie v.1

  1. 1. Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONESIA MALINGSIAL DILARANG KERAS
  2. 2. BELAJAR PHP DAN MYSQL BARENG NEWBIE V.1Pada kesempatan kali ini saya akan memberikan sedikit tutorial mengenai PHP dan MYSQL. Ya... Semampu sayalah... Langsung aja deh prakteknya... Untuk pengertian apa itu PHP, Mysql, dll bisa dicari sendiri lewat Om Google...Peralatan yang kita gunakan sih cukup sederhana kayak Dreamweaver, Wampserver yang mudah kaliantemukan untuk di download.Pertama kali kita akan membuat yang namanya bukutamu.MEMBUAT BUKUTAMULangkah pertama adalah pastikan Wampserver yang telah terinstall dalam keadaan aktif, jalankan Browserkalian dan ketik pada alamat URLnya “http://localhost” maka akan muncul tampilan seperti berikut.Klik pada “phpmyadmin” dan langsung buat database dengan nama “bukutamu” pada Create new databaselalu klik Create...
  3. 3. Kemudian pada Create new table on database bukutamu masukkan Name : tamu dan Number of fields : 4 danklik Go.Nah isi sesuai data dibawah ini dan langsung simpanField Type Length/Values Extrano_tamu INT 3 auto_increment Primary Keynama VARCHAR 30email VARCHAR 40pesan TEXTKira-kira gambarnya seperti ini...Setelah itu kita siap untuk codingnya...
  4. 4. Buka Windows Explorer kita dan langsung menuju keC:wampwwwBuat folder baru, misalkan folder “bukutamu”, nah nantinya semua file yang kita butuhkan akan kita taruh disitu.Setelah itu buka Dreamweaver kalian, kenapa Dreamweaver? Karena lebih mudah...Buat New Project dengan memilih Create New PHP.Pada menu Forms pilih Tool Form...Nah pada Bagian Properties, isikan input_bukutamu.phpLalu buat table dan atur design struktur table seperti gambar dibawah ini...
  5. 5. Tambahkan 3 TextField dan 1 Button. Nih dia gambarnya...Buat sampai tampilannya seperti ini....Atur Properties untuk nama:Untuk Email:
  6. 6. Untuk Pesan:Dan untuk Bottonnya: Lalu simpan dengan nama “form_tamu.php” dan simpan di dalam folder bukutamu yang tadi telah kitasiapkan...Script lengkapnya kayak gini...<html><head><body><h3>INPUT BUKU TAMU</h3><form method="post" action="input_bukutamu.php"> <table width="600" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="105">Nama</td> <td width="484"><input name="txtNama" type="text" id="txtNama" size="30" maxlength="30"></td> </tr> <tr> <td>Email</td> <td><input name="txtEmail" type="text" id="txtEmail" size="30" maxlength="40"></td> </tr> <tr> <td>Pesan</td> <td><textarea name="txtPesan" cols="50" width="220" height="40" rows="5" id="txtPesan"></textarea></td> </tr> <tr> <td>&nbsp;</td> <td><input name="Submit" type="submit" id="Submit" value="Kirim"></td> </tr> </table></form><a href=tampil.php>Melihat Buku Tamu</a></body></head></html>C:wampwwwbukutamu Weits sampe lupa, setelah itu kita harus membuat koneksi.php yang berguna untuk melakukan koneksiterhadap Database...
  7. 7. Oke, buka Project PHP baru,hapus semua code pada tab code dan isi dengan code sebagai berikut...<?php// Jangan Lupa Sesuaikan Dengan Settingan Komputer Kita$my[host] = "localhost";$my[user] = "root";$my[pass] = "cruzenaldo";$my[dbs] = "bukutamu";$koneksi = mysql_connect($my[host], $my[user], $my[pass]);if (! $koneksi) { echo "Gagal Koneksi Bro...."; mysql_error(); }mysql_select_db($my[dbs]) or die ("Database Gak Ada".mysql_error());?> Dan simpan di dalam folder bukutamu dengan nama koneksi.php.Ingat, pengaturan Host, User, Pass dan Nama Databasenya harus sesuai dengan settingan yang ada di komputermasing-masing...Belom tau juga? Oke saya jelasin dikit2 yah...Untuk Host, User dan Pass sekarang coba buka Browser dan arahkan ke http://localhost/phpmyadminNah Klik Privilages dan kita bisa liat kalo user root pada host localhost masih belum memiliki password.
  8. 8. Nah isi password kita pada password dan klik Go.Sampai sini belum selesai Bos, jika kita ke PhpMyAdmin atau ke menu apapun akan muncul error yangmengatakan bahwa PhpMyAdmin tidak bisa digunakan karena tidak diperkenankan (Access Denied)Permasalah ini terjadi karena PhpMyAdmin tidak menggunakan password baru untuk mengakses database MySqlsehingga mendapat penolakan dari MySql.Untuk itu kalian harus merubah konfigurasi pada PhpMyAdmin agar menggunakan password yang barusan kalianberikan. Buka file config.inc.php yang berada pada direktoriC:wampappsphpmyadmin2.11.6Dengan menggunakan Wordpad atau Notepad lalu cari baris :$cfg[Servers][$i][password] = ;Kemudian masukkan password dengan yang sama kalian gunakan pada Menu Edit Privileges PhpMyAdmin...$cfg[Servers][$i][password] = cruzenaldo;Keren gak penjelasan gua? Itu gua kutip dari bukunya Om Sto yang Joomla 1.5 Dunianya Maya UntungnyaNyata...GUBRAAAAKKKK... Wakakakakakak, yang penting kalian ngerti kan... Makasih buat Om StoSekarang buat Project PHP baru dengan Dreamweaver dan klik Tab code kemudian hapus semua code yangada disitu dan ganti dengan code berikut...<?php// Untuk melakukan pemanggilan koneksi.php.include "koneksi.php";// Gunanya mengambil data dari Form$txtNama = $_POST[txtNama];$txtEmail = $_POST[txtEmail];$txtPesan = $_POST[txtPesan];// Jika inputan $txtNama, $txtEmail, $txtPesan kurang dari 1 maka muncul pesan...if(strlen($txtNama)<1) { echo "Nama Masih Kosong"; }else if(strlen($txtEmail)<1) { echo "Email Masih Kosong"; }else if(strlen($txtPesan)<1) { echo "Pesan Masih Kosong"; }// Jika telah terpenuhi kriteria diatas maka langsung melakukan perintah SQL INSERTelse { $sqlSimpan = "INSERT INTO tamu(nama, email, pesan) values($txtNama, $txtEmail, $txtPesan)"; mysql_query($sqlSimpan, $koneksi) or die ("Gagal Perintah SQL".mysql_error()); echo "PENYIMPANAN BERHASIL";
  9. 9. }// Hanya Tambahan saja, jika tidak diperlukan bisa dihapus :) echo "<p><a href=form_tamu.php>Kembali Ke Buku Tamu</a> | <a href=tampil.php>Melihat BukuTamu</a></p>";?>form_tamu.php udah, koneksi.php udah, input_bukutamu.php udah... Nah sekarang kita akan membuattampil.php yang berguna untuk menampilkan bukutamu kita... Oke langsung aja...Buat project baru PHP (capek juga nulis2 gini2 lagi, kalian semua pasti dah ngerti lah... Langsung aja kasihkodenya.....Hapus semua code yang ada di tab code dan ganti dengan code ini<table width="565" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="75">Nama</td> <td width="154">Email</td> <td width="255">Pesan</td> </tr><?phpinclude "koneksi.php";$sqlTampil = "SELECT * FROM tamu ORDER BY no_tamu DESC";$qryTampil = mysql_query($sqlTampil, $koneksi) or die ("Gagal query".mysql_error());$total = mysql_num_rows($qryTampil);while($dataTampil=mysql_fetch_array($qryTampil)) {echo "<table width=565 border=0 cellspacing=1 cellpadding=2> <tr> <td width=75>$dataTampil[nama]</td> <td width=154>$dataTampil[email]</td> <td width=255>$dataTampil[pesan]</td> </tr>";}echo "</table>";echo "<p><a href=form_tamu.php>Kembali Ke Form Pengisian</a></p>";?>Simpan dengan nama tampil.phpWokeh dah selesai dah bukutamu kita, nah sekarang coba kita jalankan, buka Browser kalian dan arahkanalamat berikut...http://localhost/bukutamu/form_tamu.php
  10. 10. Isi sesuai dengan keinginan kalian dan klik Kirim... Lalu klik untuk melihat buku tamu untuk melihat hasilnya...
  11. 11. VALIDASI-nya?...Wah, asik plus ribet banget neh kalo ngebahas soal ini pada buku tamu yang telah kita buat. Dan mungkinpembahasan yang saya tulis juga pasti kurang lengkap... Tapi beberapa pasti bakalan saya coba...Oke pertama apa aja yang bakalan user lakukan ketika dia mencoba fasilitas Bukutamu kita?Pertama yang orang itu mesti lakukan adalah memasukkan Nama, Email dan Pesan...Wait... Coba bayangin kalo tuh orang memasukkan emailnya asal2an...Bingung? Seandainya dia cuman nulis kata-kata asal... Gak pake tanda“@”... Kan jadi gak asik, betul gak?Hasilnya kayak gini... Kan jadi kurang ajar, ehhh kurang asikOke langsung aja kita perbaiki... Pertama yang harus kita lakukan adalah membuka input_bukutamu.php karenadisinilah letak segala action atau perintah-perintah kita lakukan.Lihat code berikut...$txtNama = $_POST[txtNama];$txtEmail = $_POST[txtEmail];$txtPesan = $_POST[txtPesan];Tambahkan code dibawahnya$valid_mail = "^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+.)*([a-z0-9-]+)(.[a-z]{2,3}))$";Sehingga menjadi$txtNama = $_POST[txtNama];$txtEmail = $_POST[txtEmail];$txtPesan = $_POST[txtPesan];$valid_mail = "^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+.)*([a-z0-9-]+)(.[a-z]{2,3}))$";Lalu kemudian cari codeelse if(strlen($txtEmail)<1)
  12. 12. { echo "Email Masih Kosong"; }Dan ganti menjadielse if(!eregi($valid_mail, $txtEmail)) { echo "Penulisan Email Salah"; }Oke, untuk melakukan validasi input yang lebih spesifik, kita bisa menggunakan fungsi ereg() atau eregi() sepertiyang gua gunakan diatas.Lengkapnya jadi kayak gini...Nah sekarang coba jalanin bukutamunya...Maka yang bakalan muncul adalah...
  13. 13. Nah sekarang isi dengan benar...Dan hasilnya adalah...Banyak fungsi-fungsi untuk melakukan validasi...Contohnya...Trim() yang berguna untuk menghapus spasi kanan dan kiri tekshtmlentities() yang berguna untuk menkonversi karakter-karakter tertentu dalam tag HTML dan nantinya tag-tagtersebut akan diterjemahkan sebagai teks biasa.strip_tags() yang berguna untuk menghilangkan tag-tag HTML dan PHP di dalam sebuah string. Berbeda denganhtmlentities(), strip_tags() akan membantai habis tag-tag tersebut sehingga tidak ditampilkan.Dan masih banyak lagi, penggunaannya tergantung dari keperluan kita masing-masing.Sekarang contoh penggunaan trim().Contoh, jika user yang kurang kerjaan melakukan inputan hanya spasi saja pada isian Namamaka...Maka hasil yang didapat adalah...
  14. 14. Sama halnya dengan email dan komentar nantinya... Untuk penggunaannya langsung aja bukainput_bukutamu.php dan cari code berikut...$txtNama = $_POST[txtNama];$txtEmail = $_POST[txtEmail];$txtPesan = $_POST[txtPesan];Tambahkan sehingga menjadi$txtNama = trim($_POST[txtNama]);$txtEmail = trim($_POST[txtEmail]);$txtPesan = trim($_POST[txtPesan]);Jadi spasi yang diinput oleh user di awal dan akhir teks akan dihapus... Apabila hanya spasi saja maka inputandianggap kosong.Untuk penggunaan htmlentities() dan strip_tags...Apabila user melakukan inputan seperti berikut...Nah pasti kalian bakalan tahu hasil yang akan didapat seperti apaWaduh, sampai-sampai saya tidak bisa mengcapturenya, pokoknya berantakan banget dah... Maka inilah yangdinamakan dengan HTML Injection...
  15. 15. Buka input_bukutamu.php dan code yang tadinya$txtNama = trim($_POST[txtNama]);$txtEmail = trim($_POST[txtEmail]);$txtPesan = trim($_POST[txtPesan]);Tinggal edit menjadi$txtNama = trim(strip_tags($_POST[txtNama]));$txtEmail = trim(strip_tags($_POST[txtEmail]));$txtPesan = trim(htmlentities($_POST[txtPesan]));Hasilnya...Hasilnya...Strip_tags akan menghilangkan tag html sedangkan htmlentities akan membacanya sebagai teks biasa.Semuanya tergantung kebutuhan kita saja.Kita bisa menggunakan strip_tags() dengan membiarkan beberapa tag untuk diijinkan. Contoh codenya... $txtPesan=strip_tags($txtPesan,<b>,<u>,<i>);Jadi pada txtPesan hanya diijinkan tag html <b>, <u> dan <i>Hasilnya...
  16. 16. SMILES :) Supaya lebih asik lagi kita tambahin smiles untuk bukutamunya... Disini saya menggunakan fungsiereg_replace(). Masih banyak kegunaan fungsi ereg_replace(), selain untuk smile juga bisa untuk memfilter kata-kata JOROK yang akan ditulis oleh orang iseng.Sebenernya masih banyak fungsi yang berguna untuk membuat smiles kayak str_replace() cuman saya jugamasih belajar CuyYa satu-satu lah, ya gak... Ntar malah gak ngerti sama sekali... Oke langsung aja neh prakteknya... Pertama siapkan dulu Smilesnya yang disimpan di dalam folder Smiles yang setelah itu kalian letakkan didalam folder bukutamu.
  17. 17. Lalu buka input_bukutamu.php dan cari code berikut...else {Dibawahnya tambahkan $txtPesan=ereg_replace("grin","<img src=smiles/grin.gif>",$txtPesan); $txtPesan=ereg_replace("smile","<img src=smiles/smile.gif>",$txtPesan); $txtPesan=ereg_replace("XD","<img src=smiles/XD.gif>",$txtPesan); $txtPesan=ereg_replace("x_x","<img src=smiles/x_x.gif>",$txtPesan);Itu baru 4 smiles, ya segitu aja dulu... tambahin sesuka kalian... Intinya nanti grin akan diganti menjadi gambaryang letaknya di smiles/grin.gif, dst.Yuk langsung cobain...Walah berantakan juga, ini tergantung dari kalian aja designnya gimana (Ngeles Mode:ON)... Atau gambarnyakegedean yah?FILTER KATA-KATA JOROKNah sekarang kita coba yuk... Buka kembali input_bukutamu.php dan di bawah dari smiles-smiles yang telahkalian buat tambahin aja kayak gini.... $txtPesan=ereg_replace("Bau","Wangi",$txtPesan); $txtPesan=ereg_replace("Jelek","Ganteng",$txtPesan); $txtPesan=ereg_replace("Benci","Ngefans",$txtPesan); $txtPesan=ereg_replace("FUCK","F**K",$txtPesan);Jadi kata pertama adalah kata yang akan di filter dan kedua adalah penggantinya...Code fullnya kayak gini...
  18. 18. Cobain langsung nehRibet yah pas kita Input Buku tamunya terus pake harus pergi ke link tampil.php...Kenapa gak taro aja sekaligus di satu tempat, jadi dibawah Form Input langsung tampil komentarnya....Gunakan perintah, include(); wokeh buka dulu form_tamu.php dan cari code ini </form> lalu tambahkan...<?php include("tampil.php");?>Lengkapnya kayak gini...
  19. 19. HasilnyaSINGLE QUOTEPernah gua mau komentar yang isinya kayak gini<script>alert(XSS)</script>Gak ada maksud apa-apa, cuman misalkan kita mau sharing tentang XSS atau apalah yang ada tanda singlequote ( )Malah error kayak gini...Gagal Perintah SQLYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server
  20. 20. version for the right syntax to use near XSS)) at line 2Waduh, Nah itu bisa banget dimanfaatin untuk tipe serangan yang bernama SQL Injection... Apaan tuh?Googling atuh Bro....Untuk bagaimana pengamanannya banyak banget caranya...Ada perintah mysql_real_escape_string yangberguna untuk menonaktifkan karakter-karakter khusus atau perintah SQL Injection yang dibaca oleh MySql,magic_quote_gpc, addslashes, dan masih banyak lagi...Nah disini kita akan mencoba fungsi mysql_real_escape_string... Jadi karakter single quote akan dibaca sebagaikarakter teks biasa...Sebenernya menggunakan ereg_replace() pun bisa... $txtPesan = ereg_replace(&,&amp;,$txtPesan); // mengganti & dengan &amp; $txtPesan = ereg_replace(",&quot;,$txtPesan); // mengganti " dengan &quot; $txtPesan = ereg_replace("",&rsquo;,$txtPesan); // mengganti dengan &rsquo;Tapi bosen kan, cari yang baru...Langsung aja buka input_bukutamu.php dan edit lagi$txtNama = trim(strip_tags($_POST[txtNama]));$txtEmail = trim(strip_tags($_POST[txtEmail]));$txtPesan = trim(htmlentities($_POST[txtPesan]));Jadi seperti berikut$txtNama = trim(strip_tags(mysql_real_escape_string($_POST[txtNama])));$txtEmail = trim(strip_tags(mysql_real_escape_string($_POST[txtEmail])));$txtPesan = trim(htmlentities(mysql_real_escape_string($_POST[txtPesan])));Pas dicoba
  21. 21. SMILE OTOMATIS? Or What Ever That :)Gini loh, intinya kan kadang kita males banget kan ngetik kata-kata buat smilenya... Ngerti kan?Kan males banget nulis =), XD apalagi kalo rumit... Contohnya kayak ininih...Nah disini saya tambahin neh beberapa script yang kalo kita klik gambarnya bakalan muncul kata-kata untuksmilenya...Buat Project baru dan pilih JS atau Javascript... Dan paste code berikutvar smile = new Array();smile.push(:grin:);smile.push(:smile:);smile.push(:XD:);smile.push(:x_x:); function appendTextToComment(text) { var commentArea = document.getElementById(txtPesan); commentArea.value = commentArea.value + text; }Dan simpan dengan nama smiley.js dan untuk bagian inismile.push(:grin:);smile.push(:smile:);smile.push(:XD:);smile.push(:x_x:);Bisa kalian tambahkan sesuai kebutuhan.Sekarang buka input_bukutamu.php dan edit smilenya aja hingga menjadi seperti ini $txtPesan=ereg_replace(":grin:","<img src=smiles/grin.gif>",$txtPesan); $txtPesan=ereg_replace(":smile:","<img src=smiles/smile.gif>",$txtPesan); $txtPesan=ereg_replace(":XD:","<img src=smiles/XD.gif>",$txtPesan); $txtPesan=ereg_replace(":x_x:","<img src=smiles/x_x.gif>",$txtPesan);Gak ada yang dirubah, cuman smilenya aja... Biar bisa membedakan yang mana smile (teks) dan smile(gambar). Jadi ditambahin (:) di depan dan belakangnya...
  22. 22. Kemudian buka form_tamu.php dan sisipkan code berikut setelah<td>Pesan</td> <td>Sehingga lengkapnya... <td>Pesan</td> <td><img src="smiles/grin.gif" alt=":grin:" title=":grin:" onClick="appendTextToComment(:grin:)" width="50" height="50"><img src="smiles/smile.gif" alt=":smile:" title=":smile:" onClick="appendTextToComment(:smile:)" width="50"height="50"><img src="smiles/XD.gif" alt=":XD:" title=":XD:" onClick="appendTextToComment(:XD:)" width="50" height="50"><img src="smiles/x_x.gif" alt=":x_x:" title=":x_x:" onClick="appendTextToComment(:x_x:)" width="50" height="50"> <br><br><textarea name="txtPesan" cols="50" width="220" height="40" rows="5"id="txtPesan"></textarea></td>GambarnyaIni berguna untuk menampilkan daftar-daftar smile pada form_tamu.php.Terakhir sisipkan script berikut dibawah <head> untuk mencari smiley.js yang tadi telah kita buat...<script type="text/javascript" src="smiley.js"></script>Jangan lupa untuk menyesuaikan smile dan shortcutnya pada ketiga file diatasinput_bukutamu.php,form_tamu.php dan smiley.js
  23. 23. Hasilnya...Hasilnya...MENGHITUNG JUMLAH KOMENTARWeks, cuman tambahan aja...Buka tampil.php dan cari code dibawah iniinclude "koneksi.php";$sqlTampil = "SELECT * FROM tamu ORDER BY no_tamu DESC";$qryTampil = mysql_query($sqlTampil, $koneksi) or die ("Gagal query".mysql_error());Dan dibawahnya tambahkan code $total = mysql_num_rows($qryTampil);Kemudian dibawah echo "</table>"; tambahkanecho "Jumlah komentar : <b>$total</b>";Jadi lengkapnya kayak gini
  24. 24. Hasilnya...Penjelasan dikit, fungsi mysql_num_rows adalah untuk memperoleh informasi jumlah record/baris data dari suatuquery.CAPTCHA(Beberapa informasi saya ambil dari Ilmuhacking.com)Captcha (Completely Automated Turing Test To Tell Computers and Human Apart) adalah sebuah test/ujian yang“fully automated” untuk membedakan manusia dengan komputer. Ujian ini harus dibuat sedemikian rupasehingga teknologi komputer tidak bisa mengerjakan dengan benar tapi bisa dengan mudah dikerjakan olehmanusia.Captcha bisa direpresentasikan dalam berbagai bentuk seperti: − Text − Gambar − VideoText adalah bentuk penyimpanan informasi yang sangat sederhana dan informasi yang diambil tidakmemerlukan pemrosesan apa-apa sehingga bisa dengan mudah dikerjakan oleh mesin. Jadi sangat berbahayamenggunakan text.Gambar dalam komputer disimpan dalam bentuk kumpulan warna atau pixel kemudian diencode dalam formattertentu. Gambar mengandung informasi yang terserat dan implisit. Informasi dalam gambar harus diprosesdengan perhitungan dan komputasi yang kompleks untuk bisa menangkap informasi didalamnnya.Video adalah kumpulan image dan suara yang disusun sehingga menampilkan suatu informasi. Walaupunmemiliki kompleksitas yang tinggi namun jarang digunakan dikarenakan pertimbangan besarnya ukuran filevideonya.
  25. 25. Nah kesimpulannya bentuk Captcha yang paling umum digunakan adalah image atau gambar. Nah soalkeamanan tergantung dari seberapa rumit gambarnya... Kalo gambar tapi backgroundnya putih doang samaaja, mesin bisa membaca informasi didalamnya dengan sempurna... Kayak dibawah neh...Oke sekarang lupain dulu buku tamunya, sekarang kita fokusin dikit mengenai Captcha...Dulu gua pernah buat yang seperti ini...action.php<?phpif(isset($_POST[submit])){ $angkanya=$_POST[angkanya]; $sembunyicapca=$_POST[sembunyicapca]; if($angkanya==$sembunyicapca) { print "Lo Keren banget Bro..."; } else { print "Lo Salah Masukin Kodenya Bos, bisa matematika gak seh?"; }}?>login.php<?php$im = ImageCreate(200, 40); //buat image$white = ImageColorAllocate($im, 0,0, 0);$black = ImageColorAllocate($im, 120, 200, 68);srand((double)microtime()*1000000);$string = rand(1,10); //Angka Pertama$string2=rand(1,10); //Angka Kedua$string3="$string + $string2";$verification = $string3;$nilaisembunyi=$string+$string2;ImageFill($im, 0, 0, $black);ImageString($im, 4, 70, 10, $verification, $white);Imagejpeg($im, "captcha.png");ImageDestroy($im);print "<form action=action.php method=post>";print "Coba jawab kalo lo manusia beneran:<br>";print "<input type=hidden value=$nilaisembunyi name=sembunyicapca>";print "<input type=text name=angkanya size=20><br>";print "<img src=captcha.png border=0><br><br>";print "<input type=submit name=submit value=Kirim></form>";?>
  26. 26. Nah jadinya kayak gini...Intinya source diatas adalah mencocokkan text “angkanya” yaitu tempat menginput jawaban dengansembunyicapca yaitu jawaban yang tersembunyi.Wuih gua dah merasa gua adalah Programmer paling hebat sepanjang sejarah... Nah pas gua baca salah satuArtikel di Ilmuhacking.com yang mengulas tentang bahaya penggunaan Hidden Value pada Captchaprint "<input type=hidden value=$nilaisembunyi name=sembunyicapca>"; if($angkanya==$sembunyicapca)Walah parah banget dah... Coba kalian download addons Firefox Web Developer... (Udah ada di SourceCode)... Penggunaannya tinggal geser aja Addonsnya ke Browser, otomatis langsung keinstall.Klik yang Forms → Display Form Details. Liat hasilnya...Parah, keliatan tuh jawabannya 12... Komputer pasti jawab dengan mudah...Wokeh langsung aja praktek yah, saya gak tau apakah captcha yang saya buat dah memenuhi kriteria yangaman tapi disini saya buat sesimple dan seasik mungkin (hehehehe...) biar gak ribet. Yang penting tergantungpengembangan dari kalian aja...Kelebihannya apa yah? Paling cuman random background dan disini saya mencocokkan dengan Session bukandengan hidden field seperti yang saya lakukan diatas...Mungkin ada yang belom tau session neh? Waduh, Googling dulu deh Bro...Coz saya juga lagi belajar, ini aja maksa... Wakakakakakak... Tapi gak sulit kok...Pertama kita akan membuat file php yang berguna untuk melakukan random image... Buat project baru PHPdengan nama RandomImage.php dan paste code berikut...
  27. 27. <?php// Start sessionsession_start();// Karakter alpha numerik untuk kode$str = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789;// Men-generate 5 karakter kode verifikasi// secara random, dengan str_shuffle()$rand = substr(str_shuffle($str), 0, 5);// Random background images, min=1 dan max=3$no = rand(1, 3);$image = imagecreatefromjpeg("./img/bg$no.jpg");$font = 5;$black = imagecolorallocate ($image, 0, 0, 0);$y = (imagesy($image)-imagefontheight($font)) / 2;// Menulis kode verifikasi di backgroundimagestring ($image, $font, 8, $y, $rand, $black);// Hash hasil random, dan simpan di session$_SESSION[Cruz3N] = md5($rand);header(Content-type: image/jpeg);imagejpeg($image);imagedestroy($image);?>Kemudian kalian buka form_tamu.php dan edit untuk menambahkan form untuk pengisian captcha dengannama txtCapca...Tambahkan Row dibawah txtPesan sehingga menjadi kayak gini.
  28. 28. Lalu kemudian pada kotak dibawah “Pesan” tambahkan img src nah jadinya kayak gini...Nah pada code ini <tr> <td>&nbsp;</td> <td><input name="txtCapca" type="text" id="txtCapca"></td>Ganti &nbsp;-nya dengan<img src="RandomImage.php" border=1>Jadinya <tr> <td><img src="RandomImage.php" border=1></td> <td><input name="txtCapca" type="text" id="txtCapca"></td>Oh iya lupa, tadi kan pada script RandomImage.php ada yang kayak gini// Random background images, min=1 dan max=3$no = rand(1, 3);$image = imagecreatefromjpeg("./img/bg$no.jpg");Nah kita harus menyiapkan 3 gambar JPG dan masukkan di dalam folder img nah gua udah siapin neh...Tuh dia gambarnya... Kalian bisa edit atau gambar sedikit...Nah tahap terakhir buka dan edit input_bukutamu.phpDibawah include "koneksi.php"; tambahkansession_start();Untuk memulai session...
  29. 29. Dibawah $valid_mail = "^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+.)*([a-z0-9-]+)(.[a-z]{2,3}))$"; tambahkan...$txtCapca = $_POST[txtCapca];Itu txtCapca yang kita buat pada form_tamu.phpLalu dibawahelse if(strlen($txtPesan)<1) { echo "Pesan Masih Kosong"; }Tambahkanelse if(md5($txtCapca) <> $_SESSION[Cruz3N]) { echo "Capca Salah"; }GambarnyaJadi apabila txtCapca dan session bernama Cruz3N tidak sama maka Capca Salah...Udah deh dan langsung cobain aja... Nih foldernya jadi kayak gini...folder img tempat untuk background capca, smiles tempat smiles, dan 6 file php yang tadi dari awal telah kitabuat serta 1 file js untuk Smile Otomatis.
  30. 30. PAGINGTau paging gak neh? Coba perhatiin gambar dibawah ini...Gak ada yang aneh yah? Nah coba kalo tuh komentar ada 100, 200 pokoknya banyak banget... Gakkebayangkan kebawahnya panjang banget...Paging juga dikenal dengan sebutan pagination (paginate), previous-next, tampilan per halaman, pagenavigator, halaman 1..2..3, dst. Pokoknya intinya suatu tehnik untuk membatasi data yang akan ditampilkandalam suatu halaman web.Biasanya paging digunakan untuk menampilkan data yang banyak dan hampir di setiap aplikasi web pagingselalu ada. Langsung aja...Oke langsung aja, gini Bro biar gak ribet kita buka file tampil.php dan ganti semua codenya dengan codeberikut...<table width="565" border="0" cellspacing="1" cellpadding="2"> <tr> <td width="75">Nama</td> <td width="154">Email</td> <td width="255">Pesan</td><?phpinclude "koneksi.php";$batas=5;$halaman=$_GET[halaman];if(empty($halaman)){ $posisi=0;
  31. 31. $halaman=1;}else{ $posisi = ($halaman-1) * $batas;}$tampil="select * from tamu ORDER BY no_tamu DESC limit $posisi,$batas";$hasil=mysql_query($tampil);while ($data=mysql_fetch_array($hasil)){echo "<table width=565 border=0 cellspacing=1 cellpadding=2> <tr> <td width=75>$data[nama]</td> <td width=154>$data[email]</td> <td width=255>$data[pesan]</td> </tr>";}echo "</table><br>";$file="form_tamu.php";$tampil2="select * from tamu";$hasil2=mysql_query($tampil2);$jmldata=mysql_num_rows($hasil2);$jmlhalaman=ceil($jmldata/$batas);//link ke halaman sebelumnya (previous)if($halaman > 1){ $previous=$halaman-1; echo "<A HREF=$file?halaman=1><< First</A> | <A HREF=$file?halaman=$previous>< Previous</A> | ";}else{ echo "<< First | < Previous | ";}$angka=($halaman > 3 ? " ... " : " ");for($i=$halaman-2;$i<$halaman;$i++){ if ($i < 1) continue; $angka .= "<a href=$file?halaman=$i>$i</A> ";}$angka .= " <b>$halaman</b> ";for($i=$halaman+1;$i<($halaman+3);$i++){ if ($i > $jmlhalaman) break; $angka .= "<a href=$file?halaman=$i>$i</A> ";}$angka .= ($halaman+2<$jmlhalaman ? " ... <a href=$file?halaman=$jmlhalaman>$jmlhalaman</A> " : " ");
  32. 32. echo "$angka";//link kehalaman berikutnya (Next)if($halaman < $jmlhalaman){ $next=$halaman+1; echo " | <A HREF=$file?halaman=$next>Next ></A> | <A HREF=$file?halaman=$jmlhalaman>Last >></A> ";}else{ echo " | Next > | Last >>";}echo "<p>Total Komentar : <b>$jmldata</b> orang</p>";?>Lah kok diganti, biar gampang aja jelasinnya Bro. Soalnya kalo sisip-sisipin kadang ribet dan terlalu banyakgambarNah sekarang liat hasilnya Bro...
  33. 33. BIAR TAMBAH RAPIHTambahan aja, jadi pada setiap komentar kita bisa memberi garis pembatasnya...Langsung aja, pertama buka tampil.php dan tambahkan pada codewhile ($data=mysql_fetch_array($hasil)){echo "<table width=565 border=0 cellspacing=1 cellpadding=2> <tr> <td width=75>$data[nama]</td> <td width=154>$data[email]</td> <td width=255>$data[pesan]</td> </tr>";Tepat dibawahnya $garis=nl2br($data[txtPesan]); echo "$isian <hr color=#1E00FF noshade=noshade />";Jadi lengkapnyawhile ($data=mysql_fetch_array($hasil)){echo "<table width=565 border=0 cellspacing=1 cellpadding=2> <tr> <td width=75>$data[nama]</td> <td width=154>$data[email]</td> <td width=255>$data[pesan]</td> </tr>"; $garis=nl2br($data[txtPesan]); echo "$isian <hr color=#1E00FF noshade=noshade />";Nah maka kalian akan mendapatkan hasil seperti berikut... hr color=#1E00FF bisa kalian rubah sesuai keinginan...
  34. 34. REDIRECT URLWew... Ketika kita akan membuka bukutamu kita maka akan tampil seperti ini...Keliatan gak asik banget... Solusinya adalah salah satu dari file diatas diberi nama dengan index.php yang tidaklain tidak bukan adalah form_tamu.php...Solusi lain adalah menyiapkan file index.php baru yang berisi code sebagai berikut...<?php header(location:form_tamu.php);?>Intinya browser akan membaca terlebih dahulu file index.php yang kemudian berisi redirect menujuform_tamu.phpTapi permasalahan belum selesai... Ketika saya mencoba untuk mengganti URLnya...http://localhost/shoutbox/bukutamu/Bukutamu%20+%20Smile%20Otomatis%20+%20Captcha%20+%20Paging/form_tamu.phpMenjadihttp://localhost/shoutbox/bukutamu/Bukutamu%20+%20Smile%20Otomatis%20+%20Captcha%20+%20Paging/smiles/Saya dapat melakukan Browsing terhadap smiles-smiles yang ada di dalam folder smiles... Apakah kita harusmenaruh file index.php di dalamnya?<?php header(location:../form_tamu.php);?>Bisa, gak ada masalah... Permasalahannya apabila kita memiliki banyak folder dan apakah harus membuatindex.php sesuai dengan jumlah folder? Solusi yang paling gampang adalah menggunakan .htaccess (Kalianbisa Googling :p).isinyaOptions All -IndexesJadi secara otomatis akan muncul
  35. 35. Secara otomatis ketika kita ingin melakukan browsing ke dalam folder...REDIRECT BROWSERSebenernya code yang digunakan cukup sederhana... Dengan membaca browser apa yang digunakandengan memakai fungsi $_SERVER[HTTP_USER_AGENT Dan akan langsung meredirect ke file tujuan...Codenya sebagai berikut, buat project PHP baru dan beri nama redirect.php<?phpif (eregi(MSIE,$_SERVER[HTTP_USER_AGENT])){ echo "You are using Internet Explorer.<br />"; header(location:IE.html);}elseif(eregi(Firefox,$_SERVER[HTTP_USER_AGENT])){ echo "You Are Using Mozila Firefox.</br>"; header(location:FF.html);}elseif(eregi( Opera,$_SERVER[HTTP_USER_AGENT])){ echo "You Are Using Opera"; header(location:Opera.html);}else{ Echo "Your Browser Is ".$_SERVER[HTTP_USER_AGENT];}?>Misalkan kita ingin pengunjung hanya bisa melihat web kita dengan menggunakan Firefox lakukan sepertiberikut... Buat 1 file html baru yang apabila pengunjung tidak menggunakan Firefox akan teridirect kesitu...Terserah isinya mau apa saja...SESSIONWalah, sebenernya saya juga belum mahir neh dalam penggunaan Session dan Cookies... Moga-moga bisa sayajelasin dengan sesederhana mungkin biar gak bingung...Session dalam kaitannya dengan waktu merupakan waktu seorang user mengunjungi suatu situs dan akanberakhir ketika user menutup situs tersebut.Contoh penggunaan SessionBuat project PHPindex.php
  36. 36. <form action="login.php" method="POST">Password: <input type="password" name="passnya"><br><input type="submit"></form>login.php<?phpsession_start();if($_POST[passnya] == "12345") { $_SESSION[liatdunk] = "yes"; header("Location: rahasia.php");} else { die("Salah Passwordnya");}?>Logout.php<?phpsession_start();session_destroy();echo "Sekarang Anda Telah L0gOut";echo "<br><a href=index.php>L0gin</a>";?>rahasia.php<?phpsession_start();if($_SESSION[liatdunk] == "yes") { echo "Ini Pesan Rahasia Untuk Admin :p";} else { die("Harap Login Terlebih Dahulu");}echo "<br><a href=logout.php>LogOut</a>";?>Disini saya belum menggunakan database... Langsung aja, ketika saya memasukkan “12345” sebagai passwordmaka akan tercipta sebuah session “liatdunk”...Dan pada rahasia.php disitu tertulis kalau sessionnya = “liatdunk” maka yang akan tampil adalah pesan untukadmin apabila tidak ada session “liatdunk” maka harus login terlebih dahulu...Fungsi session_destroy pada logout.php digunakan untuk mengakhiri session.Session Dengan Menggunakan DatabasePertama-tama yang harus kita siapkan adalah membuat databasenya terlebih dahulu yaitu userdbSetelah itu buat tabel “tbl_user” dan number of fieldsnya 3.
  37. 37. Field Type Length/Values Extraid INT 3 auto_increment Primary Keyusername VARCHAR 50password VARCHAR 50Lalu klik SAVE...Tahap selanjutnya adalah membuat Form untuk melakukan Register.. (form_login.php). Kalian bisa buatseadanya kok Yang penting ada textfield untuk Username, Password dan Ulangi Password...Jangan lupa Properties masing-masing TextFieldProperties TextField TypeUsername txtnama Single LinePassword txtpassword PasswordUlangi Password txtu_password PasswordNih codenya “form_daftar.php”<style type="text/css"><!--.style1 {font-size: 24px}--></style><form name="form1" method="post" action="input_daftar.php"><table width="400" border="0"><tr><td colspan="2"><span class="style1">Register</span></td></tr><tr><td>Username : </td><td><input name="txtnama" type="text" id="txtnama"></td></tr><tr><td>Password : </td><td><input name="txtpassword" type="password" id="txtpassword"></td></tr><tr><td >Ulangi Password : </td><td><input name="txtc_password" type="password" id="txtc_password"></td></tr><tr><td colspan="2"> </td></tr><tr>
  38. 38. <td colspan="2"><input type="submit" name="Submit" value="Register"></td></tr></table></form>input_daftar.php<?phpinclude "config.php";$txtnama = trim(strip_tags(mysql_real_escape_string($_POST[txtnama])));$txtpassword = trim(strip_tags(mysql_real_escape_string($_POST[txtpassword])));$txtu_password = trim(strip_tags(mysql_real_escape_string($_POST[txtu_password])));$passmd5 = md5($txtpassword); //Mengenkripsi $txtpasswordif(strlen($txtnama)<1) { echo "Nama Masih Kosong"; }else if(strlen($txtpassword)<1){echo "Password Masih Kosong";}else if(strlen($txtu_password)<1){echo "Password Masih Kosong";}else if($txtpassword != $txtu_password){print "<script>alert(Konfirmasi password harus sama dengan password !);javascript:history.go(-1);</script>";exit;}else {$cek_data="Select * from tbl_user where username=$txtnama"; // Melakukan Pemeriksaan pada Username ditabel tbl_user$hasil=mysql_query($cek_data);$hasil_cek = mysql_num_rows($hasil);if ($hasil_cek==0){ //Jika Data Tidak Ditemukan Maka $sqlSimpan = "INSERT INTO tbl_user(username,password) values($txtnama, $passmd5)"; mysql_query($sqlSimpan, $koneksi) or die ("Gagal Perintah SQL".mysql_error()); echo "PENYIMPANAN BERHASIL"; } else{echo "Data / Username Sudah Ada";}}?>Code diatas adalah action dari form_register. Mungkin bagian yang baru kita lihat adalahelse if($txtpassword != $txtu_password){print "<script>alert(Konfirmasi password harus sama dengan password !);javascript:history.go(-1);</script>";
  39. 39. exit;}Nah code diatas berguna apabila $txtpassword dan $txtu_password tidak sama maka akan muncul pesankesalahan.Sedangkan baris berikutelse {$cek_data="Select * from tbl_user where username=$txtnama"; // Melakukan Pemeriksaan pada Username ditabel tbl_user$hasil=mysql_query($cek_data);$hasil_cek = mysql_num_rows($hasil);if ($hasil_cek==0){ //Jika Data Tidak Ditemukan Maka $sqlSimpan = "INSERT INTO tbl_user(username,password) values($txtnama, $passmd5)"; mysql_query($sqlSimpan, $koneksi) or die ("Gagal Perintah SQL".mysql_error()); echo "PENYIMPANAN BERHASIL"; } else{echo "Data / Username Sudah Ada";}}Pertama kali yang dilakukan adalah melakukan perintah SELECT yaitu mencari apakah di dalam tbl_user ada$txtnama (yaitu username yang diinputkan oleh user) dan setelah itu dengan menggunakan mysql_num_rowsyang digunakan untuk memperoleh informasi jumlah record atau baris data dari suatu query. Apabila data tidakditemukan, (ditandai dengan “==” yaitu dibaca sama dengan, jika “!=” berarti tidak sama dengan) makamelakukan perintah INSERT yaitu memasukkan semua informasi ke dalam database. Jika ada maka Data /Username sudah ada. Hal ini berguna untuk mencegah terjadinya data yang sama.Setelah itu kita akan membuat form login...form_login.php<html><head><title>Halaman Login ... </title></head><body><table border=1 align=center><form method=post action=cek.php><tr> <td>Username</td> <td><input type=text name=username></tr><tr> <td>Password</td> <td><input type=password name=password></tr><tr><td></td><td><input type=submit name=submit value=Submit></tr><tr>
  40. 40. <td></td> <td><a href="form_daftar.php">Register?</a></tr></form></table></body></html>cek.php<?phpsession_start(); // Memulai Sessioninclude "config.php" ; // Memanggil config.php untuk konfigurasi database$username = $_POST[username];$password = $_POST[password];$passwordhash = md5($password); // Mengenkripsikannya untuk dicocokan dengan database$sql = "select username, password from tbl_user where username = $username and password =$passwordhash";$sqlrun = mysql_query($sql);$cek = mysql_num_rows($sqlrun);if ($cek >= 1 ){$_SESSION[username] = $username;header("location: main.php");}elseheader("location: form_login.php");?>Cek.php adalah action dari form_login.php. Perintah $passwordhash = md5($password); berguna untukmelakukan enkripsi data. Nah kalau mau juga semua data yang ada di database termasuk username, email,pesan, dll bisa dienkripsi. Biar lebih aman (mungkin ). Nah apabila setelah dilakukan pengecekkan passwordditemukan maka akan diberikan session[username] dan setelah itu akan diredirect menuju main.php.main.php<?phpsession_start(); // Memulai Sessionif (ISSET($_SESSION[username])){echo "Selamat Datang<br>";echo $_SESSION[username];echo "<br><a href=logout.php?logout=yes>logout</a>";}elseheader("location: form_login.php");?>Nah untuk main.php akan dilakukan pengecekan session. Jika terdapat session[username] maka akanditampilkan pesan selamat datang. Apabila tidak ada maka akan diredirect menuju form_login.php.config.php<?php// Jangan Lupa Sesuaikan Dengan Settingan Komputer Kita$my[host] = "localhost";$my[user] = "root";$my[pass] = "cruzenaldo";$my[dbs] = "userdb";
  41. 41. $koneksi = mysql_connect($my[host], $my[user], $my[pass]);if (! $koneksi) { echo "Gagal Koneksi Bro...."; mysql_error(); }mysql_select_db($my[dbs]) or die ("Database Gak Ada".mysql_error());?>Nah config.php juga penting neh, jangan lupa dibuat untuk melakukan koneksi dengan database.logout.php<?phpsession_start();if ($_REQUEST[logout] == "yes"){if(ISSET($_SESSION[username])){UNSET($_SESSION[username]);}}header("location: form_login.php");session_destroy();?>Di dalam main.php ada perintah seperti iniecho "<br><a href=logout.php?logout=yes>logout</a>";Nah dalam logout.php apabila $_REQUEST[logout] == “yes” maka akan dilakukan penghapusan session.Selesai dan kalian bisa mencobanya. Setelah saya coba-coba ada satu hal yang mengganjal saya. Saya pernahmembuat web dengan menggunakan metode diatas dan apa yang terjadi...http://localhost/webgua/catchmeifyoucanasshole/modul/mod_agenda/agenda.phpIni hanya sebagai contoh, apabila saya mengetahui isi direktori di dalam folder admin yaitu “catchmeifyoucanasshole/modul/mod_agenda/agenda.php” maka apa yang terjadi?
  42. 42. Walaupun memang saya tidak dapat melakukan pengisian data cuman gimana gituSaya hanya tidak ingin apabila orang lain melakukannya dan mungkin melikat data-data penting... Terlaluparanoid neh...Contoh sederhana aja yah... Misalkan kita membuat jumlah_user.php yang berguna untuk menghitung jumlahuser pada tbl_user.jumlah_user.php<?php include "config.php"; $sqljumlah = mysql_query("SELECT * FROM tbl_user", $koneksi); $total = mysql_num_rows($sqljumlah); echo "<br>Jumlah Anggota : <b>$total</b>";?>Nah ubah sedikit main.php<?phpsession_start(); // Memulai Sessionif (ISSET($_SESSION[username])){echo "Selamat Datang<br>";echo $_SESSION[username];include "jumlah.php";echo "<br><a href=logout.php?logout=yes>logout</a>";}elseheader("location: form_login.php");?>Maka setelah kita melakukan login maka kita akan mendapatkan tampilan seperti berikut...Nah oke, aman-aman aja... Nah coba kita ketik di URLhttp://localhost/login%20asik/New%20Folder/jumlah.phpDan hasilnya adalahSementara kita tidak ingin orang lain melihatnya... Yang kita lakukan adalah membuat file php baru yangbernama cek_session.php<?phpsession_start();if(! (session_is_registered(username))) { echo "<div align=center><b> PERHATIAN ..!!! </b><br>"; echo "UNTUK MELIHAT JUMLAH USER KAMU HARUS LOGIN DULU :p</div>"; include "form_login.php";
  43. 43. exit;}?>Nah code diatas digunakan untuk melakukan pengecekan session(username)...Nah pada jumlah_user.php tambahkan include "cek.session.php";<?php include "config.php"; include "cek.session.php"; $sqljumlah = mysql_query("SELECT * FROM tbl_user", $koneksi); $total = mysql_num_rows($sqljumlah); echo "<br>Jumlah Anggota : <b>$total</b>";?>Maka setelah kita belum melakukan login terlebih dahulu dan mengetikkan URL tempat jumlah_user.php beradamaka akan muncul
  44. 44. TAMBAHAN IMPORT DATABASENah bagi yang belum tau... Saya menyiapkan file bukutamu.sql di dalam folder db. Nah sekarangbuka Browser dan menuju..http://localhost/phpmyadmin/Tulis databasenya dulu yaitu bukutamu dan createKlik tab import...Browse bukutamu.sqlDan Go.... Selesai sudah...
  45. 45. Oke sampe disini dulu neh saya kasih tutorialnya... Kenapa dah selesai, tenang aja... Kalo TUHANberkenan bakalan ada V.2,V.3 dan seterusnya...Buset kalo saya selesain sampe jadi website pegel dah bakalan jadi basi nanti... Pokoknya kembangindah.... Saya tau kalian lebih hebat dari saya.... Hehehehehehe....Saya gak saranin apa yang saya jabarkan disini kalian tiru dan menjadi patokan... Saya hanyamencoba untuk menjadikan PHP menjadi salah satu bahasa pemrograman yang asik dan kerenbanget... PHP sexy banget dahSalam aja buat semuanya...Thanks to:- My JESUS, Without YOU Im Nothing...- My Family Di Dunia Nyata...- My Family Di Dunia Maya, Jasakom, devilzc0de, Echo, Xcode, AntiJasakom, Flyninja, Dxline...- witha a.k.a Chrn0... Yang selalu menemani hari2 gua... Hehehehehehe....- And My Brother Ari yang ada disamping gua...Best RegardCruz3Ncruzenaldo[dot]blogspot[dot]comcruzenaldo[at]gmail[dot]comcruzenaldo[at]yahoo[dot]co[dot]id Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONESIA MALINGSIAL DILARANG KERAS

×