Cara mengatasi Trying to access array offset on value of type null ci 3 di php 7.4

2:13 AM 0

 Mengatasi Masalah Trying to access array offset on value of type null di CodeIgniter 3 PHP 7.4



Jadi masalah ini sebenernya hanya ada di array saja caranya mudah sekali untuk mengatasi masalah seperti ini ga usah panik langsung nurunin versi phpnya tapi kita cari tau dulu kenapa itu bisa terjadi. Emang sih cara extreamnya itu dengan cara menurunkan versi phpnya tapi itu sangat tidak di rekomendasikan. Langsung aja kita solved permasalah ini 


Langkah Pertama yang harus di perhatikan terlebih dahulu itu dengan kita melihat Message Erronya terlebih dahulu. Disini saya mendapatkan Message Error Trying to access array offset on value of type null kenapa bisa terjadi seperti itu? Tentu saja ini terjadi pada versi PHP dimana codingan tersebut masih menggunakan php versi lama sedangkan saya disini menggunakan versi 7.4. Pada PHP Versi lawas mungkin masalah seperti ini sangat tidak ketat, sementara di PHP Versi 7.4 ini bug seperti itu tidak ada lagi.

Cara memperbaikinya seperti berikut : 


Saya mendapatkan error seperti ini pada line 41 menyatakan array tidak mendapatkan nilai


Kode saya yang mengalami error seperti ini:

 $db = $this->admin->get('user', ['id_user' => $this->input->post('id_user', true)]);
$username = $this->input->post('username', true);
$email = $this->input->post('email', true);

$uniq_username = $db['username'] == $username ? '' : '|is_unique[user.username]';
$uniq_email = $db['email'] == $email ? '' : '|is_unique[user.email]';

Setelah saya perbaiki seperti ini codenya :

$db = $this->admin->get('user', ['id_user' => $this->input->post('id_user', true)]);
$username = $this->input->post('username', true);
$email = $this->input->post('email', true);

$uniq_username = isset($db['username']) == $username ? '' : '|is_unique[user.username]';
$uniq_email = isset($db['email']) == $email ? '' : '|is_unique[user.email]';



Jadi pada error tersebut kita hanya butuh menambahkan isset saja. Mudah bukan? 









Cara mengatasi password benar tapi salah di CodeIgniter 3 (CI 3)

4:12 AM 0

Kalian pernah ga sih menemukan error password benar tapi dibacanya salah?. Nah kalo kalian pernah dapet masalah seperti itu, kebetulan ane juga mendapatkan error tersebut. Jadi kali ini topik blog ini ane mau ngasih tahu bagaimana cara meperbaiki error itu. Langsung aja kita pecahkan masalah ini!.



Salah satunya seperti ini contoh error yang kita dapatkan. Jadi saat kita memasukan password yang benar ternyata sistemnya membacanya passsword salah, kenapa bisa seperti itu?.

Jika teman - teman menggunakan password hash sebagai password encrypt di input password kita. Contohnya seperti ini :




PASSWORD_DEFAULT adalah algoritma bawaan untuk melakukan hash yaitu menggunakan BCRYPT dan akan menghasilkan output sepanjang 60 karakter. Sangat disarankan untuk membuat field data pada database sepanjang 255 karakter, sebab output hasil hash dapat lebih panjang sesuai dengan algoritma yang digunakan.

Dari sini kita sudah mendapatkan petunjuk kenapa bisa password benar di agap salah, kenapa bisa begitu? Langsung aja coba kita cek database kita apakah panjang karakter kita sudah sesuai dengan yang sudah di tentukan oleh alogritma bawaan password_default?

Benar saja teman - teman ternyata field password saya panjang valuenya hanya 50. Padahal sudah jelas password has itu membutuhkan minimal panjang valuenya sebanyak 60 karakter, pantas saja password kita selalu di tolak oleh function kita. Karena si password default hanya menggambil sebanyak 50 karekter saja.


Silahkan diganti terlebih dahulu panjang value passwordnya menjadi 60 atau 255. Lebih baik menggunakn 255 saja agar lebih aman. Setelah di ganti coba teman - teman refres kembali halaman loginnya dan coba untuk memasukan passwordnya kembali. Selamat mencoba teman - teman!