Rumah > Soal Jawab > teks badan
P粉0990000442023-07-31 13:54:06
Saya jumpa masalahnya! Masalahnya nampaknya disebabkan oleh penggunaan petikan berganda (") dalam pembolehubah $adminPasswordHashVERIFY. Apabila petikan berganda digunakan, PHP mentafsir rentetan dan menggantikan pembolehubah di dalamnya. Memandangkan tiada pembolehubah bernama $fReIQ, PHP merawatnya sebagai pembolehubah yang ditakrifkan, mengakibatkan nilai cincangan yang salah semasa mengesahkan
Untuk menyelesaikan isu ini, gunakan petikan tunggal (') di sekitar kata laluan yang dicincang dalam pembolehubah $adminPasswordHashVERIFY Ini memastikan bahawa kata laluan yang dicincang dianggap sebagai rentetan biasa . Daripada ditafsirkan oleh PHP
Sekarang jika anda mencuba kod berikut anda akan mendapat output "Kata laluan betul! ".
<?php $adminPassword = "test123"; $adminPasswordHash = password_hash($adminPassword, PASSWORD_BCRYPT); $adminInputPassword = "test123"; $adminPasswordHashVERIFY = 'y$o4qspRTirOSdyGtwHCxt6ee2i0BNChl3mEPazxVbmb534kw3ACHCm'; if (password_verify($adminInputPassword, $adminPasswordHashVERIFY)) { echo "Password is correct!"; } else { echo "Password is incorrect!"; } ?>