𝟭𝟬 𝗕𝘂𝗴 𝗣𝗛𝗣 𝗧𝗲𝗿𝗮𝘁𝗮𝘀 𝘆𝗮𝗻𝗴 𝗦𝗲𝗿𝗶𝗻𝗴 𝗗𝗶𝗹𝗮𝗸𝘂𝗸𝗮𝗻 𝗣𝗲𝗺𝘂𝗹𝗮

Anda menulis kode. Anda memuat ulang halaman. Anda melihat layar putih kosong.

Ini terjadi karena secara default PHP gagal secara diam-diam (fails silently). Anda harus memaksanya untuk menampilkan error selama masa pengembangan.

Tambahkan baris ini di bagian atas file Anda:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Jangan gunakan ini di lingkungan produksi. Gunakan log file sebagai gantinya.

Berikut adalah 10 kesalahan umum dan cara memperbaikinya:

  • Missing Semicolons (Titik Koma yang Hilang) PHP berhenti bekerja jika Anda lupa menulis titik koma. Hal ini sering menyebabkan crash tanpa pesan error. Solusi: Pastikan setiap pernyataan diakhiri dengan titik koma.

  • Loose Comparison (== vs ===) Tanda sama dengan ganda melakukan koersi tipe (type coercion). Ini menyebabkan kesalahan logika. Solusi: Gunakan tiga tanda sama dengan (===). Ini memeriksa nilai sekaligus tipenya.

  • Undefined Variables (Variabel yang Tidak Terdefinisi) Menggunakan variabel sebelum Anda menetapkannya akan merusak logika Anda. Solusi: Gunakan operator null coalescing. Contoh: $name = $_GET['name'] ?? 'Guest';

  • Global Variable Scope (Cakupan Variabel Global) Fungsi tidak dapat melihat variabel yang berada di luarnya. Solusi: Masukkan variabel ke dalam fungsi sebagai parameter.

  • SQL Injection Membangun query dengan input pengguna memungkinkan peretas untuk mencuri data. Solusi: Gunakan prepared statements dengan placeholder (?).

  • Cross-Site Scripting (XSS) Mencetak input pengguna secara langsung memungkinkan skrip berbahaya berjalan di browser. Solusi: Bungkus output dengan htmlspecialchars().

  • Headers Already Sent (Header Sudah Terkirim) Anda tidak dapat mengalihkan (redirect) pengguna jika Anda sudah mengirimkan teks ke browser. Bahkan satu spasi saja dapat menyebabkan error ini. Solusi: Letakkan pemanggilan header() di bagian paling atas. Selalu gunakan exit() setelah melakukan redirect.

  • Undefined Array Keys (Key Array yang Tidak Terdefinisi) Mengakses key form yang tidak ada akan menyebabkan peringatan (warning). Solusi: Gunakan operator null coalescing untuk semua data $_POST dan $_GET.

  • Include vs Require include hanya menampilkan peringatan jika file hilang. Skrip akan terus berjalan dan mengalami crash di kemudian hari. Solusi: Gunakan require_once untuk file-file penting seperti koneksi database.

  • Unchecked Return Values (Nilai Kembalian yang Tidak Diperiksa) Banyak fungsi PHP mengembalikan false jika gagal. Jika Anda langsung menggunakan hasil tersebut, Anda akan mendapatkan lebih banyak error. Solusi: Periksa apakah hasilnya false sebelum menggunakannya.

Ringkasan untuk sukses:

  • Aktifkan pelaporan error selama pengembangan.
  • Gunakan === untuk semua perbandingan.
  • Sanitasi semua input pengguna.
  • Periksa nilai kembalian.

Source: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh