Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Membuat System Login
Selamat Siang semuanya, mohon bantuan.. saya mengikuti kelas "MEMBUAT SYSTEM LOGIN DAN REGISTER DENGAN METODE OOP PHP" namun ada kesulitan saat membuat system login.
1. Pada halaman register saya membuat 4 Form yang wajib diisi oleh user yaitu ( Nama, Username, Email, dan Password ).. begitu juga dengan Databasenya. 2. Pada halaman login saya hanya ingin menggunakan 2data saja yaitu username dan password.
Berikut code yang saya gunakan untuk system login ini : Kode pada login.php
<?php
require_once "core/init.php";
$errors = array();
if( Input::get('submit') ){
$validation = new Validation();
$validation = $validation->check(array(
'username' => array( 'required' => true ),
'password' => array( 'required' => true )
));
if ( $validation->passed() ){
if( $user->login_user( Input::get('username'), Input::get('password') ) )
{
Session::set('username', Input::get('username'));
header('location: profile.php');
}
}else{
$errors = $validation->errors();
}
}
require_once "templates/header.php";
?>
<form action="login.php" method="post">
<h4><small>Pastikan Data Login anda Benar !</small></h4>
<hr class="colorgraph">
<div class="form-group"><input size="29" class="form-control" name="username" placeholder="Username" value="" type="text"></div>
<div class="form-group"><input size="29" class="form-control" name="password" placeholder="Password" value="" type="password"></div>
<?php if(!empty($errors)){ ?>
<div id="errors">
<?php foreach ($errors as $error){ ?>
<li> <?php echo $error; ?> </li>
<?php } ?>
</div>
<?php } ?>
<div class="form-group"><input type="submit" class="btn btn-success btn-block btn-lg" name="submit" value="Login Sekarang !"></div>
</form>
Kode pada user.php
public function login_user($username , $password)
{
$data = $this->_db->get_info('users', 'username', $username);
print_r($data);
die();
if(password_verify($password, $data['password']) )
return true;
else return false;
}
Pada Database.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;
}
}
Kendalanya ketika saya login, print_r data berhasil ditampilkan di browser.. namun ketika kode print_r tersebut saya hapus dari user.php Login gagal dan tidak berhasil di redirect ke halaman profile.php
8 Jawaban:
"Login gagal dan tidak berhasil di redirect ke halaman profile.php" gagalnya maksudnya apa? errornya apa?
maaf mungkin di database dengan fild password di cek dulu varcharnya harus diatas 100 lebih lebih amannya dikasih 250 , dikarenakan karakter dari hash bisa banyak ,,,,
Alhamdulillah ada mas @hilmanrdn nongol.
Maksudnya ketika saya login dengan memasukan username dan password yang benar itu tidak bisa mas.
Padahal querynya sudah berhasil dilakukan..
Kenapa Ya Mas..?
Mas @ululajib Varcarnya sudah saya kasih 255 mas
nama fild username sama password apakah sudah sama?
Jawaban Terpilih
ini di password_verify $data['password'] hurup P nya kecil terus di print_r P nya besar ,, (harusnya sama coba di ganti dulu..)
if(password_verify($password, $data['password']) )
hooo iyaa iya.. hehe Alhamdulillah work mas. Terimakasih banyak.