Bahasa Penskripan Pelayan

3.2 Bahasa Penskripan Pelayan
SAINS KOMPUTER • Tingkatan 5 • Bab 3: Pengaturcaraan Berasaskan Web

3.2 Bahasa Penskripan Pelayan

Laman web bertindak sebagai perantara yang menghubungkan pengguna dengan sistem komputer dalam rangkaian. Untuk membolehkan pemprosesan data yang dinamik, selamat dan interaktif, bahasa penskripan pelayan seperti Hypertext Preprocessor (PHP) digunakan.

Objektif Pembelajaran

  • Menjelaskan fungsi laman web sebagai penghubung antara pengguna dengan sistem dalam rangkaian.
  • Menghasilkan dan menyimpan data dalam fail teks (.txt).
  • Menggunakan bahasa penskripan pelayan untuk membina laman web yang unik bagi setiap pengguna.
  • Menggunakan data yang diimport daripada fail teks dan fail pangkalan data untuk menyelesaikan masalah.
  • Melakukan pengesahsahihan (validation) pada data input daripada pengguna.
  • Membina, mengemas kini, membuat sandaran dan memulihkan pangkalan data.
  • Melaksanakan beberapa bentuk pertanyaan (query) pangkalan data.
  • Membina daftar (sign up) dan log masuk (login) pada laman web.
  • Menghasilkan atur cara yang dapat mengesahkan pengguna dan mengemas kini data dalam pangkalan data.

Kitaran Operasi Pengemaskinian Data Pangkalan Data

Aliran pergerakan data dari pangkalan data ke antara muka pengguna dan kembali dikemas kini ke pangkalan data.

Proses Pengemaskinian Data

Kitaran Operasi Pengemaskinian Data Pangkalan Data Carta alir tiga peringkat. Peringkat pertama ialah fail Senarai.php yang memaparkan semua rekod dalam jadual. Pengguna membuat pilihan rekod, dan data diambil dari pangkalan data. Peringkat kedua ialah fail Kemaskini.php yang memaparkan satu rekod terpilih dalam borang pra-isi. Peringkat ketiga ialah fail ProsesKemaskini.php yang melaksanakan arahan SQL UPDATE untuk menyimpan data baharu kembali ke pangkalan data. Semua rekod dalam jadual Senarai.php Paparkan 1 rekod yang terpilih Kemaskini.php Kemas kini data ProsesKemaskini.php Simpan ke Pangkalan Data SQL UPDATE

Senarai.php → Kemaskini.php → ProsesKemaskini.php → Pangkalan Data

Penerangan Ringkas

Bahasa penskripan pelayan PHP menguruskan data di bahagian belakang (back-end) laman web.

Fungsi Laman Web sebagai Penghubung

Laman web bertindak sebagai perantara antara pengguna dan sistem rangkaian. Paparan laman web menentukan cara pengguna memanipulasi maklumat serta had capaian terhadap sistem. Contohnya enjin carian, sistem perbankan dan tempahan tiket penerbangan.

Konsep Pelayan-Klien

Klien ialah mesin atau proses yang memohon servis spesifik daripada pelayan. Dalam persekitaran web, pelayar web bertindak sebagai klien web.

Pelayan ialah mesin atau proses yang memberikan servis kepada klien. Pelayan web memproses permintaan dan mengembalikan hasil.

Bahasa Penskripan Pelayan

Program yang dilaksanakan di sebelah pelayan web yang melatari pembangunan web. Kelebihan utamanya ialah tidak bergantung pada pelayar web pengguna; pemprosesan dilakukan sepenuhnya di pelayan sehingga tidak disekat oleh isu ketidakserasian pelayar.

Contoh bahasa penskripan pelayan: ASP, JavaScript, PHP, Python, Perl. Contoh aplikasi: papan pesanan (message board) dan buku pelawat blog (guestbook).

Penghasilan dan Penyimpanan Data dalam Fail Teks (.txt)

Operasi asas fail teks ialah mencipta/membuka fail, menulis data, membaca data, dan menyunting fail.

Fungsi Asas PHP untuk Fail Teks
FungsiKegunaan
fopen("nama_fail", mod_capaian)Membuka atau mencipta sambungan fail.
fwrite($f, $data)Menulis data ke dalam fail yang dibuka.
fclose($f)Menutup fail selepas operasi selesai.
Mod Capaian Fail Teks
ModKegunaan
rBuka hanya untuk dibaca sahaja.
wBuka hanya untuk ditulis sahaja; bermula dari awal fail dan memadam kandungan lama.
aBuka untuk ditulis sahaja; bermula di akhir fail untuk menambah kandungan baharu.
r+Buka untuk dibaca/ditulis; penunjuk fail bermula dari permulaan fail.
w+Buka untuk dibaca/ditulis; memadamkan kandungan fail atau mencipta fail baharu jika belum wujud; penunjuk di awal fail.
a+Buka untuk dibaca/ditulis; kandungan fail terpelihara; mencipta fail baharu jika belum wujud; penunjuk di penghujung fail.

Fungsi Tarikh dan Masa

Fungsi date('format', time()) digunakan untuk mencatat cap masa. Format: d (hari 01–31), m (bulan 01–12), Y (tahun 4 digit), h (jam 01–12), i (minit 01–59), a (am/pm). Pemalar PHP_EOL digunakan untuk menambah baris baharu (end of line).

Laman Web yang Unik bagi Setiap Pengguna

Memaparkan maklumat peribadi khusus pengguna seperti biodata atau status akaun. Membaca fail baris demi baris menggunakan fgets($f) dalam gelung while (!feof($f)). Fungsi explode(',', $string) memecahkan teks berdasarkan pembatas seperti tanda koma kepada tatasusunan. Membandingkan teks input dengan data fail menggunakan strcmp($str1, $str2) == 0.

Penggunaan Data daripada Fail Teks untuk Menyelesaikan Masalah

Data berbilang seperti senarai nombor atau markah ujian boleh dibaca terus dari fail tanpa dimasukkan satu persatu oleh pengguna. Fungsi count($array) mengira bilangan elemen dalam tatasusunan. Operasi matematik seperti jumlah, purata dan penentuan gred peperiksaan (A, B, C, D, E) dilakukan berasaskan struktur kawalan pemilihan if ... elseif ... else.

Penggunaan Data daripada Fail Pangkalan Data MySQL

Empat langkah berturutan (sequential) untuk berinteraksi dengan MySQL:

Membuat sambungan: $con = mysqli_connect("hos", "nama_pengguna", "kata_laluan");
Memilih nama pangkalan data: mysqli_select_db($con, "nama_db");
Membuat pertanyaan SQL: $hasil = mysqli_query($con, "Penyataan SQL");
Menamatkan sambungan: mysqli_close($con);

Pengambilan rekod dilakukan menggunakan mysqli_fetch_array($hasil) dalam struktur gelung while.

Pengesahsahihan (Validation) Data Input Pengguna

Mengelakkan ralat semasa penyimpanan data dan melindungi sistem daripada cubaan godaman melalui borang. Kaedah pengesahsahihan lazim:

  • Memeriksa medan wajib tidak dibiarkan kosong: empty($_POST["medan"]).
  • Menyemak format e-mel: filter_var($email, FILTER_VALIDATE_EMAIL).
  • Memeriksa kaedah kiriman borang: $_SERVER["REQUEST_METHOD"] == "POST".
  • Menukar entiti khas HTML untuk keselamatan menggunakan htmlspecialchars().
Penukaran Entiti Khas oleh htmlspecialchars()
AksaraEntiti HTML
&&
""
''
<&lt;
>&gt;

Pengurusan Pangkalan Data (phpMyAdmin)

Pelayan Apache dan pangkalan data MySQL diaktifkan melalui XAMPP Control Panel. Aplikasi web berasaskan GUI untuk MySQL ialah phpMyAdmin.

Membina Pangkalan Data: Menu Databases → masukkan nama pangkalan data → pilih Collation utf8_general_ci → klik Create.
Mengemas kini Struktur: Menu Structure → klik Change (ubah nama/jenis medan) atau Drop (hapus medan).
Membuat Sandaran (Backup): Menu Export → tentukan nama sandaran → klik Go (menghasilkan fail format .sql).
Memulihkan Pangkalan Data (Restore): Menu Import → pilih fail sandaran (Choose File) → klik Go.

Bentuk Pertanyaan (Query) SQL

Pertanyaan Tindakan (Action Query)

Melaksanakan tugas ke atas data/jadual seperti mencipta jadual, menambah, mengemas kini, atau menghapuskan data.

CREATE TABLE: Membina jadual baharu beserta jenis data dan kekunci unik.

INSERT INTO nama_jadual VALUES (...): Menambah baris rekod baharu.

Pertanyaan Memilih (Select Query)

Mengambil data yang sedia ada untuk dipaparkan, dicetak, atau disalin.

SELECT * FROM Jadual: Memilih semua medan dan semua rekod.

SELECT Medan1, Medan2 FROM Jadual: Memilih medan tertentu.

SELECT * FROM Jadual WHERE Kriteria: Memilih rekod berdasarkan syarat.

Membina Daftar (Sign Up) dan Log Masuk (Login)

Borang Daftar (Sign Up): Mengambil input pengguna dan menyimpannya ke dalam jadual pangkalan data menggunakan pertanyaan INSERT INTO.

Proses Log Masuk (Login): Mengambil nilai nama pengguna dan kata laluan daripada borang, kemudian menjalankan kueri:

Kueri Log Masuk
SELECT * FROM PENGGUNA WHERE NAMAPENGGUNA = '$user' AND KATALALUAN = '$pass'

Fungsi mysqli_num_rows($rekod) menyemak kewujudan rekod. Sekiranya nilai lebih besar daripada 0, pengguna berjaya disahkan dan dialihkan menggunakan header("location:...").

Pengesahan Pengguna dan Pengemaskinian Data

Sesi (Session) menggunakan session_start() dan pemboleh ubah superglobal $_SESSION['PenggunaSah'] untuk mengekalkan status kebenaran pengguna merentasi halaman web.

Senarai Semua Rekod: Memaparkan pautan kemas kini berserta ID unik pengguna (Kemaskini.php?nomurid=CL001).
Paparan 1 Rekod Terpilih: Mengambil nilai melalui $_GET['nomurid'], melaksanakan kueri SELECT, dan memaparkan data dalam kotak teks borang.
Proses Kemas Kini: Mengambil data baharu melalui $_POST dan melaksanakan pertanyaan SQL UPDATE nama_jadual SET medan1='$nilai1', ... WHERE id='$id', kemudian mengalihkan semula ke laman senarai.

Cuba Jawab Dulu

Cuba jawab sendiri dahulu, kemudian tekan butang untuk menyemak.

Apakah perbezaan utama antara mod capaian fail "w" dengan mod capaian fail "a" dalam fungsi fopen()?

Mod "w" membuka fail hanya untuk ditulis bermula dari awal fail (memadamkan kandungan asal fail sekiranya sudah wujud), manakala mod "a" membuka fail untuk ditulis bermula dari akhir fail (append) dengan mengekalkan kandungan teks sedia ada.

Nyatakan empat langkah berturutan (sequential) yang wajib dilaksanakan semasa mencapai data daripada pangkalan data MySQL menggunakan PHP.

(1) Membuat sambungan ke pangkalan data (mysqli_connect), (2) Memilih nama pangkalan data (mysqli_select_db), (3) Membuat pertanyaan SQL terhadap pangkalan data (mysqli_query), dan (4) Menamatkan sambungan ke pangkalan data (mysqli_close).

Apakah tujuan penggunaan fungsi htmlspecialchars() dalam pemprosesan input borang web?

Untuk menukarkan aksara khas kepada entiti HTML (contohnya < ditukar kepada &lt;) bagi tujuan keselamatan supaya kod berbahaya tidak dieksekusi oleh pelayar atau sistem.

Kesalahan Biasa

  • Lupa meletakkan fungsi fclose($f) selepas operasi membaca atau menulis fail teks dilaksanakan, yang boleh menyebabkan pembaziran sumber pelayan atau data tidak disimpan dengan sempurna.
  • Mengabaikan susunan berturutan (sequential) dalam capaian pangkalan data, seperti menjalankan mysqli_query() sebelum membuat sambungan pangkalan data dengan mysqli_connect().
  • Tertukar antara kaedah penerimaan data $_GET dan $_POST; $_GET menghantar data secara terbuka pada URL (contoh: pemindahan parameter nomurid), manakala $_POST menghantar data secara tersembunyi melalui badan permintaan HTTP (sesuai untuk kata laluan dan borang pendaftaran).
  • Tidak menyertakan klausa WHERE dalam penyataan SQL UPDATE, yang menyebabkan seluruh rekod dalam jadual ditimpa dengan nilai data baharu yang sama.

Salah Faham Konsep

Salah Faham

Bahasa penskripan pelayan seperti PHP dilaksanakan oleh pelayar web (browser) pengguna.

Fakta Betul

Kod PHP diproses dan dieksekusi sepenuhnya oleh komputer pelayan web; pelayar web klien hanya menerima hasil terjemahan dalam bentuk HTML, teks biasa, atau skrip pelanggan.

Salah Faham

Pengesahsahihan input di sebelah klien (menggunakan JavaScript) sudah mencukupi untuk keselamatan sistem.

Fakta Betul

Pengesahsahihan di sebelah pelayan tetap wajib dilakukan kerana data borang boleh dimanipulasi atau dihantar terus ke pelayan tanpa melalui pelayar klien.

Salah Faham

Menghasilkan fail sandaran (backup) secara automatik akan memulihkan (restore) data yang hilang.

Fakta Betul

Membuat sandaran (Export) hanyalah proses mengekstrak dan menyimpan salinan fail data .sql. Sekiranya berlaku kehilangan data, proses pemulihan (Import) perlu dilaksanakan secara berasingan menggunakan fail sandaran tersebut.

Ringkasan

  • Bahasa penskripan pelayan (khususnya PHP) merupakan nadi pemprosesan aplikasi web dinamik.
  • Ia memproses data input borang melalui kaedah GET atau POST, melaksanakan pengesahsahihan data, dan memanipulasi fail teks (fopen, fwrite, fclose).
  • PHP mengendalikan operasi pangkalan data MySQL melalui empat langkah berturutan: sambungan, pemilihan pangkalan data, pertanyaan SQL, dan penamatan sambungan.
  • Pengurusan pangkalan data disokong oleh phpMyAdmin untuk aktiviti pembinaan jadual, kemas kini struktur, sandaran (backup), dan pemulihan (restore).
  • Pertanyaan SQL Tindakan (INSERT, UPDATE) dan Pertanyaan Memilih (SELECT) membolehkan pembangun web membina sistem pengesahan pengguna (daftar dan log masuk) serta mengemas kini data pangkalan data dengan cekap dan teratur.

Aktiviti Ringkas

A. Kuiz Objektif

1 Antara fungsi PHP berikut, yang manakah digunakan untuk memecahkan satu baris teks bertanda koma menjadi elemen-elemen tatasusunan yang berasingan?

2 Apakah fungsi kendalian PHP yang digunakan untuk mengira bilangan baris rekod yang dipulangkan oleh sesuatu pertanyaan SQL SELECT?

B. Isi Tempat Kosong

3 Fungsi kendalian PHP yang digunakan untuk menamatkan sambungan kepada pangkalan data MySQL ialah .

4 Arahan dalam phpMyAdmin yang digunakan untuk membuat salinan sandaran (backup) pangkalan data ke dalam fail format .sql ialah arahan .

C. Padankan Fungsi atau Arahan dengan Kegunaannya

Seret fungsi atau arahan ke kegunaan yang betul. Jika menggunakan telefon, tekan pilihan jawapan dahulu, kemudian tekan kotak padanan.

Fungsi / Arahan
fopen($fail, "a")
htmlspecialchars()
Pertanyaan Tindakan
session_start()
Kegunaan
1 Membuka fail teks untuk menulis dengan menambah kandungan pada penghujung fail
2 Menukarkan abjad atau aksara khas kepada entiti HTML untuk mengelakkan ralat dan godaman
3 Melaksanakan tugas mencipta jadual, menambah, mengemas kini atau menghapuskan data dalam jadual
4 Memulakan atau menyambung sesi pengguna bagi menyokong proses pengesahan capaian
 

Kata Kunci

Bahasa Penskripan Pelayan Pelayan Web Klien Web Mod Capaian Fail Pengesahsahihan phpMyAdmin Pertanyaan Tindakan Pertanyaan Memilih Sandaran Pemulihan Sesi

Bahasa Penskripan Pelayan

3.2 Bahasa Penskripan Pelayan
SAINS KOMPUTER • Tingkatan 5 • Bab 3: Pengaturcaraan Berasaskan Web

3.2 Bahasa Penskripan Pelayan

Laman web bertindak sebagai perantara yang menghubungkan pengguna dengan sistem komputer dalam rangkaian. Untuk membolehkan pemprosesan data yang dinamik, selamat dan interaktif, bahasa penskripan pelayan seperti Hypertext Preprocessor (PHP) digunakan.

Objektif Pembelajaran

  • Menjelaskan fungsi laman web sebagai penghubung antara pengguna dengan sistem dalam rangkaian.
  • Menghasilkan dan menyimpan data dalam fail teks (.txt).
  • Menggunakan bahasa penskripan pelayan untuk membina laman web yang unik bagi setiap pengguna.
  • Menggunakan data yang diimport daripada fail teks dan fail pangkalan data untuk menyelesaikan masalah.
  • Melakukan pengesahsahihan (validation) pada data input daripada pengguna.
  • Membina, mengemas kini, membuat sandaran dan memulihkan pangkalan data.
  • Melaksanakan beberapa bentuk pertanyaan (query) pangkalan data.
  • Membina daftar (sign up) dan log masuk (login) pada laman web.
  • Menghasilkan atur cara yang dapat mengesahkan pengguna dan mengemas kini data dalam pangkalan data.

Kitaran Operasi Pengemaskinian Data Pangkalan Data

Aliran pergerakan data dari pangkalan data ke antara muka pengguna dan kembali dikemas kini ke pangkalan data.

Proses Pengemaskinian Data

Kitaran Operasi Pengemaskinian Data Pangkalan Data Carta alir tiga peringkat. Peringkat pertama ialah fail Senarai.php yang memaparkan semua rekod dalam jadual. Pengguna membuat pilihan rekod, dan data diambil dari pangkalan data. Peringkat kedua ialah fail Kemaskini.php yang memaparkan satu rekod terpilih dalam borang pra-isi. Peringkat ketiga ialah fail ProsesKemaskini.php yang melaksanakan arahan SQL UPDATE untuk menyimpan data baharu kembali ke pangkalan data. Semua rekod dalam jadual Senarai.php Paparkan 1 rekod yang terpilih Kemaskini.php Kemas kini data ProsesKemaskini.php Simpan ke Pangkalan Data SQL UPDATE

Senarai.php → Kemaskini.php → ProsesKemaskini.php → Pangkalan Data

Penerangan Ringkas

Bahasa penskripan pelayan PHP menguruskan data di bahagian belakang (back-end) laman web.

Fungsi Laman Web sebagai Penghubung

Laman web bertindak sebagai perantara antara pengguna dan sistem rangkaian. Paparan laman web menentukan cara pengguna memanipulasi maklumat serta had capaian terhadap sistem. Contohnya enjin carian, sistem perbankan dan tempahan tiket penerbangan.

Konsep Pelayan-Klien

Klien ialah mesin atau proses yang memohon servis spesifik daripada pelayan. Dalam persekitaran web, pelayar web bertindak sebagai klien web.

Pelayan ialah mesin atau proses yang memberikan servis kepada klien. Pelayan web memproses permintaan dan mengembalikan hasil.

Bahasa Penskripan Pelayan

Program yang dilaksanakan di sebelah pelayan web yang melatari pembangunan web. Kelebihan utamanya ialah tidak bergantung pada pelayar web pengguna; pemprosesan dilakukan sepenuhnya di pelayan sehingga tidak disekat oleh isu ketidakserasian pelayar.

Contoh bahasa penskripan pelayan: ASP, JavaScript, PHP, Python, Perl. Contoh aplikasi: papan pesanan (message board) dan buku pelawat blog (guestbook).

Penghasilan dan Penyimpanan Data dalam Fail Teks (.txt)

Operasi asas fail teks ialah mencipta/membuka fail, menulis data, membaca data, dan menyunting fail.

Fungsi Asas PHP untuk Fail Teks
FungsiKegunaan
fopen("nama_fail", mod_capaian)Membuka atau mencipta sambungan fail.
fwrite($f, $data)Menulis data ke dalam fail yang dibuka.
fclose($f)Menutup fail selepas operasi selesai.
Mod Capaian Fail Teks
ModKegunaan
rBuka hanya untuk dibaca sahaja.
wBuka hanya untuk ditulis sahaja; bermula dari awal fail dan memadam kandungan lama.
aBuka untuk ditulis sahaja; bermula di akhir fail untuk menambah kandungan baharu.
r+Buka untuk dibaca/ditulis; penunjuk fail bermula dari permulaan fail.
w+Buka untuk dibaca/ditulis; memadamkan kandungan fail atau mencipta fail baharu jika belum wujud; penunjuk di awal fail.
a+Buka untuk dibaca/ditulis; kandungan fail terpelihara; mencipta fail baharu jika belum wujud; penunjuk di penghujung fail.

Fungsi Tarikh dan Masa

Fungsi date('format', time()) digunakan untuk mencatat cap masa. Format: d (hari 01–31), m (bulan 01–12), Y (tahun 4 digit), h (jam 01–12), i (minit 01–59), a (am/pm). Pemalar PHP_EOL digunakan untuk menambah baris baharu (end of line).

Laman Web yang Unik bagi Setiap Pengguna

Memaparkan maklumat peribadi khusus pengguna seperti biodata atau status akaun. Membaca fail baris demi baris menggunakan fgets($f) dalam gelung while (!feof($f)). Fungsi explode(',', $string) memecahkan teks berdasarkan pembatas seperti tanda koma kepada tatasusunan. Membandingkan teks input dengan data fail menggunakan strcmp($str1, $str2) == 0.

Penggunaan Data daripada Fail Teks untuk Menyelesaikan Masalah

Data berbilang seperti senarai nombor atau markah ujian boleh dibaca terus dari fail tanpa dimasukkan satu persatu oleh pengguna. Fungsi count($array) mengira bilangan elemen dalam tatasusunan. Operasi matematik seperti jumlah, purata dan penentuan gred peperiksaan (A, B, C, D, E) dilakukan berasaskan struktur kawalan pemilihan if ... elseif ... else.

Penggunaan Data daripada Fail Pangkalan Data MySQL

Empat langkah berturutan (sequential) untuk berinteraksi dengan MySQL:

Membuat sambungan: $con = mysqli_connect("hos", "nama_pengguna", "kata_laluan");
Memilih nama pangkalan data: mysqli_select_db($con, "nama_db");
Membuat pertanyaan SQL: $hasil = mysqli_query($con, "Penyataan SQL");
Menamatkan sambungan: mysqli_close($con);

Pengambilan rekod dilakukan menggunakan mysqli_fetch_array($hasil) dalam struktur gelung while.

Pengesahsahihan (Validation) Data Input Pengguna

Mengelakkan ralat semasa penyimpanan data dan melindungi sistem daripada cubaan godaman melalui borang. Kaedah pengesahsahihan lazim:

  • Memeriksa medan wajib tidak dibiarkan kosong: empty($_POST["medan"]).
  • Menyemak format e-mel: filter_var($email, FILTER_VALIDATE_EMAIL).
  • Memeriksa kaedah kiriman borang: $_SERVER["REQUEST_METHOD"] == "POST".
  • Menukar entiti khas HTML untuk keselamatan menggunakan htmlspecialchars().
Penukaran Entiti Khas oleh htmlspecialchars()
AksaraEntiti HTML
&&amp;
"&quot;
'&#039;
<&lt;
>&gt;

Pengurusan Pangkalan Data (phpMyAdmin)

Pelayan Apache dan pangkalan data MySQL diaktifkan melalui XAMPP Control Panel. Aplikasi web berasaskan GUI untuk MySQL ialah phpMyAdmin.

Membina Pangkalan Data: Menu Databases → masukkan nama pangkalan data → pilih Collation utf8_general_ci → klik Create.
Mengemas kini Struktur: Menu Structure → klik Change (ubah nama/jenis medan) atau Drop (hapus medan).
Membuat Sandaran (Backup): Menu Export → tentukan nama sandaran → klik Go (menghasilkan fail format .sql).
Memulihkan Pangkalan Data (Restore): Menu Import → pilih fail sandaran (Choose File) → klik Go.

Bentuk Pertanyaan (Query) SQL

Pertanyaan Tindakan (Action Query)

Melaksanakan tugas ke atas data/jadual seperti mencipta jadual, menambah, mengemas kini, atau menghapuskan data.

CREATE TABLE: Membina jadual baharu beserta jenis data dan kekunci unik.

INSERT INTO nama_jadual VALUES (...): Menambah baris rekod baharu.

Pertanyaan Memilih (Select Query)

Mengambil data yang sedia ada untuk dipaparkan, dicetak, atau disalin.

SELECT * FROM Jadual: Memilih semua medan dan semua rekod.

SELECT Medan1, Medan2 FROM Jadual: Memilih medan tertentu.

SELECT * FROM Jadual WHERE Kriteria: Memilih rekod berdasarkan syarat.

Membina Daftar (Sign Up) dan Log Masuk (Login)

Borang Daftar (Sign Up): Mengambil input pengguna dan menyimpannya ke dalam jadual pangkalan data menggunakan pertanyaan INSERT INTO.

Proses Log Masuk (Login): Mengambil nilai nama pengguna dan kata laluan daripada borang, kemudian menjalankan kueri:

Kueri Log Masuk
SELECT * FROM PENGGUNA WHERE NAMAPENGGUNA = '$user' AND KATALALUAN = '$pass'

Fungsi mysqli_num_rows($rekod) menyemak kewujudan rekod. Sekiranya nilai lebih besar daripada 0, pengguna berjaya disahkan dan dialihkan menggunakan header("location:...").

Pengesahan Pengguna dan Pengemaskinian Data

Sesi (Session) menggunakan session_start() dan pemboleh ubah superglobal $_SESSION['PenggunaSah'] untuk mengekalkan status kebenaran pengguna merentasi halaman web.

Senarai Semua Rekod: Memaparkan pautan kemas kini berserta ID unik pengguna (Kemaskini.php?nomurid=CL001).
Paparan 1 Rekod Terpilih: Mengambil nilai melalui $_GET['nomurid'], melaksanakan kueri SELECT, dan memaparkan data dalam kotak teks borang.
Proses Kemas Kini: Mengambil data baharu melalui $_POST dan melaksanakan pertanyaan SQL UPDATE nama_jadual SET medan1='$nilai1', ... WHERE id='$id', kemudian mengalihkan semula ke laman senarai.

Cuba Jawab Dulu

Cuba jawab sendiri dahulu, kemudian tekan butang untuk menyemak.

Apakah perbezaan utama antara mod capaian fail "w" dengan mod capaian fail "a" dalam fungsi fopen()?

Mod "w" membuka fail hanya untuk ditulis bermula dari awal fail (memadamkan kandungan asal fail sekiranya sudah wujud), manakala mod "a" membuka fail untuk ditulis bermula dari akhir fail (append) dengan mengekalkan kandungan teks sedia ada.

Nyatakan empat langkah berturutan (sequential) yang wajib dilaksanakan semasa mencapai data daripada pangkalan data MySQL menggunakan PHP.

(1) Membuat sambungan ke pangkalan data (mysqli_connect), (2) Memilih nama pangkalan data (mysqli_select_db), (3) Membuat pertanyaan SQL terhadap pangkalan data (mysqli_query), dan (4) Menamatkan sambungan ke pangkalan data (mysqli_close).

Apakah tujuan penggunaan fungsi htmlspecialchars() dalam pemprosesan input borang web?

Untuk menukarkan aksara khas kepada entiti HTML (contohnya < ditukar kepada &lt;) bagi tujuan keselamatan supaya kod berbahaya tidak dieksekusi oleh pelayar atau sistem.

Kesalahan Biasa

  • Lupa meletakkan fungsi fclose($f) selepas operasi membaca atau menulis fail teks dilaksanakan, yang boleh menyebabkan pembaziran sumber pelayan atau data tidak disimpan dengan sempurna.
  • Mengabaikan susunan berturutan (sequential) dalam capaian pangkalan data, seperti menjalankan mysqli_query() sebelum membuat sambungan pangkalan data dengan mysqli_connect().
  • Tertukar antara kaedah penerimaan data $_GET dan $_POST; $_GET menghantar data secara terbuka pada URL (contoh: pemindahan parameter nomurid), manakala $_POST menghantar data secara tersembunyi melalui badan permintaan HTTP (sesuai untuk kata laluan dan borang pendaftaran).
  • Tidak menyertakan klausa WHERE dalam penyataan SQL UPDATE, yang menyebabkan seluruh rekod dalam jadual ditimpa dengan nilai data baharu yang sama.

Salah Faham Konsep

Salah Faham

Bahasa penskripan pelayan seperti PHP dilaksanakan oleh pelayar web (browser) pengguna.

Fakta Betul

Kod PHP diproses dan dieksekusi sepenuhnya oleh komputer pelayan web; pelayar web klien hanya menerima hasil terjemahan dalam bentuk HTML, teks biasa, atau skrip pelanggan.

Salah Faham

Pengesahsahihan input di sebelah klien (menggunakan JavaScript) sudah mencukupi untuk keselamatan sistem.

Fakta Betul

Pengesahsahihan di sebelah pelayan tetap wajib dilakukan kerana data borang boleh dimanipulasi atau dihantar terus ke pelayan tanpa melalui pelayar klien.

Salah Faham

Menghasilkan fail sandaran (backup) secara automatik akan memulihkan (restore) data yang hilang.

Fakta Betul

Membuat sandaran (Export) hanyalah proses mengekstrak dan menyimpan salinan fail data .sql. Sekiranya berlaku kehilangan data, proses pemulihan (Import) perlu dilaksanakan secara berasingan menggunakan fail sandaran tersebut.

Ringkasan

  • Bahasa penskripan pelayan (khususnya PHP) merupakan nadi pemprosesan aplikasi web dinamik.
  • Ia memproses data input borang melalui kaedah GET atau POST, melaksanakan pengesahsahihan data, dan memanipulasi fail teks (fopen, fwrite, fclose).
  • PHP mengendalikan operasi pangkalan data MySQL melalui empat langkah berturutan: sambungan, pemilihan pangkalan data, pertanyaan SQL, dan penamatan sambungan.
  • Pengurusan pangkalan data disokong oleh phpMyAdmin untuk aktiviti pembinaan jadual, kemas kini struktur, sandaran (backup), dan pemulihan (restore).
  • Pertanyaan SQL Tindakan (INSERT, UPDATE) dan Pertanyaan Memilih (SELECT) membolehkan pembangun web membina sistem pengesahan pengguna (daftar dan log masuk) serta mengemas kini data pangkalan data dengan cekap dan teratur.

Aktiviti Ringkas

A. Kuiz Objektif

1 Antara fungsi PHP berikut, yang manakah digunakan untuk memecahkan satu baris teks bertanda koma menjadi elemen-elemen tatasusunan yang berasingan?

2 Apakah fungsi kendalian PHP yang digunakan untuk mengira bilangan baris rekod yang dipulangkan oleh sesuatu pertanyaan SQL SELECT?

B. Isi Tempat Kosong

3 Fungsi kendalian PHP yang digunakan untuk menamatkan sambungan kepada pangkalan data MySQL ialah .

4 Arahan dalam phpMyAdmin yang digunakan untuk membuat salinan sandaran (backup) pangkalan data ke dalam fail format .sql ialah arahan .

C. Padankan Fungsi atau Arahan dengan Kegunaannya

Seret fungsi atau arahan ke kegunaan yang betul. Jika menggunakan telefon, tekan pilihan jawapan dahulu, kemudian tekan kotak padanan.

Fungsi / Arahan
fopen($fail, "a")
htmlspecialchars()
Pertanyaan Tindakan
session_start()
Kegunaan
1 Membuka fail teks untuk menulis dengan menambah kandungan pada penghujung fail
2 Menukarkan abjad atau aksara khas kepada entiti HTML untuk mengelakkan ralat dan godaman
3 Melaksanakan tugas mencipta jadual, menambah, mengemas kini atau menghapuskan data dalam jadual
4 Memulakan atau menyambung sesi pengguna bagi menyokong proses pengesahan capaian
 

Kata Kunci

Bahasa Penskripan Pelayan Pelayan Web Klien Web Mod Capaian Fail Pengesahsahihan phpMyAdmin Pertanyaan Tindakan Pertanyaan Memilih Sandaran Pemulihan Sesi