Membuat Buku Tamu (Bagian 2)

Alhamdulilah disela aktivitas sehari-hari yang lumayan sibuk akhirnya dapat terselesaikan juga PR untuk melanjutkan tutorial membuat buku tamu yang pada beberapa waktu lalu sempat tertunda, untuk membaca tutorial bagian pertama silakan baca disini.

Pada tutorial ini kita akan membahas script tambahan untuk menghapus dan mengedit data komentar. Pada case yang sebenarnya akses untuk hapus dan edit ini tidak disarankan untuk ditampilkan secara terbuka tanpa batasan sesi user tertentu, karena akses untuk ini harus terdapat pada halaman administrator yang bertugas memonitor aktifitas website.

Baiklah tanpa banyak bicara lagi, mari kita bahas…

Menghapus Data Komentar

Untuk membuat script hapus data komentar sebelumnya silahkan tambahkan link pada tulisan hapus yang terdapat pada file tampil_bukutamu.php.

image

Blok tulisan “hapus” dan klik tab Code serta tambahkan link yang menuju ke file hapus.

clip_image002

Selanjutnya ketikkan script berikut dan simpan dengan nama hapus_data.php

<?php
include "koneksi_db.php";
id_komen=$_GET["id_komen"];
$hapus = mysql_query("delete from tb_bukutamu where id_komen='$id_komen'");
if(!$hapus){
echo "<script>alert('Gagal dihapus, silahkan coba beberapa saat lagi...');window.history.go(-1);</script>";
}else{
header("location: tampil_bukutamu.php");
}
?>

Setelah selesai, jalankan dari webserver (localhost) seperti tampil pada gambar berikut :

clip_image002[4]

Apabila tidak ada kesalahan, data akan berhasil dihapus dan akan direct ke halaman sebelumnya, tetapi jika terdapat kekeliruan maka script akan menampilkan pesan konfirmasi seperti gambar berikut.

image

Apabila ternyata data gagal dihapus, silahkan cek penulisan script sehingga tidak ada kesalahan lagi. Kemungkinan penyebab data gagal dihapus adalah program tidak dapat mengirimkan value (nilai tetap) dari variabel $id_komen yang dikirm melalui link hapus, pastikan nama variabel sama persis serta penulisan script untuk menetapkan nilai variabel juga benar, selain itu juga pastikan penulisan perintah sql yang terdapat pada script hapus_data tidak terdapat kesalahan.

Mengedit Data Komentar

Alur dalam script edit ini nantinya berawal dari user mengklik link edit pada komentar yang ditampilkan, selanjutnya data komentar tersebut akan di tampilkan pada form, sehingga user dapat dengan mudah membenahi data jika terdapat kesalahan pada komentar tersebut.

Langkah pertama silahkan tambahkan link pada tulisan “edit”, lihat pada gambar berikut :

image

Blok tulisan “edit” dan klik tab Code serta tambahkan link yang menuju ke file edit.

clip_image002[6]

Selanjutnya buatlah form edit dengan action menuju ke proses_edit.php seperti gambar berikut.

clip_image004

Klik tab code dan tambahkan script berikut dibawah kode <form>.

kode

 

Selanjutnya tambahkan script untuk menampilkan data pada komponen form seperti textfield nama, email, website dan komentar untuk menampilkan masing-masing data pada form.

image

Setelah semua kode diatas selesai dibuat silahkan jalankan dari localhost yang dimulai dari user meng-klik link “edit” dari komentar yang ditampilkan.

kode2

image

Membuat Script Proses Edit

Untuk membuat proses edit yang digunakan untuk menyimpan data hasil update data komentar ke database, silahkan ketik script berikut dan simpan dengan nama proses_edit.php

<?php
include "koneksi_db.php";
$id_komen = $_POST["id_komen"];
$tanggal = date("d-m-y");
$nama = $_POST["nama"];
$email = $_POST["email"];
$website = $_POST["website"];
$komentar = $_POST["komentar"];
if(empty($nama) || empty($email) || empty($website) || empty($komentar)){
echo "<script>alert('Semua komponen form harus diisi...');window.history.go(-1);</script>";
exit();
}
$update = mysql_query("update tb_bukutamu set tanggal='$tanggal', nama='$nama', email='$email', website='$website', komentar='$komentar' where id_komen='$id_komen' ");
if(!$update){
echo "<script>alert('Gagal diupdate, silahkan coba beberapa saat lagi...');window.history.go(-1);</script>";
}else{
echo "<script>alert('Berhasil diupdate...');window.location.href='tampil_bukutamu.php';</script>";
}
?>

 

Script ini secara otomatis akan berjalan ketika user mengklik tombol update dari form edit dan segera mengirimkan data tersebut ke database. Jika berhasil script akan menampilkan pesan konfirmasi berhasil, sebaliknya apabila gagal script akan mengembalikanya kembali ke form. Solusinya, silahklan cek kembali penulisan script hingga benar.

Keterangan Perintah SQL yang Digunakan

  1. Mysql_connect : Membuat koneksi ke host (webserver) yang diguanakan, apabila anda menggunakan webserver dengan host yang berbeda (bukan webserver lokal), maka sesuaikan dengan pengaturan pada host anda misal menggunakan host dari jasa hosting www.000webhost.com, www.dhmart.com dll.
  2. Mysql_seelct_db : Menetapkan database yang digunakan.
  3. Mysql_query : Menjalankan perintah sql yang digunakan.
  4. Mysql_fetch_array : Merubah hasil query tabel ke bentuk array .
  5. Mysql_num_rows : Mendapatkan informasi jumlah record pada query tabel.
  6. Insert into <nama table> <nama filed> value <’isi field’>: Memasukkan data kedalam tabel.
  7. Select * from <nama table> : Menampilkan semua record tabel.
  8. Update <nama table> where <nama filed=’value’> : Mengubah record tabel.
  9. Delete from <nama table> where <nama filed=’value’> : Menghapus record tabel

Error Handling (Penanganan Error)

Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘oot’@’localhost’ (using password: YES) in C:\AppServ\www\bukutamu\koneksi_db.php on line 7

Maaf, Koneksi gagal…Access denied for user ‘oot’@’localhost’ (using password: YES)

Sebab : Kesalahan pada penulisan script mysql_connect untuk user “root” yang terdapat pada script koneksi_db.

Solusi : Benahi penulisan script untuk nama host : localhost, username : root dan password : 123456 atau sesuaikan dengan host yang digunakan.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\bukutamu\tampil_bukutamu.php on line 33

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\bukutamu\tampil_bukutamu.php on line 39

Sebab : terdapat kesalahan penulisan script pada file tampil_bukutamu sehingga perintah mysql_num_rows untuk menghitung jumlah record tabel tidak terpenuhi.

Solusi : Benahi penulisan script pada baris yang telah ditunjukkan, pastikan semuanya benar dan cek dengan teliti.

A. Efryanto

Efry bekerja sebagai staff pengajar di LKP PalComTech Prabumulih. Bidang materi yang diajarkan adalah pemrograman seperti PHP.

3 comments

  1. mantap bapak ni kode terus…
    kode yang lainnya pak Seperti (titik – titik… ??? ) :D

  2. hehe…injih mba…matur suwun mba, dipon tenggo nggeh lintuni pun… :D

  3. Gw masih bingung ni mas.. masalahnya dimana .. dan cara mengatasinya gimana. karena klo di localhost.. lancar-lancar aja….

    <?
    echo "”;
    echo “Berita Terbaru”;
    $p = new Paging9;
    $batas = 3;
    $posisi = $p->cariPosisi($batas);
    $terkini= mysql_query(“SELECT * FROM berita ORDER BY id_berita DESC LIMIT $posisi,$batas”;);
    while($t=mysql_fetch_array($terkini)){
    $tgl = tgl_indo($t[tanggal]);
    echo “$tgl”;
    echo “$t[judul]“;
    echo “”;
    if ($t[gambar]!=”;){
    echo “”;
    }
    $isi_berita = nl2br($t[isi_berita]);
    $isi = substr($isi_berita,0,300);
    $isi = substr($isi_berita,0,strrpos($isi,” “;));
    echo “$isi … Selengkapnya
    “;
    echo “”;
    echo “”;
    }
    $jmldata = mysql_num_rows(mysql_query(“SELECT * FROM berita”;));
    $jmlhalaman = $p->jumlahHalaman($jmldata, $batas);
    $linkHalaman = $p->navHalaman($_GET[halberita], $jmlhalaman);

    echo “Hal: $linkHalaman “;
    echo “”;
    ?>

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

[+] kaskus emoticons nartzco