Postingan lainnya
Sistem Login
Saya gagal Login saat mencontoh tutorial <a href='https://www.sekolahkoding.com/kelas/membuat-sistem-login-dan-register'>https://www.sekolahkoding.com/kelas/membuat-sistem-login-dan-register</a> dari SK Ini Source nya
function cek_data($nama,$pass){
global $link;
//mencegah sql injection
$nama = mysqli_real_escape_string($link, $nama);
$pass = mysqli_real_escape_string($link, $pass);
$query = "SELECT password FROM users WHERE username='$nama'";
$result = mysqli_query($link, $query);
$hash = mysqli_fetch_assoc($result)['password'];
if( password_verify($pass, $hash) ){
die('berhasil');
}else{
die('gagal');
}
}
Setiap saya login dengan username yang berbeda hasil tetap sama kayak gini gan
mohon bantuannya.....
7 Jawaban:
coba ganti gini gan
function cek_data($nama,$pass){
global $link;
//mencegah sql injection
$nama = mysqli_real_escape_string($link, $nama);
$pass = mysqli_real_escape_string($link, $pass);
$query = "SELECT password FROM users WHERE username='$nama'";
$result = mysqli_query($link, $query);
$data = mysqli_fetch_assoc($result);
$hash = $data['password'];
if( password_verify($pass, $hash) ){
die('berhasil');
}else{
die('gagal');
}
}
tetep gagal gan apa mungkin ini penyebabnya #array , dan itu num_rows nya selalu => 1 ... gak berubah walau usernamenya beda
mohon maaf kalau kurang jelas hhhh...
coba liat script proses loginnya gan, + liat data password di databasenya
[link]http://pastebin.com/WhPRZReq[/link] [link]http://pastebin.com/ivi6TBhT[/link] http://pastebin.com/FpmWP2jb
Jawaban Terpilih
seharusnya cek username dulu gan, pake num_rows, kalo usernamenya ada di database baru cek validasi password pake password_hash(); terus itu field passwordnya berapa charachternya ? 255 bukan ?
sudah berhasil gan... ternyata katanya password lengthnya harus lebih dari 32 character, tadi punya saya cuma 10 character hhh...
coba function registernya ganti jadi ini gan :
function register_user($nama,$pass){
global $link;
//mencegah sql injection
$nama = mysqli_real_escape_string($link, $nama);
$pass = mysqli_real_escape_string($link, $pass);
$pass = password_hash($pass, PASSWORD_DEFAULT, ['cost'=>12]);
$query = "INSERT INTO users (username, password) VALUES ('$nama','$pass')";
if (mysqli_query($link, $query)){
return true;
}else{
return false;
}
}