1 Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONESIA MALINGSIAL DILARANG KERAS2 BELAJAR PHP DAN MYSQL BARENG N...
Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONESIA MALINGSIAL DILARANG KERAS
BELAJAR PHP DAN MYSQL BARENG NEWBIE V.1 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 dicari sendiri lewat Om Google... Peralatan yang kita gunakan sih cukup sederhana kayak Dreamweaver, Wampserver yang mudah kalian temukan untuk di download. Pertama kali kita akan membuat yang namanya bukutamu.
MEMBUAT BUKUTAMU Langkah pertama adalah pastikan Wampserver yang telah terinstall dalam keadaan aktif, jalankan Browser kalian 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 database lalu klik Create...
Kemudian pada Create new table on database bukutamu masukkan Name : tamu dan Number of fields : 4 dan klik Go.
Nah isi sesuai data dibawah ini dan langsung simpan
Field
Type
Length/Values
Extra
no_tamu
INT
3
auto_increment
nama
VARCHAR
30
email
VARCHAR
40
pesan
TEXT
Kira-kira gambarnya seperti ini...
Setelah itu kita siap untuk codingnya...
Primary Key
Buka Windows Explorer kita dan langsung menuju ke C:\wamp\www Buat 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.php
Lalu buat table dan atur design struktur table seperti gambar dibawah ini...
Tambahkan 3 TextField dan 1 Button. Nih dia gambarnya...
Buat sampai tampilannya seperti ini....
Atur Properties untuk nama:
Untuk Email:
Untuk Pesan:
Dan untuk Bottonnya:
Lalu simpan dengan nama “form_tamu.php” dan simpan di dalam folder bukutamu yang tadi telah kita siapkan... Script lengkapnya kayak gini...
INPUT BUKU TAMU
Melihat Buku Tamu C:\wamp\www\bukutamu Weits sampe lupa, setelah itu kita harus membuat koneksi.php yang berguna untuk melakukan koneksi terhadap Database...
Oke, buka Project PHP baru,hapus semua code pada tab code dan isi dengan code sebagai berikut... 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 komputer masing-masing... Belom tau juga? Oke saya jelasin dikit2 yah... Untuk Host, User dan Pass sekarang coba buka Browser dan arahkan ke http://localhost/phpmyadmin Nah Klik Privilages dan kita bisa liat kalo user root pada host localhost masih belum memiliki password.
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 yang mengatakan bahwa PhpMyAdmin tidak bisa digunakan karena tidak diperkenankan (Access Denied) Permasalah ini terjadi karena PhpMyAdmin tidak menggunakan password baru untuk mengakses database MySql sehingga mendapat penolakan dari MySql. Untuk itu kalian harus merubah konfigurasi pada PhpMyAdmin agar menggunakan password yang barusan kalian berikan. Buka file config.inc.php yang berada pada direktori C:\wamp\apps\phpmyadmin2.11.6 Dengan 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 Untungnya Nyata... GUBRAAAAKKKK... Wakakakakakak, yang penting kalian ngerti kan... Makasih buat Om Sto Sekarang buat Project PHP baru dengan Dreamweaver dan klik Tab code kemudian hapus semua code yang ada disitu dan ganti dengan code berikut...
} // Hanya Tambahan saja, jika tidak diperlukan bisa dihapus :) echo "
"; ?> form_tamu.php udah, koneksi.php udah, input_bukutamu.php udah... Nah sekarang kita akan membuat tampil.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 kasih kodenya..... Hapus semua code yang ada di tab code dan ganti dengan code ini
"; ?> Simpan dengan nama tampil.php Wokeh dah selesai dah bukutamu kita, nah sekarang coba kita jalankan, buka Browser kalian dan arahkan alamat berikut... http://localhost/bukutamu/form_tamu.php
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 mungkin pembahasan 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 asik
Oke langsung aja kita perbaiki... Pertama yang harus kita lakukan adalah membuka input_bukutamu.php karena disinilah letak segala action atau perintah-perintah kita lakukan. Lihat code berikut... $txtNama $txtEmail $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 code else if(strlen($txtEmail)<1)
{ echo "Email Masih Kosong"; } Dan ganti menjadi else if(!eregi($valid_mail, $txtEmail)) { echo "Penulisan Email Salah"; } Oke, untuk melakukan validasi input yang lebih spesifik, kita bisa menggunakan fungsi ereg() atau eregi() seperti yang gua gunakan diatas. Lengkapnya jadi kayak gini...
Nah sekarang coba jalanin bukutamunya... Maka yang bakalan muncul adalah...
Nah sekarang isi dengan benar...
Dan hasilnya adalah...
Banyak fungsi-fungsi untuk melakukan validasi... Contohnya... Trim() yang berguna untuk menghapus spasi kanan dan kiri teks htmlentities() yang berguna untuk menkonversi karakter-karakter tertentu dalam tag HTML dan nantinya tag-tag tersebut akan diterjemahkan sebagai teks biasa. strip_tags() yang berguna untuk menghilangkan tag-tag HTML dan PHP di dalam sebuah string. Berbeda dengan htmlentities(), 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...
Sama halnya dengan email dan komentar nantinya... Untuk penggunaannya langsung aja buka input_bukutamu.php dan cari code berikut... $txtNama $txtEmail $txtPesan
Jadi spasi yang diinput oleh user di awal dan akhir teks akan dihapus... Apabila hanya spasi saja maka inputan dianggap kosong. Untuk penggunaan htmlentities() dan strip_tags... Apabila user melakukan inputan seperti berikut...
Nah pasti kalian bakalan tahu hasil yang akan didapat seperti apa
Waduh, sampai-sampai saya tidak bisa mengcapturenya, pokoknya berantakan banget dah... Maka inilah yang dinamakan dengan HTML Injection...
Buka input_bukutamu.php dan code yang tadinya $txtNama $txtEmail $txtPesan
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,',,'); Jadi pada txtPesan hanya diijinkan tag html , dan Hasilnya...
SMILES :) Supaya lebih asik lagi kita tambahin smiles untuk bukutamunya... Disini saya menggunakan fungsi ereg_replace(). Masih banyak kegunaan fungsi ereg_replace(), selain untuk smile juga bisa untuk memfilter katakata JOROK yang akan ditulis oleh orang iseng. Sebenernya masih banyak fungsi yang berguna untuk membuat smiles kayak str_replace() cuman saya juga masih belajar Cuy Ya 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 di dalam folder bukutamu.
Lalu buka input_bukutamu.php dan cari code berikut... else { Dibawahnya tambahkan $txtPesan=ereg_replace("grin","",$txtPesan); $txtPesan=ereg_replace("smile","",$txtPesan); $txtPesan=ereg_replace("XD","",$txtPesan); $txtPesan=ereg_replace("x_x","",$txtPesan); Itu baru 4 smiles, ya segitu aja dulu... tambahin sesuka kalian... Intinya nanti grin akan diganti menjadi gambar yang letaknya di smiles/grin.gif, dst. Yuk langsung cobain...
Walah berantakan juga, ini tergantung dari kalian aja designnya gimana (Ngeles Mode:ON)... Atau gambarnya kegedean yah?
FILTER KATA-KATA JOROK Nah sekarang kita coba yuk... Buka kembali input_bukutamu.php dan di bawah dari smiles-smiles yang telah kalian 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...
Cobain langsung neh
Ribet 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 lalu tambahkan... Lengkapnya kayak gini...
Hasilnya
SINGLE QUOTE Pernah gua mau komentar yang isinya kayak gini <script>alert('XSS') Gak ada maksud apa-apa, cuman misalkan kita mau sharing tentang XSS atau apalah yang ada tanda single quote ( ' )
Malah error kayak gini... Gagal Perintah SQLYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server
version for the right syntax to use near 'XSS')')' at line 2 Waduh, 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 yang berguna 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 sebagai karakter teks biasa... Sebenernya menggunakan ereg_replace() pun bisa... $txtPesan = ereg_replace('&','&',$txtPesan); // mengganti & dengan & $txtPesan = ereg_replace('"','"',$txtPesan); // mengganti " dengan " $txtPesan = ereg_replace("'",'’',$txtPesan); // mengganti ' dengan ’ Tapi bosen kan, cari yang baru... Langsung aja buka input_bukutamu.php dan edit lagi $txtNama $txtEmail $txtPesan
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 untuk smilenya... Buat Project baru dan pilih JS atau Javascript... Dan paste code berikut var 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 ini smile.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:","",$txtPesan); $txtPesan=ereg_replace(":smile:","",$txtPesan); $txtPesan=ereg_replace(":XD:","",$txtPesan); $txtPesan=ereg_replace(":x_x:","",$txtPesan); Gak ada yang dirubah, cuman smilenya aja... Biar bisa membedakan yang mana smile (teks) dan smile (gambar). Jadi ditambahin (:) di depan dan belakangnya...
Kemudian buka form_tamu.php dan sisipkan code berikut setelah
Pesan
Sehingga lengkapnya...
Pesan
Gambarnya
Ini berguna untuk menampilkan daftar-daftar smile pada form_tamu.php. Terakhir sisipkan script berikut dibawah untuk mencari smiley.js yang tadi telah kita buat... <script type="text/javascript" src="smiley.js">
Jangan lupa untuk menyesuaikan smile dan shortcutnya pada ketiga file diatas input_bukutamu.php,form_tamu.php dan smiley.js
Hasilnya...
Hasilnya...
MENGHITUNG JUMLAH KOMENTAR Weks, cuman tambahan aja... Buka tampil.php dan cari code dibawah ini include "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 ""; tambahkan echo "Jumlah komentar : $total"; Jadi lengkapnya kayak gini
Hasilnya...
Penjelasan dikit, fungsi mysql_num_rows adalah untuk memperoleh informasi jumlah record/baris data dari suatu query.
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 rupa sehingga teknologi komputer tidak bisa mengerjakan dengan benar tapi bisa dengan mudah dikerjakan oleh manusia. Captcha bisa direpresentasikan dalam berbagai bentuk seperti: − Text − Gambar − Video Text adalah bentuk penyimpanan informasi yang sangat sederhana dan informasi yang diambil tidak memerlukan pemrosesan apa-apa sehingga bisa dengan mudah dikerjakan oleh mesin. Jadi sangat berbahaya menggunakan text. Gambar dalam komputer disimpan dalam bentuk kumpulan warna atau pixel kemudian diencode dalam format tertentu. Gambar mengandung informasi yang terserat dan implisit. Informasi dalam gambar harus diproses dengan perhitungan dan komputasi yang kompleks untuk bisa menangkap informasi didalamnnya. Video adalah kumpulan image dan suara yang disusun sehingga menampilkan suatu informasi. Walaupun memiliki kompleksitas yang tinggi namun jarang digunakan dikarenakan pertimbangan besarnya ukuran file videonya.
Nah kesimpulannya bentuk Captcha yang paling umum digunakan adalah image atau gambar. Nah soal keamanan tergantung dari seberapa rumit gambarnya... Kalo gambar tapi backgroundnya putih doang sama aja, 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 login.php "; print "Coba jawab kalo lo manusia beneran: "; print ""; print " "; print "
"; print ""; ?>
Nah jadinya kayak gini...
Intinya source diatas adalah mencocokkan text “angkanya” yaitu tempat menginput jawaban dengan sembunyicapca yaitu jawaban yang tersembunyi. Wuih gua dah merasa gua adalah Programmer paling hebat sepanjang sejarah... Nah pas gua baca salah satu Artikel di Ilmuhacking.com yang mengulas tentang bahaya penggunaan Hidden Value pada Captcha print ""; if($angkanya==$sembunyicapca) Walah parah banget dah... Coba kalian download addons Firefox Web Developer... (Udah ada di Source Code)... 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 yang aman tapi disini saya buat sesimple dan seasik mungkin (hehehehe...) biar gak ribet. Yang penting tergantung pengembangan dari kalian aja... Kelebihannya apa yah? Paling cuman random background dan disini saya mencocokkan dengan Session bukan dengan 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 PHP dengan nama RandomImage.php dan paste code berikut...
Kemudian kalian buka form_tamu.php dan edit untuk menambahkan form untuk pengisian captcha dengan nama txtCapca... Tambahkan Row dibawah txtPesan sehingga menjadi kayak gini.
Lalu kemudian pada kotak dibawah “Pesan” tambahkan img src nah jadinya kayak gini... Nah pada code ini
Ganti -nya dengan Jadinya
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.php Dibawah include "koneksi.php"; tambahkan session_start(); Untuk memulai session...
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.php Lalu dibawah else if(strlen($txtPesan)<1) { echo "Pesan Masih Kosong"; } Tambahkan else if(md5($txtCapca) <> $_SESSION['Cruz3N']) { echo "Capca Salah"; } Gambarnya
Jadi 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 kita buat serta 1 file js untuk Smile Otomatis.
PAGING Tau paging gak neh? Coba perhatiin gambar dibawah ini...
Gak ada yang aneh yah? Nah coba kalo tuh komentar ada 100, 200 pokoknya banyak banget... Gak kebayangkan kebawahnya panjang banget... Paging juga dikenal dengan sebutan pagination (paginate), previous-next, tampilan per halaman, page navigator, halaman 1..2..3, dst. Pokoknya intinya suatu tehnik untuk membatasi data yang akan ditampilkan dalam suatu halaman web. Biasanya paging digunakan untuk menampilkan data yang banyak dan hampir di setiap aplikasi web paging selalu ada. Langsung aja... Oke langsung aja, gini Bro biar gak ribet kita buka file tampil.php dan ganti semua codenya dengan code berikut...
Nama
Email
Pesan
$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 "
echo "$angka"; //link kehalaman berikutnya (Next) if($halaman < $jmlhalaman) { $next=$halaman+1; echo " | Next > | Last >> "; } else { echo " | Next > | Last >>"; } echo "
Total Komentar : $jmldata orang
"; ?> Lah kok diganti, biar gampang aja jelasinnya Bro. Soalnya kalo sisip-sisipin kadang ribet dan terlalu banyak gambar
Nah sekarang liat hasilnya Bro...
BIAR TAMBAH RAPIH Tambahan aja, jadi pada setiap komentar kita bisa memberi garis pembatasnya... Langsung aja, pertama buka tampil.php dan tambahkan pada code while ($data=mysql_fetch_array($hasil)){ echo "
$data[nama]
$data[email]
$data[pesan]
"; Tepat dibawahnya $garis=nl2br($data[txtPesan]); echo "$isian "; Jadi lengkapnya while ($data=mysql_fetch_array($hasil)){ echo "
$data[nama]
$data[email]
$data[pesan]
"; $garis=nl2br($data[txtPesan]); echo "$isian "; Nah maka kalian akan mendapatkan hasil seperti berikut... hr color=#1E00FF bisa kalian rubah sesuai keinginan...
REDIRECT URL Wew... 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 tidak lain tidak bukan adalah form_tamu.php... Solusi lain adalah menyiapkan file index.php baru yang berisi code sebagai berikut... Intinya browser akan membaca terlebih dahulu file index.php yang kemudian berisi redirect menuju form_tamu.php Tapi permasalahan belum selesai... Ketika saya mencoba untuk mengganti URLnya... http://localhost/shoutbox/bukutamu/Bukutamu%20+%20Smile%20Otomatis%20+%20Captcha%20+ %20Paging/form_tamu.php Menjadi http://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 harus menaruh file index.php di dalamnya? Bisa, gak ada masalah... Permasalahannya apabila kita memiliki banyak folder dan apakah harus membuat index.php sesuai dengan jumlah folder? Solusi yang paling gampang adalah menggunakan .htaccess (Kalian bisa Googling :p). isinya Options All -Indexes Jadi secara otomatis akan muncul
Secara otomatis ketika kita ingin melakukan browsing ke dalam folder...
REDIRECT BROWSER Sebenernya code yang digunakan cukup sederhana... Dengan membaca browser apa yang digunakan dengan 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 "; header('location:IE.html'); } elseif(eregi('Firefox',$_SERVER['HTTP_USER_AGENT'])) { echo "You Are Using Mozila Firefox."; 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 seperti berikut... Buat 1 file html baru yang apabila pengunjung tidak menggunakan Firefox akan teridirect kesitu... Terserah isinya mau apa saja...
SESSION Walah, sebenernya saya juga belum mahir neh dalam penggunaan Session dan Cookies... Moga-moga bisa saya jelasin dengan sesederhana mungkin biar gak bingung... Session dalam kaitannya dengan waktu merupakan waktu seorang user mengunjungi suatu situs dan akan berakhir ketika user menutup situs tersebut.
Contoh penggunaan Session Buat project PHP index.php
login.php Logout.php L0gin"; ?> rahasia.php LogOut"; ?> Disini saya belum menggunakan database... Langsung aja, ketika saya memasukkan “12345” sebagai password maka akan tercipta sebuah session “liatdunk”...
Dan pada rahasia.php disitu tertulis kalau sessionnya = “liatdunk” maka yang akan tampil adalah pesan untuk admin apabila tidak ada session “liatdunk” maka harus login terlebih dahulu...
Fungsi session_destroy pada logout.php digunakan untuk mengakhiri session.
Session Dengan Menggunakan Database Pertama-tama yang harus kita siapkan adalah membuat databasenya terlebih dahulu yaitu userdb Setelah itu buat tabel “tbl_user” dan number of fieldsnya 3.
Field
Type
Length/Values
Extra
id
INT
3
auto_increment
username
VARCHAR
50
password
VARCHAR
50
Primary Key
Lalu klik SAVE... Tahap selanjutnya adalah membuat Form untuk melakukan Register.. (form_login.php). Kalian bisa buat seadanya kok Yang penting ada textfield untuk Username, Password dan Ulangi Password...
Jangan lupa Properties masing-masing TextField
Properties
TextField
Type
Username
txtnama
Single Line
Password
txtpassword
Password
Ulangi Password
txtu_password
Password
Nih codenya “form_daftar.php” <style type="text/css"> input_daftar.php alert('Konfirmasi password harus sama dengan password !'); javascript:history.go(-1);"; exit; } else { $cek_data="Select * from tbl_user where username='$txtnama'"; // Melakukan Pemeriksaan pada Username di tabel 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 adalah else if($txtpassword != $txtu_password) { print "<script>alert('Konfirmasi password harus sama dengan password !'); javascript:history.go(-1);";
exit; } Nah code diatas berguna apabila $txtpassword dan $txtu_password tidak sama maka akan muncul pesan kesalahan. Sedangkan baris berikut else { $cek_data="Select * from tbl_user where username='$txtnama'"; // Melakukan Pemeriksaan pada Username di tabel 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_rows yang digunakan untuk memperoleh informasi jumlah record atau baris data dari suatu query. Apabila data tidak ditemukan, (ditandai dengan “==” yaitu dibaca sama dengan, jika “!=” berarti tidak sama dengan) maka melakukan 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 Halaman Login ...
cek.php = 1 ) { $_SESSION['username'] = $username; header("location: main.php"); } else header("location: form_login.php"); ?> Cek.php adalah action dari form_login.php. Perintah $passwordhash = md5($password); berguna untuk melakukan 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 password ditemukan maka akan diberikan session['username'] dan setelah itu akan diredirect menuju main.php. main.php "; echo $_SESSION['username']; echo " logout"; } else header("location: form_login.php"); ?> Nah untuk main.php akan dilakukan pengecekan session. Jika terdapat session['username'] maka akan ditampilkan pesan selamat datang. Apabila tidak ada maka akan diredirect menuju form_login.php. config.php
$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 Di dalam main.php ada perintah seperti ini echo " logout"; 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 pernah membuat web dengan menggunakan metode diatas dan apa yang terjadi... http://localhost/webgua/catchmeifyoucanasshole/modul/mod_agenda/agenda.php Ini hanya sebagai contoh, apabila saya mengetahui isi direktori di dalam folder admin yaitu “ catchmeifyoucanasshole/modul/mod_agenda/agenda.php” maka apa yang terjadi?
Walaupun memang saya tidak dapat melakukan pengisian data cuman gimana gitu Saya hanya tidak ingin apabila orang lain melakukannya dan mungkin melikat data-data penting... Terlalu paranoid neh... Contoh sederhana aja yah... Misalkan kita membuat jumlah_user.php yang berguna untuk menghitung jumlah user pada tbl_user. jumlah_user.php Jumlah Anggota : $total"; ?> Nah ubah sedikit main.php "; echo $_SESSION['username']; include "jumlah.php"; echo " logout"; } else header("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 URL http://localhost/login%20asik/New%20Folder/jumlah.php Dan hasilnya adalah
Sementara kita tidak ingin orang lain melihatnya... Yang kita lakukan adalah membuat file php baru yang bernama cek_session.php PERHATIAN ..!!! "; echo "UNTUK MELIHAT JUMLAH USER KAMU HARUS LOGIN DULU :p"; include "form_login.php";
exit; } ?> Nah code diatas digunakan untuk melakukan pengecekan session(username)... Nah pada jumlah_user.php tambahkan include "cek.session.php"; Jumlah Anggota : $total"; ?> Maka setelah kita belum melakukan login terlebih dahulu dan mengetikkan URL tempat jumlah_user.php berada maka akan muncul
TAMBAHAN IMPORT DATABASE Nah bagi yang belum tau... Saya menyiapkan file bukutamu.sql di dalam folder db. Nah sekarang buka Browser dan menuju.. http://localhost/phpmyadmin/ Tulis databasenya dulu yaitu bukutamu dan create
Klik tab import...
Browse bukutamu.sql
Dan Go.... Selesai sudah...
Oke sampe disini dulu neh saya kasih tutorialnya... Kenapa dah selesai, tenang aja... Kalo TUHAN berkenan bakalan ada V.2,V.3 dan seterusnya... Buset kalo saya selesain sampe jadi website pegel dah bakalan jadi basi nanti... Pokoknya kembangin dah.... Saya tau kalian lebih hebat dari saya.... Hehehehehehe.... Saya gak saranin apa yang saya jabarkan disini kalian tiru dan menjadi patokan... Saya hanya mencoba untuk menjadikan PHP menjadi salah satu bahasa pemrograman yang asik dan keren banget... PHP sexy banget dah Salam 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 Regard Cruz3N cruzenaldo[dot]blogspot[dot]com cruzenaldo[at]gmail[dot]com cruzenaldo[at]yahoo[dot]co[dot]id
Semuanya Boleh Di Copy, Di Perbanyak, Di Rubah Terserah Kalian Dah... Asal Orang INDONESIA MALINGSIAL DILARANG KERAS