Saya membuat aplikasi Buku Tamu tanpa basis data dengan PHP. Semua data disimpan di dalam sebuah file TXT sebagai pengganti basis data. Ide asli diambil dari sini.
Pada versi Saya, Saya tidak menggunakan captcha gambar, melainkan hanya menggunakan tantangan matematika yang lebih sederhana namun relatif aman. Kode ini dituliskan secara baru, mulai dari awal dan bukan merupakan hasil modifikasi. Beberapa fitur baru yang Saya berikan:
- Memungkinkan pengguna untuk menambahkan URL.
- Tanggal penerbitan tersedia, dan akan ditampilkan di pojok kanan atas secara normal.
- Memungkinkan pengguna untuk membagikan pesan secara individual melalui tautan permanen.
- Memungkinkan administrator untuk membuat “database” baru tanpa harus menghapus data yang lama.
- Memungkinkan administrator dan pengguna untuk memuat data lama melalui parameter URL berupa nama file.
- Sistem keamanan yang lebih baik:
- Pengguna wajib menjawab tantangan matematika sederhana.
- Pembatasan jumlah karakter pada setiap bidang.
- Secara otomatis mengubah kode HTML menjadi entitas HTML untuk keamanan, dan hanya akan menerjemahkan kode HTML yang diperbolehkan saja.
- Pesan kesalahan akan tampil lebih jelas, serta data yang telah pengguna masukkan sebelumnya ke dalam formulir akan tetap tersimpan di sana sebelum pengguna berhasil mengirimkan pesannya.
- Tautan di dalam pesan akan terhapus secara otomatis.
guestbook
. Masukkan folder tersebut beserta isinya ke dalam folder public_html
atau www
pada server lokal Anda. Tidak perlu konfigurasi khusus. Sekali pasang langsung jalan! Jika Anda ingin melakukan konfigurasi, maka itu hanya sebatas pada penamaan “database”, pengaturan panjang karakter maksimal dan penyesuaian teks pesan peringatan.Jika sudah selesai, buka alamat
http://localhost/guestbook/index.php
pada peramban untuk melihat hasilnya.Tidak ada fitur emotikon. Terlalu berlebihan untuk diterapkan pada aplikasi yang sederhana dan bukan merupakan kebutuhan primer. Anda bisa dengan mudah membuatnya sendiri melalui perintah
preg_replace()
seperti ini:$message = preg_replace(
array(
'/( |>)\:\-?\)/',
'/( |>)\:\-?D/',
'/( |>)\:\-?\)/',
...
...
),
array(
'$1<img src="emoticons/smile.gif" alt=":)">',
'$1<img src="emoticons/laugh.gif" alt=":D">',
'$1<img src="emoticons/sad.gif" alt=":(">',
...
...
),
$message);
Ketika Data Dirasa telah Penuh
Ketika Anda merasa bahwa file TXT yang Anda buat sudah terlalu besar ukurannya, atau membuat proses muat halaman menjadi lambat, Anda bisa mengatasinya dengan cara mengganti nilai$database
dengan nama yang baru untuk menciptakan file TXT baru tanpa harus menghapus yang lama. Untuk memuat data yang lama ke dalam halaman buku tamu agar bisa ditampilkan ke publik (katakanlah Anda telah membuat pengaturan khusus agar pengguna tidak bisa melihat file dengan format TXT), Anda bisa menambahkan parameter data
dengan nilai berupa nama “database” seperti ini:http://localhost/guestbook/index.php?data=database-003
Atau kalau memang data-data di dalam buku tamu Anda itu tidak penting, Anda bisa menghapus file tersebut begitu saja kalau mau. Semua kode sudah Saya lengkapi dengan penjelasan. Silakan dipelajari atau digunakan jika dirasa berguna.