• Tidak ada hasil yang ditemukan

BAB 7 APLIKASI KOMENTAR DAN VALIDASINYA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 7 APLIKASI KOMENTAR DAN VALIDASINYA"

Copied!
45
0
0

Teks penuh

(1)

BAB 7

APLIKASI

KOMENTAR

DAN

VALIDASINYA

Anda memiliki sebuah usaha yang juga memiliki website sebagai sarana berkomunikasi dengan konsumen. Di dalam website tersebut seorang pengunjung website atau konsumen Anda dapat memberikan testimoni atau komentarnya.

Namun Anda juga tidak ingin komentar yang dimasukkan ke dalam website begitu saja tampil padahal isinya merugikan perusahaan. Ini artinya setiap komentar yang masuk ke dalam website akan disaring terlebih dahulu oleh web administrator untuk disetujui dan diubah sebelum akhirnya ditampilkan di website atau bahkan dihapus jika isinya menggunakan kata-kata kasar yang tidak layak untuk ditampilkan.

Form untuk memasukkan komentar juga akan menggunakan filter sehingga orang-orang yang berniat jahat hanya benar-benar bisa memasukkan teks dan bukan link atau gambar misalnya. Kita akan menggunakan fungsi

htlmspecialcharacters untuk memblok HTML Injection yang mungkin

dilakukan melalui form.

Tutorial ini akan menggunakan dua buah tabel data, yaitu:

 Tabel basic5_admin, untuk menyimpan data web administrator yang nantinya bertugas untuk menyetujui, tidak menyetujui atau bahkan menghapus komentar. Halaman management komentar akan dilindungi oleh username dan password. Berikut ini adalah data admin tersebut:

(2)

CREATE TABLE IF NOT EXISTS `basic5_admin` ( `id` int(5) NOT NULL AUTO_INCREMENT, `nama` varchar(64) NOT NULL,

`username` varchar(64) NOT NULL, `password` varchar(64) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `basic5_admin` (`id`, `nama`, `username`, `password`) VALUES

(1, 'Andoyo', 'andoyo', 'andoyo');

 Tabel basic5_komentar, untuk menyimpan semua data komentar yang dimasukkan oleh konsumen atau pengunjung website

CREATE TABLE IF NOT EXISTS `basic5_komentar` ( `id_komentar` int(5) NOT NULL AUTO_INCREMENT, `nama_komentar` varchar(50) NOT NULL,

`email_komentar` varchar(50) NOT NULL, `isi_komentar` mediumtext NOT NULL, `status_komentar` tinyint(1) NOT NULL, `validator_komentar` int(5) NOT NULL, PRIMARY KEY (`id_komentar`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Tutorial ini menggunakan tujuh (7) file PHP, ketujuh file PHP tersebut adalah:

komentar.php, adalah halaman untuk menampilkan komentar dan sekaligus terdapat form untuk memasukkan komentar

terimakasih.php, adalah halaman pengalihan sebagai pemberitahuan jika proses memasukkan komentar telah berhasil dilakukan

login.php, digunakan sebagai halaman login agar dapat masuk ke halaman admin.php untuk mengelola komentar

logout.php, adalah halaman pengalihan jika proses log out berhasil dilakukan

admin.php, adalah halaman Management Komentar yang telah dimasukkan oleh pengunjung website

(3)

edit_komentar.php, adalah halaman yang digunakan untuk mengubah dan menentukan status komentar apakah mau dipublikasikan atau tidak

delete_komentar.php, berisi script untuk menghapus data komentar yang tidak diinginkan

1.1 Halaman komentar komentar.php

Halaman ini adalah halaman untuk menampilkan semua komentar yang telah disetujui oleh web administrator dan sekaligus juga halaman yang berisi form untuk memasukkan komentar oleh pengunjung website.

Komentar yang dikirim oleh pengunjung website tidak akan tampil di halaman website ini sebelum disetujui dan divalidasi oleh administrator website.

1.1.1 Membuat form komentar dengan menggunakan

fungsi Spry

Dalam membuat form komentar ini, Anda akan menggunakan fungsi Spry

yang disediakan oleh Dreamweaver CS5 sebagai salah satu fitur penambah keamanan. Terutama pada fungsi input nama, email dan komentar yang akan dimasukkan. Anda juga akan belajar menggunakan fungsi hidden field di dalam form.

(4)
(5)

1. Buka file komentar.php

2. Melalui Design View, seleksi tulisan “Form komentar di sini”, lalu hapus

Di sana Anda akan menempatkan form komentar

3. Klik Insert > Form > Fieldset

Jendela Fieldset akan keluar, pada menu Legend: Form Komentar lalu klik OK

4. Klik Insert > Form > Form

Melalui Design View Anda dapat melihat muncul kotak dengan garis merah putus-putus. Pastikan kursor Anda masih berada di dalam form tersebut

5. Klik Insert > Spry > Spry Validation Text Field

Jendela Input Tag Accessibility Attributes akan keluar, masukkan beberapa parameter ini:

ID: nama_komentar

Label: Nama Anda:

(6)

6. Melalui Code View, cari kode di bawah ini:

<label for="nama_komentar">Nama Anda:</label>

Lalu tambahkan kode <br/> di belakangnya, sehingga menjadi:

<label for="nama_komentar">Nama Anda:</label><br/>

7. Melalui Design View, letakkan kursor Anda setelah isian text field, lalu tekan Enter

8. Klik Insert > Spry > Spry Validation Text Field

Jendela Input Tag Accessibility Attributes akan keluar, masukkan beberapa parameter ini:

ID: email_komentar

Label: Email Anda:

(7)

9. Melalui panel Properties, atur setingannya menjadi:

Min chars: 8

Type: Email address, klik pada pop up menu

10. Melalui Code View, cari kode di bawah ini:

<label for="email_komentar">Email Anda:</label>

Lalu tambahkan kode <br/> di belakangnya, sehingga menjadi:

<label for="email_komentar">Email Anda:</label><br/>

11. Melalui Design View, letakkan kursor Anda setelah isian text field, lalu tekan Enter

12. Klik Insert > Spry > Spry Validation Text Area

Jendela Input Tag Accessibility Attributes akan keluar, masukkan beberapa parameter ini:

(8)

Label: Komentar Anda:

 Klik OK

13. Melalui Code View, cari kode di bawah ini:

<label for="isi_komentar">Komentar Anda:</label>

Lalu tambahkan kode <br/> di belakangnya, sehingga menjadi:

<label for="isi_komentar">Komentar Anda:</label><br/>

14. Melalui Design View, letakkan kursor Anda setelah isian text area, lalu tekan Enter

15. Klik Insert > Button

Jendela Input Tag Accessibility Attributes akan keluar, masukkan beberapa parameter ini:

ID: submit

 Klik OK

16. Melalui Design View klik tombol Submit > klik kanan > Copy > klik kanan > Paste di samping tombol Submit.

17. Klik tombol Submit kedua tersebut lalu melalui panel Properties

ubahlah jenis tombol menjadi Reset Form

18. Letakkan kursor Anda di samping tombol Reset

19. Klik Insert > Form > Hidden Field

Di Design View Anda akan melihat simbol ( )

20. Klik simbol Hidden Field tersebut lalu melalui panel Properties,

ubahlah menjadi:

(9)

Value: 0

Value bernilai nol (0) ini maksudnya adalah sebagai filter yang menyatakan bahwa setiap komentar yang dimasukkan oleh pengunjung website akan bernilai nol, sedangkan komentar yang telah disetujui oleh Administrator website akan bernilai satu (1)

21. Simpan kembali file komentar.php

Jika muncul permintaan untuk menyimpan data Spry, klik OK.

1.1.2 Aktivasi form komentar

Form komentar telah selesai dibuat, langkah selanjutnya adalah mengaktifkannya. Berikut adalah langkah-langkahnya:

1. Klik Insert > Data Objects > Insert Record > Insert Record

Anda juga dapat melakukannya dengan mengklik panel Server Behaviors > tanda plus (+) > Insert Record.

Jendela Insert Record akan keluar 2. Sesuaikan parameternya seperti berikut ini:

Submit values from: form1

Connection: mybooks_conn,

Sesuaikan dengan koneksi Anda

Insert table: basic5_komentar

Columns:

Pastikan semua field mendapatkan value, kecuali untuk

(10)

After inserting, go to: terimakasih.php

Klik Browse untuk mencari file terimakasih.php atau dengan mengetikkannya secara manual

 Klik OK

3. Melalui Code View, cari kode berikut ini:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$insertSQL = sprintf("INSERT INTO basic5_komentar (nama_komentar, email_komentar, isi_komentar, status_komentar) VALUES (%s, %s, %s, %s)", GetSQLValueString($_POST['nama_komentar'], "text"), GetSQLValueString($_POST['email_komentar'], "text"), GetSQLValueString($_POST['isi_komentar'], "text"), GetSQLValueString($_POST['status_komentar'], "int"));

4. Lalu pada variabel $_POST[‘isi_komentar’] tambahkan fungsi htmlspecialchars untuk menghindari HTML Injection. Sehingga

kode akan berubah menjadi:

GetSQLValueString(htmlspecialchars($_POST['isi_komentar'] ), "text"),

NOTE: Mengenai fungsi htmlspecialchars Anda dapat mempelajarinya melalui Manual PHP atau mencari referensinya di internet.

5. Simpan kembali file komentar.php

Form Anda telah selesai dan siap untuk digunakan. Lakukan uji coba dengan memasukkan beberapa komentar

(11)

1.1.3 Menampilkan data komentar yang telah

disetujui oleh Administrator Website

Pada saat Anda ingin menampilkan data komentar, sering terjadi kasus dimana teks yang seharusnya muncul panjang dengan paragraf baru tapi ternyata teks hanya muncul satu baris dan terkumpul jadi satu sehingga susah untuk dibaca. Pada tutorial ini, Anda akan mengatasi masalah tersebut.

1. Buka file komentar.php

2. Klik panel BINDINGS > tanda plus (+) > Recordset (Query)

Jendela Recordset akan keluar, masukkan beberapa parameter berikut ini:  Name: rsKomentarConnection: mybooks_connTable: basic5_komentarColumns: AllFilter: status_komentar

(12)

 Ubahlah URL Parameter menjadi Entered Value,

 Hapus tulisan status_komentar, lalu ketik angka 1. Untuk simbol sama dengan (=) biarkan sesuai default.

Angka 1 (satu) di sini sebenarnya adalah angka yang menyatakan bahwa komentar telah disetujui untuk dipublikasikan. Jika Anda perhatikan pada form komentar yang telah Anda buat sebelumnya, nilai

status_komentar yang dimasukkan oleh pengunjung telah kita set menjadi angka 0 (nol).

Sort: id_komentar, ubah nilai Ascending menjadi

Descending

(13)

3. Klik panel BINDINGS dan lakukan expand terhadap Recordset (rsKomentar) dengan mengklik tanda plus yang ada di sampingnya

Perhatikan tabel komentar yang terletak pada baris kedua

4. Melalui Design View, seleksi tulisan “Nama” lalu dari panel

Bindings, klik dan tahan field nama_komentar lalu drag/tarik menuju tulisan “Nama” tersebut

5. Ulangi langkah ke-4 untuk mengubah Email dari field

email_komentar dan Komentar dari field isi_komentar sehingga menghasilkan seperti ini

Atau jika dilihat melalui Code View akan menghasilkan seperti ini: <tr> <td width="20%"><?php echo $row_rsKomentar['nama_komentar']; ?></td> <td width="20%"><?php echo $row_rsKomentar['nama_komentar']; ?></td> <td width="60%"><?php echo $row_rsKomentar['isi_komentar']; ?></td> </tr>

6. Pada kode variabel $row_rsKomentar[‘isi_komentar’]

tambahkan fungsi nl2br (new line to break) untuk memberi ruang

bagi spasi.Sehingga kode akan menjadi:

<td width="20%">

(14)

</td>

Untuk melihat perbedaan antara yang menggunakan fungsi nl2br

dan tidak adalah sebagai berikut:

7. Seleksi kembali kode satu baris tabel ini:

<tr> <td width="20%"><?php echo $row_rsKomentar['nama_komentar']; ?></td> <td width="20%"><?php echo $row_rsKomentar['nama_komentar']; ?></td> <td width="60%"><?php echo nl2br($row_rsKomentar['isi_komentar']); ?></td> </tr>

8. Klik Insert > Data Objects > Repeat Region

Anda juga dapat melakukannya melalui panel Server Behaviors > tanda plus (+) > Repeat Region. Jendela Repeat Region akan keluar. Sesuaikan dengan tutorial ini:

Recordset: (rsKomentar)

(15)

 Klik OK

9. Melalui Design View, seleksi tulisan “Recordset navigation bar”. Lalu hapus tulisan tersebut

10. Klik Insert > Data Objects > Recordset Paging > Recordset Navigation Bar

Jendela Recordset Navigation Bar akan keluar. Sesuaikan dengan parameter berikut ini:

Recordset: rsKomentar

Display using: Text

 Klik OK

11. Simpan kembali file komentar.php

(16)

1.2 Halaman terimakasih.php

Halaman ini adalah pengalihan sebagai pemberitahuan bahwa komentar beserta data yang baru saja dimasukkan telah tersimpan dalam database website. Untuk mengaktifkannya, ikuti langkah-langkah berikut ini:

1. Buka file terimakasih.php

Seperti Anda lihat melalui Design View, terdapat dua variabel yang akan kita cetak untuk memberitahu kepada pengunjung bahwa komentar, nama dan data email yang mereka masukkan telah disimpan di dalam website. Kedua variabel tersebut adalah

Nama_komentator dan Email_komentator.

Kedua variabel tersebut akan kita munculkan sesuai dengan nama dan email yang pengunjung website masukkan pada saat mengisi form komentar.

2. Klik BINDINGS > tanda plus (+) > Recordset (Query)

Jendela Recordset akan keluar. Masukkan beberapa parameter berikut ini:  Name: rsKonfirmasiConnection: mybooks_connTable: basic5_komentarColumns: AllFilter: None

(17)

3. Klik Advanced pada jendela Recordset

Di bagian SQL Anda akan melihat kode di bawah ini:

SELECT *

FROM basic5_komentar ORDER BY id_komentar DESC

4. Tambahkan kode LIMIT 1 setelah kode ORDER BY id_komentar DESC, sehingga kode akan berubah menjadi:

SELECT *

FROM basic5_komentar

(18)

5. Klik OK untuk menutup jendela Recordset

6. Melalui panel BINDINGS, lakukan expand Recordset (rsKonfirmasi) dengan mengklik tanda plus (+)

7. Melalui Design View, seleksi tulisan “Nama_Komentator”

8. Melalui panel BINDINGS > klik dan field nama_komentar yang terdapat pada Recordset (rsKonfirmasi), lalu drag menuju tulisan

“Nama_Komentator” tersebut

9. Lakukan hal yang sama untuk tulisan “Email_Komentator”, gantilah dengan field email_komentar

(19)

10. Simpan kembali file terimakasih.php

11. Lakukan uji coba dengan memasukkan komentar melalui halaman komentar, maka Anda akan dialihkan ke halaman terimakasih.php

1.3 Halaman login.php

Anda telah mempelajari bagaimana membuat form login dan mengaktifkannya pada Bab sebelumnya. Pada tutorial ini, Anda hanya akan mengaktifkan form login yang sebelumnya telah dibuat.

1. Buka file login.php

2. Klik Insert > Data Objects > User Authentication > Log In User

Anda juga dapat melakukannya melalui panel Server Behaviors > tanda plus (+) > User Authentication > Log In User. Jendela

(20)

3. Masukkan beberapa parameter berikut ini:

Get input from form: form1

Username field: username

Password field: password

Validate using connection: mybooks_conn

Table: basic5_admin

Username column: username

(21)

If login succeds, go to: admin.php, klik Browse untuk mencari file admin.php atau Anda bisa mengetiknya

Go to previous URL (if exists), klik tanda centang (check)

If login fails, go to: login.php, klik Browse untuk mencari file login.php atau Anda bisa mengetiknya

Restrict access based on: Username and password

 Klik OK untuk menutup dialog Log In User

4. Simpan kembali file login.php

Anda telah menyelesaikan pembuatan halaman login.php

(22)

1.4 Halaman admin.php

Di halaman admin.php ini Anda akan sedikit bekerja dengan kode secara manual untuk menampilkan data status komentar yang diinput oleh pengunjung website Anda. Di halaman ini Anda juga akan menambahkan link dinamis seperti yang pernah kita bahas pada bab sebelumnya.

1.4.1 Menampilkan data komentar yang telah diinput

oleh pengunjung website

Untuk dapat menampilkan data komentar, berikut adalah langkah-langkahnya:

1. Buka file admin.php

2. Klik BINDINGS > tanda plus (+) > Recordset (Query)

Jendela Recordset akan keluar, ubahlah menjadi Simple Recordset. Masukkan beberapa parameter berikut ini:

Name: rsComments

Connection: mybooks_conn

Table: basic5_komentar

Columns: All

Filter: None

Sort: id_komentar, Descending

 Klik OK

3. Melalui panel BINDINGS, lakukan expand Recordset (rsComments) dengan mengklik tanda plus (+)

(23)

5. Melalui panel BINDINGS > klik dan field nama_komentar yang terdapat pada Recordset (rsComments), lalu drag menuju tulisan

“nama” tersebut

6. Lakukan hal yang sama untuk mengubah teks “email”, lalu ubah menjadi teks dinamis dari field email_komentar. Lakukan juga

(24)

untuk teks “isi” diubah dengan teks dinamis dari field

isi_komentar

7. Pada bagian “isi” komentar, tambahkan fungsi nl2br untuk memecah teks menjadi paragraf, sehingga kode yang semula adalah:

<?php echo $row_rsComments['isi_komentar']; ?>

Menjadi:

<?php echo nl2br($row_rsComments['isi_komentar']); ?>

8. Lalu pada teks “status” yang menyatakan status komentar, Anda akan mengubahnya menjadi teks dinamis juga. Hanya saja, Anda harus mengerjakannya dengan manual coding

9. Melalui Code View, seleksi kode di bawah ini:

<td width="10%" align="left" valign="top">status</td>

Lalu hapus tulisan “status” lalu tekan Enter sebanyak 2 (dua) kali untuk menyisipkan kode baru yang ingin Anda tampilkan,

sehingga kode berubah menjadi:

<td width="10%" align="left" valign="top"> </td>

10. Sisipkan kode di bawah ini:

<?php if($row_rsComments['status_komentar']==0){ ?> <span class="admin">Baru</span>

<?php }else{ ?> Terpublikasi <?php } ?>

Kode di atas menyatakan bahwa jika variabel status_komentar bernilai 0 (nol) atau pesan belum diperiksa dan diubah statusnya oleh administrator website, maka status komentar akan dicetak dengan teks berwarna merah tebal sebagai komentar Baru, jika

(25)

selain itu maka komentar dianggap sudah Terpublikasi (atau sudah dipublikasikan)

11. Simpan file admin.php

Pada langkah selanjutnya Anda harus menambahkan link dinamis.

1.4.2 Menambah link dinamis Setujui dan Hapus

Link dinamis yang Anda tambahkan pada halaman ini adalah link untuk menyetujui atau mengedit komentar (Setujui) dan link untuk menghapus komentar yang tidak diinginkan (Hapus).

Berikut adalah langkah-langkahnya:

1. Buka file admin.php

Di halaman tersebut Anda akan melihat teks “Setujui | Hapus”

dengan link Setujui menuju halaman edit_komentar.php dan

Hapus menuju halaman delete_komentar.php

2. Melalui Design Viewi, klik teks “Setujui”, lihatlah di panel

Properties pada menu Link Anda akan melihat link menuju halaman edit_komentar.php

3. Klik tanda folder pada menu link tersebut, sehingga jendela Select File akan muncul

(26)

4. Klik menu Parameters yang terletak di sebalah kanan bawah, maka jendela Parameters akan muncul

5. Klik pada area putih di bawah menu Name, lalu ketik

id_komentar

6. Klik area putih di bawah menu Value, lalu klik tanda petir di samping kanannya, maka jendela Dynamic Data akan keluar 7. Klik field id_komentar pada Recordset (rsComments), lalu klik

OK untuk menutup dialog Dynamic Data

(27)

9. Lakukan hal yang sama untuk membuat link dinamis Hapus, sehingga kode kedua link tersebut yang semula adalah sebagai berikut:

<td width="15%" align="left" valign="top"><a href="edit_komentar.php">Setujui</a> | <a href="delete_komentar.php">Hapus</a></td>

Akan berubah menjadi:

<td width="15%" align="left" valign="top"><a href="edit_komentar.php?id_komentar=<?php echo $row_rsComments['id_komentar']; ?>">Setujui</a> | <a href="delete_komentar.php?id_komentar=<?php echo $row_rsComments['id_komentar']; ?>">Hapus</a></td>

Kedua link di atas ketika diklik melalui browser akan menghasilkan link sebagai berikut:

Setujui: http://localhost/MyBooks/basic5/edit_komentar.php?id_k omentar=6  Hapus: http://localhost/MyBooks/basic5/delete_komentar.php?id _komentar=6

10. Simpan kembali file admin.php

(28)

1.4.3 Membuat Recordset Paging dan Recordset

Navigation Bar

Link dinamis telah Anda selesaikan. Langkah selanjutnya adalah mengatur berapa banyak baris data yang akan ditampilkan di halaman admin.php

ini, maka Anda akan bekerja kembali menggunakan fungsi Repeat Region

dan Recordset Navigation Bar.

Berikut adalah langkah-langkahnya:

1. Buka file admin.php

2. Melalui Code View, lalu seleksi kode <tr></tr> yang berarti

table row (baris tabel) kedua di bawah ini:

<tr>

<td width="25%" align="left" valign="top"><?php echo $row_rsComments['nama_komentar']; ?> &amp; <?php echo $row_rsComments['email_komentar']; ?></td>

<td width="50%" align="left" valign="top"><?php echo nl2br($row_rsComments['isi_komentar']); ?></td> <td width="10%" align="left" valign="top"> <?php if($row_rsComments['status_komentar']==0){ ?> <span class="admin">Baru</span> <?php }else{ ?> Terpublikasi <?php } ?> </td>

<td width="15%" align="left" valign="top"><a href="edit_komentar.php?id_komentar=<?php echo $row_rsComments['id_komentar']; ?>">Setujui</a> | <a href="delete_komentar.php?id_komentar=<?php echo $row_rsComments['id_komentar']; ?>">Hapus</a></td> </tr>

3. Klik Insert > Data Objects > Repeat Region

Jendela Repeat Region akan keluar. Masukkan beberapa parameter ini:

Recordset: rsComments

(29)

 Klik OK untuk menutup dialog Repeat Region

4. Melalui Design View, seleksi tulisan “Recordset Navigation Bar”, hapus tulisan tersebut

5. Klik Insert > Data Objects > Recordset Paging > Recordset Navigation Bar

Jendela Recordset Navigation Bar akan keluar, masukkan parameter ini:

Recordset: rsComments

Display using: Text

 Klik OK untuk menutupnya

Hasil pembuatan Repeat Region dan Recordset Navigation Bar

diatas akan menghasilkan seperti gambar di bawah ini:

6. Simpan kembali file admin.php

Anda telah menyelesaikan halaman untuk menampilkan komentar dengan baik, langkah selanjutnya adalah menambahkan fasilitas keamanan sehingga halaman admin.php ini hanya bisa diakses oleh orang yang melakukan login.

Halaman ini juga akan dilengkapi dengan link untuk melakukan log out.

(30)

1.4.4 Proteksi halaman admin.php dan penambahan

fasilitas log out

Anda telah berhasil menampilkan data komentar ke dalam halaman

admin.php, Anda tentunya tidak ingin semua orang bisa mengakses halaman ini tanpa otorisasi terlebih dahulu. Maka pada langkah ini, Anda

(31)

akan memastikan bahwa orang yang bisa masuk ke halaman ini hanyalah orang-orang yang telah diberi password dan username.

Berikut langkah-langkahnya:

1. Buka file admin.php

2. Klik Insert > Data Objects > User Authentication > Restrict Access To Page

Jendela Restrict Access To Page akan keluar, isi beberapa parameter berikut ini:

Restrict based on: Username and password

If access denied, go to: login.php, klik Browse untuk memilih file atau dengan mengetik nama file

 Klik OK untuk menutup jendela dialog

Ini artinya halaman ini hanya bisa diakses setelah Anda melakukan login dengan memasukkan username dan password yang benar. Jika Anda belum melakukan login dan memaksakan diri untuk membuka halaman admin.php melalui browser, maka Anda akan dialihkan ke halaman login.php dan menghasilkan link seperti ini:

http://localhost/MyBooks/basic5/login.php?accesscheck=%2F MyBooks%2Fbasic5%2Fadmin.php

3. Melalui Design View, cari tulisan “Log Out” yang berada di bagian bawah (footer) dari halaman admin.php. Seleksi tulisan tersebut

4. Klik Insert > Data Objects > User Authentication > Log Out User

(32)

Jendela Log Out User akan keluar, masukkan beberapa parameter ini:

Log out when: Link clicked: Selection: “Log Out”

When done, go to: logout.php, klik Browse untuk mencari file tersebut atau ketik secara manual

 Klik OK untuk menyelesaikannya 5. Simpan kembali file admin.php

Anda telah menyelesaikan pembuatan halaman admin.php secara lengkap.

1.5 Halaman edit_komentar.php

Anda ingin menampilkan komentar? Atau Anda ingin mengedit beberapa kata-kata kasar yang mungkin dikirim oleh pengunjung baru kemudian menampilkannya? Jika ya, maka halaman edit_komentar.php ini akan mengakomodasi kepentingan tersebut.

1.5.1 Proteksi halaman dan link log out

Halaman ini tentunya hanya bisa diakses oleh administrator website, maka langkah pertama, lindungi halaman ini dengan username dan password.

(33)

Untuk mengaktifkan halaman ini, berikut adalah langkah-langkahnya:

1. Buka file edit_komentar.php

2. Klik Insert > Data Objects > User Authentication > Restrict Access To Page

Jendela Restrict Access To Page akan keluar, isi beberapa parameter berikut ini:

Restrict based on: Username and password

If access denied, go to: login.php, klik Browse untuk memilih file atau dengan mengetik nama file

(34)

Ini artinya halaman ini hanya bisa diakses setelah Anda melakukan login dengan memasukkan username dan password yang benar. Jika Anda belum melakukan login dan memaksakan diri untuk membuka halaman admin.php melalui browser, maka Anda akan dialihkan ke halaman login.php dan menghasilkan link seperti ini:

http://localhost/MyBooks/basic5/login.php?accesscheck=%2F MyBooks%2Fbasic5%2Fedit_komentar.php

3. Melalui Design View, cari tulisan “Log Out” yang berada di bagian bawah (footer) dari halaman admin.php. Seleksi tulisan tersebut

4. Klik Insert > Data Objects > User Authentication > Log Out User

Jendela Log Out User akan keluar, masukkan beberapa parameter ini:

Log out when: Link clicked: Selection: “Log Out”

When done, go to: logout.php, klik Browse untuk mencari file tersebut atau ketik secara manual

 Klik OK untuk menyelesaikannya 5. Simpan kembali file edit_komentar.php

Anda telah menyelesaikan pembuatan halaman admin.php secara lengkap.

(35)

1.5.2 Membuat recordset untuk edit komentar dan

bekerja dengan session

Anda akan belajar lebih mendalam tentang fungsi session yang dimiliki PHP pada bab selanjutnya. Pada tutorial kali ini, Anda hanya akan membuat sebuah recordset yang menyimpan informasi siapa yang melakukan login untuk kemudian kita jadikan sebagai variabel hidden field

pada form edit komentar ini. Dengan hidden variable ini pula nantinya kita akan mengetahui siapa yang memvalidasi komentar berdasarkan ID dari administrator website.

Berikut adalah langkah-langkahnya:

1. Buka file edit_komentar.php

2. Klik Insert > Data Objects > Recordset

Jendela Recordset akan keluar. Masukkan beberapa parameter berikut ini:

Name: rsEditKomentar

Connection: mybooks_conn

Table: basic5_komentar

Columns: All

Filter: id_komentar, URL Parameter, =, id_komentar

Sort: None

(36)

3. Klik Insert > Data Objects > Recordset

Jendela Recordset akan keluar. Masukkan beberapa parameter berikut ini:

Name: rsSession

Connection: mybooks_conn

Table: basic5_admin

Columns: All

Filter: username, Session Variabel, =, MM_Username

NOTE: Hati-hati pada bagian ini (lihat gambar ). Variabel username yang disimpan dalam tabel

(37)

dan kita set nilainya sama dengan MM_Username (besar kecil huruf akan berpengaruh, pastikan sama dengan yang ditulis di atas)

Sort: None

 Klik OK

4. Melalui Design View, seleksi tulisan ini “Form edit komentar di sini”. Hapus tulisan tersebut

(38)

5. Klik Insert > Form > Fieldset

Jendela Fieldset akan keluar, untuk Legend: Form edit komentar

lalu klik OK.

6. Klik Insert > Data Objects > Update Record > Update Record Form Wizard

Jendela Record Update Form akan keluar. Masukkan parameter-parameter ini:

Connection: mybooks_conn

(39)

Select Record from: rsEditKomentar

Unique key column: id_komentar

After updating, go to: admin.php

Klik Browse untuk mencari filenya atau dengan mengetiknya secara manual

 Pada menu Form fields, ubah beberapa settingan menjadi dengan mengikuti langkah selanjutnya

7. Klik kolom (column) id_komentar, lalu hapus kolom ini dengan mengklik tanda minus (-) yang ada di samping kanan tanda plus (+). Kolom id_komentar akan hilang setelah Anda menghapusnya

8. Klik kolom nama_komentar, lalu ubah settingannya menjadi:

Label: Nama komentator,

Sebelumnya: Nama_komentar

9. Klik kolom email_komentar, lalu ubah settingannya menjadi:

Label: Email komentator,

Sebelumnya: Email_komentar

10. Klik kolom isi_komentar, lalu ubah settingannya menjadi:

Label: Isi Komentar,

Sebelumnya: isi_komentar

Display as: Text area

Sebelumnya: Text field

(40)

 Klik tanda arah ke atas (Move item up list), letakkan menjadi yang pertama sebelum kolom nama_komentar

Ini akan dijadikan sebagai pilihan pertama apakah komentar akan dipublikasikan atau tidak

Label: Status komentar,

Sebelumnya: Status_komentar

Display as: Menu

(41)

Sebelumnya: Text field

 Klik Menu Properties

Jendela Menu Properties akan keluar, lalu masukkan beberapa parameter berikut ini:

Label: Ya, publikasikan

Value: 1

Value atau nilai 1 (satu) di sini sebagai filter bahwa komentar akan dipublikasikan.

 Klik tanda plus (+) untuk menambah pilihan, lalu isi label dan valuenya kembali

Label: Tidak, jangan dipublikasikan

(42)

Anda ingat, value= 0 (nol) adalah yang diinput oleh pengunjung, artinya komentar ini jangan dipublikasikan

 Klik OK

12. Klik kolom validator_komentar, lalu ubah settingannya menjadi:

Display as: Hidden Field

Sebelumnya: Text field

Default value:

Klik tanda petir pada menu Default Value:. Jendela

Dynamic Data akan keluar. Lakukan expand Recordset (rsSession) kemudian klik field id.

Hal ini akan menghasilkan kode:

<?php echo htmlentities($row_rsSession['id']); ?>  Klik OK

(43)

14. Melalui Code View, cari kode di bawah ini:

<select name="status_komentar">

Lalu tambahkan pengaturan tampilan dengan class=”admin”,

sehingga kode akan menjadi:

<select name="status_komentar" class="admin">

Kode berfungsi untuk mempertegas pertanyaan apakah komentar akan dipublikasikan atau tidak.

15. Simpan kembali file edit_komentar.php

Anda telah menyelesaikan pembuatan form edit komentar, proteksi halaman dan link log out.

1.6 Script untuk menghapus komentar

delete_komentar.php

Anda tentu tidak ingin semua orang bisa menghapus komentar yang telah dengan susah payah disampaikan oleh pengunjung website Anda tiba-tiba dihapus orang yang tidak bertanggung jawab hanya karena script untuk menghapus data Anda tidak dilindungi oleh username dan password.

(44)

Untuk mengaktifkan halaman ini, berikut adalah langkah-langkahnya:

1. Buka file delete_komentar.php

2. Klik Insert > Data Objects > User Authentication > Restrict Access To Page

Jendela Restrict Access To Page akan keluar, isi beberapa parameter berikut ini:

Restrict based on: Username and password

If access denied, go to: login.php, klik Browse untuk memilih file atau dengan mengetik nama file

 Klik OK untuk menutup jendela dialog 3. Klik Insert > Data Objects > Delete Record

Jendela Delete Record akan keluar. Masukkan beberapa parameter ini:

First check if variable is defined: Primary key value

Connection: mybooks_conn

Table: basic5_komentar

Primary key column: id_komentar, Numeric (tanda check/centang)

Primary key value: URL Parameter, id_komentar

After deleting, go to: admin.php

Klik Browse untuk mencari filenya atau dengan mengetiknya secara manual

(45)

4. Simpan kembali file delete_komentar.php

5. Lakukan uji coba untuk menghapus salah satu data komentar

Referensi

Dokumen terkait

peristiwa dalam situasi yang berkaitan dengan pengetahuan proporsional maupun pengetahuan yang langsung diperoleh dari data.  Observasi merupakan cara yang

Sedangkan investasi di financial asset khususnya investasi pada deposito dan tabungan, investasi ini merupakan investasi yang benar- benar tidak memiliki resiko

Laporan Bulanan untuk Pemenuhan Tingkat Layanan Jembatan yang merupakan hasil inspeksi lapangan, kecuali kinerja ketidakrataan perkerasan jalan Laporan Mingguan dan Bulanan

Radikal bebas dan senyawa oksigen reaktif yang diproduksi dalam jumlah yang normal, penting untuk fungsi biologis, seperti sel darah putih yang menghasilkan H2O2 untuk

Pengujian untuk mengetahui hubungan secara parsial antara variable Y (Profitabilitas : ROA, ROE, NPM, EPS) dan X (kinerja lingkungan dan biaya lingkungan) Jika

The name of the male turtle is Donatello and the female one is called Rafael. It is quite easy to keep them. They can survivewithoutfood for about two months. However, they need

--- Menimbang, bahwa Pertimbangan Hukum Majelis Hakim Tingkat Pertama pada halaman 21 menyatakan : bahwa ternyata uang milik saksi korban Herman Surya alias Aban tersebut

Barman yang tua pergi ke gunung bersama Popi, perempuan muda cantik yang memang sudah disediakan oleh anaknya.. Hidup menampilkan sepotong demi