Anda di halaman 1dari 22

TUGASPEMROGRAMANWEB

DisusunOleh: Nama Npm :HERRYSUFRATNA :20054350006

Prog.Study :TehnikInformatika Kelas :N(Sore)

UNIVERSITAS INDRAPRASTA PGRI (UNINDRA) JAKARTA

MEMBUATSYSTEMLOGDENGANFLATFILE
03032007|08:06:01|HalamanInidibaca16513kali

Jika kita memiliki suatu website tentunya kita pasti ingin tahu jejak dari pengunjung website kita. Beberapa kegunaan dari system log diantaranya: selain untuk mengetahui informasi visitor, log file juga berguna untuk membantu analisis security Oke saya akan langsung ke penjelasannya, kali ini saya akan menjelaskan log file dengan system script PHP:

Script System LOG dengan FLAT FILE: <?php /* ini utk melihat type browser $agent = $_SERVER['HTTP_USER_AGENT']; /* ini utk melihat script di eksekusi dari mana GET(URL) $uri = $_SERVER['REQUEST_URI']; /* ini utk melihat IP Pengunjung $ip = $_SERVER['REMOTE_ADDR']; /* ini utk melihat script di refer dari mana $ref = $_SERVER['HTTP_REFERER']; /* ini utk melihat Proxy pengunjung $asli = $_SERVER['HTTP_X_FORWARDED_FOR']; /* ini utk melihat koneksi pengunjung $via = $_SERVER['HTTP_VIA']; /* ini variabel tanggal $dtime = date('r'); /* perhatian jika pengunjung pakai Proxy transparent /* maka $_SERVER['HTTP_X_FORWARDED_FOR'] akan menampilkan IP Asli pengunjung

/* sebaliknya $_SERVER['REMOTE_ADDR'] akan menampilkan Proxy /* Untuk Lebih jelas nya tentang macam2 Proxy saya akan jelaskan di tutorial yang lain /* ini adalah deskripsi variabel entry_line: $entry_line = "Waktu: $dtime | IP asli: $ip | Browser: $agent | URL: $uri | Referrer: $ref | Proxy: $asli | Koneksi: $via "; /* <-- perhatian!! ini harus new line alias kamu enter sekali supaya hasilnya jadi new line /* "fopen()" utk fungsi membuka file, "a" ini yg paling penting.!!, /* ini berfungsi jika file "jejak.txt" tidak ada dalam server maka PHP akan menciptakannya $fp = fopen("jejak.txt", "a"); /* "fputs()" fungsinya utk menulis log dlm file fputs($fp, $entry_line); /* "fclose()" fungsinya untuk menutup file fclose($fp); ?>

COUNTER,VISITOR|HITS,DENGANMYSQL
10032007|09:07:47|HalamanInidibaca16356kali

Kali ini saya mau menjelaskan tentang bagaimana cara membuat counter sebuah website dengan memakai MySql database. caranya: Table database: CREATE TABLE `counter` ( `count_id` varchar(225) NOT NULL default '', `count` longtext NOT NULL, `hits` longtext NOT NULL ) TYPE=MyISAM; catatan: sebagai permulaan untuk "count_id" anda masukkan nilai 1 untuk "count" anda masukkan nilai 1 untuk "hits" anda masukkan nilai 1

Script Counter: <?php session_start(); /* ----- koneksi database mulai ------- */ $dbhost = 'localhost'; /* ----- host mu ------- */ $dbusername = 'anggi'; /* ----- user mu ------- */ $dbpasswd = 'passwordku'; /* ----- password mu ------- */ $database_name = 'counter'; /* ----- nama database mu ------- */ /* ----- koneksi db mulai, code di bawah ini jangan di rubah ------- */ $connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") or die ("Couldn't connect to server."); $db = mysql_select_db("$database_name", $connection) or die("Couldn't select database."); /* ----- koneksi database habis ------- */

/* ----- jika session "counted" belum terdaftar ------- */ if (!session_is_registered("counted")){ /* ----- maka Update cell "count" dengan menambah kan +1 ------- */ mysql_query("UPDATE counter SET count=(count + 1) WHERE count_id=1"); /* ----- daftarkan session "counted" ------- */ session_register("counted"); } ?> Visitor: <?php /* ----- tampilkan nilai/value dari table "counter" kolom ke-2 yg berarti kolom "count" ------- */ $sql = mysql_query("SELECT * FROM counter LIMIT 1"); while($row = mysql_fetch_array($sql)){ echo $row[1]; } ?> Hits: <?php /* ----- untuk hits, kita tidak perlu fungsi "IF" ------- */ /* ----- Update cell "hits" dengan menambah kan +1 ------- */ mysql_query("UPDATE counter SET hits=(hits + 1) WHERE count_id=1"); /* ----- tampilkan nilai/value dari table "counter" kolom ke-3 yg berarti kolom "hits" ------- */ /* ----- yang telah di update dari dari proses di atas ------- */ $sql = mysql_query("SELECT * FROM counter LIMIT 1"); while($row = mysql_fetch_array($sql)){ echo $row[2]; } ?>

MEMBUATSECURITYCODE|SECURITYIMAGE|ANTISPAM
14032007|11:22:57|HalamanInidibaca20437kali

Hai... selamat siang semuanya,kali ini saya mau menjelaskan bagaimana cara membuat Security Code - Security Image - atau Captcha. Apa itu Security Image/ Security Code? Security image adalah suatu bentuk perlindungan terhadap suatu form dari serangan SPAM. Sebagai contoh pernakah anda mengisi formulir pendaftaran untuk mendapatkan email account di yahoo?? Lihat bagian bawah diatas tombol submit, di situ ada security code yang muncul...dan anda harus mengisi security code tersebut Cara Kerjanya? Pertama: Formulir akan menampilkan security code yang di generate oleh script PHP, apabila page tersebut di refresh maka security code akan di generate lagi sehingga berubah codenya hal ini sangat berguna sekali untuk menangkal serangan spam. Kedua: Setelah di submit, script php akan memvalidasi data anda dan mencocok kan security code yang telah anda masuk kan apabila security code tidak sama, maka proses akan di batalkan apabila security code sama, maka proses akan dilanjutkan. Berikut file-file yang akan kita gunakan : 1. script form.htm 2. script action.php 3. script captchasecurityimages.php 4. file font Penjelasan: ==================================================================== ingat ini hanya contoh, anda bisa mengembangkan sendiri script anda ==================================================================== 1. script form.htm ------<form action="action.php" method="post">

Pesan: <input type="text" name="message" /><br /> <img src="captchasecurityimages.php?width=100&height=40&character=5" /><br /> Security Code: <input id="security_code" name="security_code" type="text" /><br /> <input type="submit" name="submit" value="Submit" /> </form> ------2. script action.php ------<?php session_start(); if( isset($_POST['submit'])) { if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) { // masukkan script anda jika validasi benar echo 'Terimakasih Pasan anda: "'.$_POST['message'].'"'; } else { // masukkan script anda jika validasi salah echo 'Sorry, anda memasukkan security code yang salah<br />'; include "form.htm"; } } else { include "form.htm"; } ?> ------3. script captchasecurityimages.php ------<?php session_start(); class CaptchaSecurityImages { var $font = 'monofont.ttf'; function generateCode($characters) { /* list all possible characters, similar looking characters and vowels have been removed */ $possible = '23456789bcdfghjkmnpqrstvwxyz'; $code = ''; $i = 0; while ($i < $characters) { $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1); $i++;

} return $code; } function CaptchaSecurityImages($width='120',$height='40',$characters='6') { $code = $this->generateCode($characters); /* font size will be 75% of the image height */ $font_size = $height * 0.75; $image = @imagecreate($width, $height) or die('Cannot Initialize new GD image stream'); /* set the colours */ $background_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 20, 40, 100); $noise_color = imagecolorallocate($image, 100, 120, 180); /* generate random dots in background */ for( $i=0; $i<($width*$height)/3; $i++ ) { imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color); } /* generate random lines in background */ for( $i=0; $i<($width*$height)/150; $i++ ) { imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color); } /* create textbox and add text */ $textbox = imagettfbbox($font_size, 0, $this->font, $code); $x = ($width - $textbox[4])/2; $y = ($height - $textbox[5])/2; imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code); /* output captcha image to browser */ imagejpeg($image); imagedestroy($image); $_SESSION['security_code'] = $code; } } $width = isset($_GET['width']) ? $_GET['width'] : '120'; $height = isset($_GET['height']) ? $_GET['height'] : '40'; $characters = isset($_GET['characters']) ? $_GET['characters'] : '6'; header('Content-Type: image/jpeg'); $captcha = new captchasecurityimages($width,$height,$characters); ?> -------

4. file font Gunakan font: monofont.ttf *keterangan: Anda harus mengupload juga file font nya, sebagai contoh saya menggunakan font "monofont.ttf", file font yang ukurannya paling kecil cocok buat website, semua file di atas harus di tempatkan pada directory/ folder yang sama.

VALIDASIFORMDENGANPHP
25032007|16:48:41|HalamanInidibaca16797kali

Anda mau membuat peraturan untuk form-form di website anda?? Seperti: - Nomor Telephone Harus memakai awalan "0" dan minimum 5 angka - Email Harus ada "@" dan .com / .net atau apa saja - Password harus sama dengan ReTypePassword - Atau jika Form ada yang kosong salah satu maka batalkan proses Untuk memvalidasi lebih baik gunakan PHP dari pada javascript Oke ini Penjelasan script nya: --------------include 'db.php'; $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $tlp = $_POST['tlp']; $email_address = $_POST['email_address']; $username = $_POST['username']; $password = $_POST['password']; $retypepassword = $_POST['retypepassword']; $iphidden = $_POST['iphidden']; $nim = $_POST['nim']; ----------------Script "include 'db.php';" di atas untuk connect dg database, sedangkan script "$first_name = $_POST['first_name'];" dan lain-lain itu gunanya untuk mengambil data dari form sebelumnya saya kira teman2 sudah paham masalah ini... ----------------$polaemail = "^.+@.+\..+$"; $pola_tlp = "^[0-9]+$"; $polapassword = "^.{5,}$";

Script di atas berfungsi untuk menentukan pola dari string yang kita tentukan, lihat Tabel di bawah ini:
Pola Harusdiawalkata Huruf Angka Hurufatauangka Semuajeniskarakter Berjumlahsatuataulebih Berjumlahnolataulebih Berjumlahtigasampaisepuluh Diikutidengan@ Tandatitik Harusberadadiakhirkalimat Jadijika:$polaemail="^.+@.+\..+$"; Deskripsidaripolaemail: ^(harusadakarakterdidepan) .(semuajediskarakter) +(Lebihdarisatu) @(tanda@) .(semuajediskarakter) +(Lebihdarisatu) \.(diikutitandatitik) .(semuajediskarakter) +(Lebihdarisatu) $(Harus ada di akhir kalimat) Jikaandamauemailharus.com/.net/.org Polanyasepertiini:^.+@.+\.((com)|(net)|(org))$ Kode ^ AZaz 09 [AZaz09] . +atau{1,} *atau{0,} {3,10} @ \. $

if((!$first_name)||(!$last_name)||(!eregi($pola_tlp,$tlp))||(!eregi($polaemail,$email_address)) ||(!$username)||(!eregi($polapassword,$password))||(!$retypepassword)||($password!= $retypepassword)) Pernyataan"if",Jika Tanda"!"berartitidak,script"!$first_name"berartistring"$first_name"tidakberisiataukosong Tanda"||"ituberarti"atau". Script"!eregi($pola_tlp,$tlp)""eregi"adalahfungsiuntukmembandingkan,berartijika$pola_tlp tidaksamadengan$tlp Tanda"!="berartitidaksama Scriptdiatasberfungsiuntukmemeriksasemuastringapakahkosongataupolanyatidaksama.Jika adasalahsatustringyangbermasalahkitalangsungtampilkanpernyataan: "TolongIsiFormulirIniDenganBenar!" Setelahitukitatunjukkanbagianmanayangsalah,denganscript: <?php if(!$first_name){ ?> Tolongisinamadepan<br/> <?php} if(!$last_name){ ?> Tolongisinamabelakang<br/> <?php} if(!eregi($pola_tlp,$tlp)){ echo"TolongisiTelpon,HarusAngkaEx.085648173225<br/>"; } if(!eregi($polaemail,$email_address)){ echo"TolongisiEmail,Ex.scorpio@linux.org<br/>"; } if(!$username){ ?> Tolongisiusername<br/> <?php} if(!eregi($polapassword,$password)){ echo"TolongisiPassword,HarusLebihdari5Karakter<br/>"; } if(!$retypepassword){ ?> Tolongisiretypepassword

<?php} if("$password"!="$retypepassword"){ ?> Passwordnyatidaksama,ulangilagiya! <?php } ?> Setelahkitatunjukkansalahnyadimana,kitasertakanfile"form.htm"denganscript: include"form.htm"; lalukitaakhiriproses: exit();

MEMBUATPAGE123
21042007|09:45:29|HalamanInidibaca16409kali

Hai selamat pagi semuanya, kali ini saya akan menunjukkan bagai mana cara membuat halaman bertingkat dalam sebuah website yang content nya di generate dari database. Jika anda memiliki "Dinamic Website" yang besar dan memiliki ribuan item /product anda pasti kesulitan untuk menampilkan item tersebut satu persatu secara beraturan, otomatis dan terkendali. Solusinya adalah anda bisa memakai halaman. <-Previous 1 2 3 Next-> Halaman tersebut contentnya di ambil dari database MySql, selain itu kita juga bisa menentukan berapa item yang akan kita tampilkan per-halaman. Menarik bukan???

Tabel database yang saya gunakan (ini hanya contoh): ----CREATE TABLE `content` ( `id` int(225) NOT NULL auto_increment, `judul` varchar(50) collate latin1_general_ci NOT NULL default '', `isi` longtext collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ; ----Koneksi db.php:
------

<?php $dbhost = 'localhost'; $dbusername = 'user_kamu'; $dbpasswd = 'pass_kamu'; $database_name = 'database_kamu'; #under here, don't touch!

@$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") or die ("MySql Putus tidak bisa connect ke server"); @$db = mysql_select_db("$database_name", $connection) or die("Database tidak ditemukan"); ?>

Deskripsi Script: -------------------------<?php /* ini kita include koneksi database */ include 'db.php'; /* tentukan table nya */ $table = content; $hal = $_GET[hal]; /* jika page default nya 1 */ if(!isset($_GET['hal'])){ $page = 1; } else { $page = $_GET['hal']; } /* tentukan jumlah item per halaman */ $max_results = 5; /* halaman di kali MAX jumlah item per halaman dikurangi MAX jumlah item per halaman */ /* logika: 1 x 5 = 5 , 5 - 5 = 0 , jadi id database dimulai dari 0*/ $from = (($page * $max_results) - $max_results); /* tampilkan dari databse, LIMIT dari contuh diatas id dari 0 sampai 5 */ $sql = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT $from, $max_results "); while($row = mysql_fetch_array($sql)){ /* display result, ini tergantung table database mu */ ?> <?php echo $row[2] ?><br> <?php echo $row[3] ?></a><br /> <?php echo $row[1] ?> | Halaman Ini dibaca <?php echo $row[6] ?> kali<br /> <?php echo $row[4]; ?> <hr> <?php }

$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM $table"),0); $total_pages = ceil($total_results / $max_results); /* bangun jumlah hiperlink halaman*/ echo "<center>Select a Page<br />"; /* bangun Previous link */ if($hal > 1){ $prev = ($page - 1); echo "<a href=$_SERVER[PHP_SELF]?hal=$prev> <-Previous </a> "; } for($i = 1; $i <= $total_pages; $i++){ if(($hal) == $i){ echo "$i "; } else { echo "<a href=$_SERVER[PHP_SELF]?hal=$i>$i</a> "; } } /* bangun Next link */ if($hal < $total_pages){ $next = ($page + 1); echo "<a href=$_SERVER[PHP_SELF]?hal=$next>Next-></a>"; } echo "</center>"; ?> ---------------Referensi luar negri Saya modifikasi supaya mudah di gunakan dan di implementasikan oleh teman-teman semua Script ini telah di test dan jalan 100% di: - mesin pentium III 650Mhz - ram 256mb - server konsol server XAMPP versi 1.5.3 Beta 5

TUTORIALMEMBUATKOMENTARPADAARTIKEL
10062007|15:53:40|HalamanInidibaca8166kali

Sering kita temui halaman-halaman tutorial pada web yang selalu memiliki fasilitas untuk memberikan komentar kepada penulisnya, maupun tulisannya. Sering pula ditemui komentarkomentar yang tidak diinginkan selalu hadir meramaikan isi komentar. Ya langsung saja saya berikan sedikit penjelasan bagaimana cara membuatnya, yang perlu kita butuhkan untuk memasukkan komentar adalah halaman tutorial itu sendiri disamping fasilitas untuk memasukkan komentar. Sehingga diperlukan sebuah tabel yang berfungsi untuk menyimpan isi artikel/tutorial dan sebuah tabel lagi yang digunakan untuk menyimpan komentar. Berikut ini adalah struktur tabelnya : create table artikelnya (id int(5) primary key auto_increment, penulis varchar(50), judul varchar(50) not null, isi_artikel text ); Kemudian tabel untuk menyimpan komentarnya : create table komentarnya (id int(5) primary key auto_increment, nama_komentar varchar(40), email_komentar varchar(30), isi_komentar varchar(200), id_artikel int(50));

Langkah selanjutnya adalah membuat php script untuk membuat koneksi antara mysql dengan php, berikut ini adalah scriptnya : config.php <?php $host = "localhost"; $username = "root"; $password = ""; $databasename = "cms_artikel"; $connection = mysql_connect($host, $username, $password); mysql_select_db($databasename, $connection) ; ?> Kemudian script untuk menampilkan judul artikelnya ... main.php <?php require_once "config.php"; $query = "select * from artikelnya";

$runquery = mysql_query($query); while($result = mysql_fetch_array($runquery)) { $id = $result['id']; $judul = $result['judul']; $isi_artikelnya = $result['isi_artikel']; $isi = substr($isi_artikelnya,0,400); $isi = substr($isi_artikelnya,0,strrpos($isi," ")); print "<b>$judul<br></b>$isi..."; print "<a href=view.php?page_detil=$id>Selengkapnya</a><br><br>"; } ?> Script untuk menampilkan artikel secara keseluruhan ... view.php <?php require_once "config.php"; $id = $_GET['page_detil']; if (ISSET($_GET['page_detil'])) { $query = "select * from artikelnya where id=$id"; $runquery = mysql_query($query); $result = mysql_fetch_array($runquery); $isi_artikel = $result['isi_artikel']; print $isi_artikel ; print "<br><a href=main.php>Kembali ... </a><br><br>"; print "<b>Komentarnya : </b><hr>"; require_once "comment.php"; } else print ""; if ($_REQUEST['entry'] == "comment") { $id_artikel = $_POST['id_artikel'] ; $nama = $_POST['nama'];

$komentar = $_POST['komentar']; $query2 = "insert into komentarnya values('','$nama','$komentar','$id_artikel')"; $runquery2 = mysql_query($query2); print "Berhasil di masukkan<br>"; print "<a href=view.php?page_detil=$id_artikel>Kembali...</a>"; } ?> Ini adalah script untuk menampilkan komentar, sekaligus form untuk memasukkan komentar comment.php <?php require_once "config.php"; $query = "select nama_komentar, isi_komentar from komentarnya where id_artikel=$id order by id desc"; $runquery = mysql_query($query); while ($result = mysql_fetch_array($runquery)) { $nama_komentar = $result['nama_komentar']; $isikomentar = $result['isi_komentar']; print "Nama : $nama_komentar <br> $isikomentar <hr>" ; } ?> <html> <body><br> <b>Isi Komentar :</b> <form action="?entry=comment" method="post"> nama : <input type=text name=nama><br> komentar : <br><textarea name=komentar rows=6 width=200></textarea><br> <input type=submit name=submit value=submit> <input type=hidden name=id_artikel value="<?php print $id ;?>"> </form> </body> </html>

Sedikit penjelasan mengenai script-script diatas. Pada file config.php terdapat koneksi yang menghubungkan php dengan database mysql disitu tertulis mysql_connect($host, $username, $password); Yang merupakan inti yang menangani koneksi tersebut.

Dalam file main.php tertulis $isi = substr($isi_artikelnya,0,400); $isi = substr($isi_artikelnya,0,strrpos($isi," ")); Fungsi substr( ) disini berfungsi untuk memotong value dalam suatu record, dalam kasus ini record isi_artikelnya. Sehingga dalam halaman main.php yang ditampilkan hanyalah 400 karakter pertama, dengan range 0 - 400. Yang tampil pada browser hanya sebagian saja, tidak keseluruhan artikel. Selebihnya di sediakan link "selengkapnya ..." untuk melihat artikel secara keseluruhan. Sedangkan strrpos( ) berfungsi mencari spasi dalam suatu variable dalam hal ini string. Sehingga bila variable $isi berisi : "loka keren sekali" :D~ dan variable tersebut mendapatkan fungsi substr( ) : $isinya = substr($isi,0,5) maka yang akan ditampilkan nanti adalah : "loka k" Sehingga perlu adanya fungsi strrpos( ) untuk menghilangkan karakter yang tidak perlu. Sehingga variable $isi mendapatkan fungsi lagi yaitu : $isinya = substr($isi,0,strrpos($isinya," "); Yup, mungkin ada yang bertanya-tanya, gimana sih mendelete multiple record pada database MySQL. Gimana caranya ??!! Dari situlah artikel ini berawal. Sebelumnya saya telah menemui kasus seperti itu, nah dari pada ilmu saya jadi basi, lebih baik saya tulis tutorial ini, iya gak ??!! :D Langsung saja ke intinya, bentar lagi mau buka puasa. :D~~ Sebelum mendelete record, langkah awalnya adalah membuat database itu sendiri, berikut saya sediakan databasenya : create database contohdelete ; use contohdelete; create table tabledelete (id int(5) primary key auto_increment, nama varchar(50), jabatan varchar(20), kegantengan int(2)); insert into tabledelete values('','Loka Dwiartara','Admin 2','8');

insert into tabledelete values('','Anggi Jatrasmara','Admin 1','5'); insert into tabledelete values('','Johan Felisitas','Admin 3','4'); Langkah selanjutnya adalah script untuk menampilkan database yang akan dihapus :D. Script lengkapnya seperti ini : <?php /* view.php */ $host = "localhost"; $username = "root"; $password = ""; $database = "contohdelete"; $koneksi = mysql_connect($host, $username, $password); mysql_select_db($database, $koneksi) or die("MysQL Error"); $perintah = "select * from tabledelete"; $jalankanperintah = mysql_query($perintah); ?>

<html><body> <form action="delete.php" method="POST"> <?php print "Nama | Jabatan | Tingkat Kegantengan :D <br>"; while ($hasil = mysql_fetch_array($jalankanperintah)) { print "<input type=checkbox name=hapus[] id=hapus value=$hasil[id]>$hasil[nama] | $hasil[jabatan] | $hasil[kegantengan]<br>"; } ?> <input type="submit" name="hapusdong" value="Hapus !!" id="hapusdong"> </form> </body></html> Script tersebut cukup familiar, oleh karena itu saya hanya menjelaskan sedikit saja. Kalimat ... print "<input type=checkbox name=hapus[] id=hapus value=$hasil[id]>$hasil[nama] | $hasil[jabatan] | $hasil[kegantengan]<br>"; sengaja saya gunakan name-nya hapus[ ] karena berbentuk array. Dan ini adalah inti yang menjembatani record database bisa di hapus.

Dan selanjutnya script untuk menghapus recordnya : <?php /* delete.php */ $host = "localhost"; $username = "root"; $password = ""; $database = "contohdelete"; $koneksi = mysql_connect($host, $username, $password); mysql_select_db($database, $koneksi) or die("MysQL Error");

$id = $_POST[hapus]; $banyaknya = count($id); if($_POST['hapusdong']) { for ($i=0; $i<$banyaknya; $i++) { $perintahdelete = "delete from tabledelete where id=$id[$i]"; $jalankanperintahdelete = mysql_query($perintahdelete); } if ($jalankanperintahdelete) { print "Record berhasil didelete<br>"; print "<a href=view.php>Klik disini untuk kembali</a>"; } } ?> Di script ini pun saya akan menjelaskan sedikit, yaitu pada kalimat $banyaknya = count($id); if($_POST['hapusdong']) { for ($i=0; $i<$banyaknya; $i++) {

$perintahdelete = "delete from tabledelete where id=$id[$i]"; $jalankanperintahdelete = mysql_query($perintahdelete); } if ($jalankanperintahdelete) { print "Record berhasil didelete<br>"; print "<a href=view.php>Klik disini untuk kembali</a>"; } } terdapat argumen $banyaknya = count($id); berguna untuk menghitung berapa banyak record yang dipilih untuk dihapus. ketika view.php menge-post variable $_POST['hapusdong'], yang berasal dari button submit, maka akan dilakukan looping untuk mendelete record sebanyak checkbox id yang dipilih. Dalam hal ini nilai dari banyaknya checkbox yang dipilih terdapat pada variable $banyaknya.