Sistem Login pada PHP

master, saya mau bertanya, saya punya function cek_data() , saya ingin membuat sistem login dengan function password_verify(), sebelumnya password nya sdh saya hash, ketika saya uji kenapa hasil nya false terus ya?

 function cek_data($nama, $pass){
  global $link;

  $nama = mysqli_real_escape_string($link, $nama);
  $pass = mysqli_real_escape_string($link, $pass);

  $query = "SELECT password FROM users WHERE username = '$nama' ";

  $hasil = mysqli_query($link, $query);

  $hash = mysqli_fetch_assoc($hasil)['password'];

  if(password_verify($pass, $hash) ){
    return true;
  }else {
    return false;
  }

}

if(cek_data($nama, $pass) ){
      echo "berhasil";
    }else {
      echo "gagal login";
    }

avatar RyanSyah26
@RyanSyah26

34 Kontribusi 4 Poin

Diperbarui 6 tahun yang lalu

4 Jawaban:

Bisa nggak tampilkan pesan error yang agan dapatkan

avatar arisid96
@arisid96

179 Kontribusi 71 Poin

Dipost 6 tahun yang lalu

gk ada pesan eror nya mas, cuman hasilnya false terus, "gagal login" hasilnya

avatar RyanSyah26
@RyanSyah26

34 Kontribusi 4 Poin

Dipost 6 tahun yang lalu

itu coba punya saya silahkan disesuaikan aja

 <?php

function cek_data_admin($username,$password) {

	global $link;

	$username = mysqli_real_escape_string($link,$username);
	$password = mysqli_real_escape_string($link,$password);

	$query  = "SELECT * FROM admin WHERE  username ='$username'";
	$result = mysqli_query($link,$query);
	$hash 	= mysqli_fetch_assoc($result)['password'];

	if(password_verify($password,$hash) ) {

		return true;

	}else {
		return false;
	}

}

function login_check_admin($username) {
	global $link;

	$username    = mysqli_real_escape_string($link,$username);

	$query = "SELECT * from admin where  username ='$username' ";

	if($result = mysqli_query($link,$query) ) {
		if(mysqli_num_rows($result) != 0 )

			return true;
		else
			return false;
	}
}
avatar stefanuspn
@stefanuspn

250 Kontribusi 69 Poin

Dipost 6 tahun yang lalu

 if(isset($_POST['login']) ) {

  $username    = $_POST['username'];
  $password    = $_POST['password'];

  if(!empty(trim($username)) && !empty(trim($password)) ) {

    if(login_check_admin($username)) {
      if(cek_data_admin($username,$password) ) {

         $_SESSION['uid'] = $username;
         $_SESSION['nama'] = $username ;

        header('location:view/admin');
    }else {
      echo"<script language='javascript'>
      alert('data ada yang salah');
      document.location='admin.php';
  </script>";
    }

    }else{
      echo"<script language='javascript'>
      alert('Username Belum Terdaftar');
      document.location='admin.php';
  </script>";
    }
  }else{
    echo"<script language='javascript'>
      alert('data tidak boleh Kosong');
      document.location='admin.php';
  </script>";
  }
}
?>
avatar stefanuspn
@stefanuspn

250 Kontribusi 69 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban