sistem login dengan OOP - # membuat system login error


hallo, mohon bantuan nya saya sedang belajar mengenai system login dengan OOP nah pada materi "Membuat system Login" pada akhir materi melakukan password_verify nah saat melakukan ini kenapa sepertinya saya tidak bisa terverify ya ?

karena saat melakukan test dengan Mengambil data dari database berhasil data keluar, akan tetapi saat di lakukan langsung selalu Gagal Login.

berikut kode di :

login.php


<?php
require_once "core/init.php";

// Error note
	$errors = array();

//Validasi User
if( Input::get('submit') ) {


// 1. Memanggil objek validasi
	$validation = new validation();


// 2. Metode Check
	$validation = $validation->check(array(
		'namaUser' => array ( 'required' 	=> true),
		'passwordUser' => array ('required' => true )

	));

// 3. Lolos Pengujian
	if ($validation->passed() ) {

		if( $user->login_user( Input::get('namaUser'), Input::get('passwordUser') ) )
		{
		session::set('namaUser', Input::get('namaUser'));
		header('Location: profile.php');
		} else {
			$errors[] = 'Login Gagal!!';
		}

	} else {
//		die('Ada Masalah Dengan Form Input!!!');
		$errors = $validation->errors();
	}
}

require_once "templates/header.php";
?>

<h2>Formulir Pendaftaran Pengguna Baru </h2>

<form action="login.php" method="post">

	<label>Nama User</label>
	<input	type="text" name="namaUser"><br>

	<label>Password User</label>
	<input type="password" name="passwordUser"><br>

<!--
	<label>Nomer Handphone</label>
	<input type="text" name="nomerHP"><br>
-->


	<!-- Hidden Input -->
	<input type="hidden" name="levelUser" value="5"><br>
	<input type="hidden" name="tglRegister" value="<?php echo  date("Y/m/d"); ?>"><br>
	<input type="hidden" name="catatan" value="New User"><br>


	<input type="submit" name="submit" value="Login User">

	<?php if(!empty($errors) ) { ?>
		<div id="errors">
			<?php foreach($errors as $error ) { ?>
				<li> <?php echo $error;  ?>  </li>
			<?php } ?>
		</div>
	<?php } ?>

</form>

<?php
require_once "templates/footer.php";

?>

user.php

<?php

class user {
	private $_db;

	public function __construct() {
		$this->_db = database::getInstance();
	}

	//register user
	public function register_user($fields = array())
	{
		if( $this->_db->insert('user', $fields) ) return true;
		else return false;
	}

	//Login User Class
	public function login_user($namaUser, $passwordUser)
	{
		$data = $this->_db->get_info('user', 'namaUser', $namaUser);

//		print_r($data);
//		die();
//
		if(	password_verify($passwordUser, $data['passwordUser']) )
		return true;
		else return false;
	}

}

?>

ini function login_user di database.php

<?php
public function get_info($table, $column, $value)
		{
			if( !is_int($value) )
				$value = "'" . $value . "'";

			$query = "SELECT * FROM $table WHERE $column = $value";
			$result = $this->mysqli->query($query);

			while($row = $result->fetch_assoc() ) {
				return $row;
			}

		}

?>

terima kasih

avatar davadut
@davadut

16 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

1 Jawaban:

Problem Solve ......

setelah google mengenai password_verify() Jika menggunakan password hash pada saat meregister password.

Password akan di hash menjadi 60char, dan saat saya membuat Length/Values di structur hanya 50char, setelah saya rubah menjadi 255 bisa di gunakan.

mohon koreksi jika salah.

terima kasih

avatar davadut
@davadut

16 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban