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

Kumpulan Source Code Greenfoot

Game TicTacToe dengan Greenfoot

Algorithma Coretan Abstrak dengan HTML5 Canvas

Cara Membuat Halaman HTML Sederhana

Honeycomb Style Wallpaper dengan HTML5 Canvas

Ganti Kartu ATM BNI yang Rusak

Mencoba Submit Theme di Wordpress.org

Tips Agar Website Anda Segera di Terima oleh Google Adsense dan di-Monetize

Cara Menentukan Arah Kiblat Menggunakan Google Maps

Selamatan Latar Glundengan Bubuk Banyuwangi