Menampilkan Error PHP


Ada yang berbeda dengan PHP (Personal Home Page) saat tulisan ini ditulis, error pada PHP tidak langsung ditampilkan ke browser, namun perlu di set terlebih dahulu dengan salah satunya, kode di bawah ini:

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

Sebagai developer, untuk pembuatan aplikasi berbasis web, sebelumnya penulis hampir 10 tahun tidak melakukan pengkodean langsung dari awal, untuk aplikasi yang menggunakan PHP.

Penulis lebih menggunakan Content Management System (CMS) seperti Wordpress dalam membangun website. Sehingga saat percobaan ini, penulis baru mengetahui jika ada perubahan di PHP tentang cara menampilkan error.

Dulu jika terjadi kesalahan penulisan script, penempatan variabel atau lainnya, error akan langsung ditampilkan di browser.

Entah masalah keamanan atau hal lainnya, jika tidak menggunakan tambahan kode di atas, web browser akan menampilkan kurang lebih hanya seperti gambar dibawah ini, dengan tertulis pesan error dengan kode 500.

Sebagai programmer, akan sangat membingungkan jika harus mencari error baris per baris secara manual.

Namun dengan menambahkan kode di atas, error akan ditampilkan, dan akan lebih cepat dicari solusinya.

Misalnya seperti gambar di bawah ini:


Dari pesan error tersebut diketahui, bahwa kode PHP penulis, terdapat kesalahan, tidak dapat mendeteksi variable $dbconnection yang terdapat dalam fungsi getLoginAccess.

Penempatan variabel $dbconnection seharusnya dapat dideteksi, jika penempatan tersebut di bahasa pemrograman lain.

Sehingga dapat penulis simpulkan, error di atas dikarenakan koneksi ke database satu halaman PHP hanya dapat dilakukan satu kali, dan untuk satu kali akses halaman PHP.

Solusinya, terkait koneksi tidak perlu ditempatkan di dalam fungsi, programmer hanya perlu menempatkannya di alur algorithma utama saja.

Algorithma pemrograman akan menempatkan koneksi menjadi satu line dengan sendirinya oleh programmer.

Kode berikut ini adalah kode lengkap halaman PHP yang penulis gunakan untuk uji coba.

<?php 
define('DB_SERVER', 'localhost'); 
define('DB_USERNAME', 'root'); 
define('DB_PASSWORD', '111111111'); 
define('DB_DATABASE', 'namadatabase'); 
 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
 
$dbconnection = new mysqli(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE); 
if ($dbconnection->connect_error){ 
   header("Location:nopage.php"); 
} 
 
function getLoginAccess($user,$pass) 
{ 
 $myusername = filter_var($user, FILTER_SANITIZE_STRING); 
 $mypassword = md5(filter_var($pass, FILTER_SANITIZE_STRING)); 

 $myuserlevel=100;$passkey=""; 
 $sql = "SELECT id,userlevel FROM users WHERE username = '$myusername' AND password = '$mypassword'"; 
 $result = $dbconnection->query($sql); 
 if($result->num_rows==1){ 
  $passkey=getRandomChar(rand(20,45)); 
 }else{ 
  $errormsg = "Your login name or password is invalid"; 
 } 

 $hsl["username"]=$myusername; 
 $hsl["password"]=$passkey; 
 $hsl["error"]=$errormsg; 

 return $hsl; 
} 
 
$hasil=getLoginAccess("administrator","000000"); 
 
echo $hasil['username']." ".$hasil['error']; 
?> 

Perlu diketahui, masih ada cara lain untuk menampilkan error di PHP, tergantung pada kapabilitas dan akses ke server yang digunakan untuk menampilkan halaman PHP.

Cara yang penulis tunjukkan di atas adalah cara yang paling penulis anggap mudah.

Referensi

Komentar



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Kumpulan Source Code Greenfoot

Menyembunyikan Failed Load Images di Blogger

Kode Greenfoot Game Flappy Bird

Algorithma Coretan Abstrak dengan HTML5 Canvas

Kebodohan Karyawan Menyalahkan Sistem

Algorithma Bilangan Prima dengan Javascript

Checking Data yang Belum Dimasukkan dalam Daftar Menggunakan Query Google Sheet

Mencoba Submit Theme di Wordpress.org

Generate Karakter Acak dan Menempatkannya di Sel Google Sheets dengan Apps Script