APLIKASI CONTOH CRUD DENGAN CFML
===============================

Apa ini
-------
Satu fail .cfm yang melakukan empat operasi asas ke atas satu jadual:
tambah, senarai, kemas dan padam. Kod penuh dibincangkan dalam tutorial di:
https://thalhah.my/blog/crud-cfml-satu-fail

Fail dalam zip ini
------------------
demo-crud.cfm   aplikasi itu sendiri (satu fail sahaja)
jadual.sql      skrip untuk mencipta jadual dalam pangkalan data
BACA-DULU.txt   fail yang awak sedang baca ini


CARA PASANG (3 langkah)
-----------------------
1. Jadual
   Jalankan jadual.sql dalam pangkalan data awak, contohnya:
       mysql -u pengguna -p nama_pangkalan_data < jadual.sql

2. Fail
   Salin demo-crud.cfm ke folder utama laman web Lucee awak.
   Buka alamatnya, contohnya: http://localhost:8888/demo-crud.cfm
   Kalau halaman itu keluar, bermakna ia sudah berjalan.

3. Pangkalan data
   Buka fail demo-crud.cfm dan cari baris ini di bahagian atas:
       <cfset DS = "biz">
   Tukar "biz" kepada nama pangkalan data (datasource) yang awak daftarkan
   dalam panel pentadbir Lucee. Nama itu BUKAN nama pangkalan data MySQL,
   tetapi nama sambungan yang awak cipta dalam Lucee.


KALAU SESUATU TIDAK MENJADI
---------------------------
- Halaman kosong atau kod mentah kelihatan  -> buka konsol Lucee dan baca mesej ralat.
- "Datasource tidak dijumpai"               -> nama dalam <cfset DS = "..."> tidak padan
                                               dengan nama sambungan dalam Lucee.
- Ralat 500 pada ketika menyimpan           -> biasanya panjang input melebihi had
                                               medan. Pengesahan panjang ada dalam fail,
                                               tetapi semak juga saiz medan dalam jadual.


SEBELUM AWAK GUNA UNTUK ORANG LAIN
----------------------------------
Contoh ini sengaja ringkas supaya senang difahami. Kalau ia akan digunakan
oleh orang lain, tiga perkara ini WAJIB ditambah dahulu:

1. Pengesahan pengguna. Tanpa log masuk, sesiapa yang menemui alamat itu
   boleh membaca, mengubah dan memadam semua data.
2. Semakan panjang dan kandungan input yang lebih ketat, dengan mesej yang jelas.
3. Salinan sandaran pangkalan data yang diuji. Ujian pemulihan, bukan hanya
   menyimpan fail sandaran.

Lindungi juga panel pentadbir Lucee awak: ia tidak sepatutnya boleh dibuka
daripada internet.


IZIN
----
Awak bebas menggunakan, mengubah dan mengedarkan kod ini, termasuk untuk kerja
berbayar. Tiada waranti diberikan. Kalau ia rosak, tanggungjawab untuk
membaikinya adalah milik awak.
