Anime and Coding Daisuki

Tutorial Login & Register Full Chapter 3 (User Data, Disable Ban-Account)

Tidak ada komentar
Kita Lanjut lagi dalam tutorial membuat Login dan Register System dengan PHP. Kali ini kita akan masuk ke chapter 3 dimana kita akan membuat user data yaitu kemampuan untuk mengumpulkan data dan juga disable-ban account.

Pada chapter sebelumnya, kita berhasil melakukan sebuah login, sekarang kita akan melanjutkan nya. Pertama kita buka aside.php, di chapter sebelumnya kita hanya menampilkan echo saja. Kali ini kita akan menginclude file lain di aside.php edit file nya menjadi seperti dibawah ini :

<aside>
     <?php 
          if(logged_in() === true ) {
              include 'includes/widget/loggedin.php' ;
              echo '<a href="logout.php"><b>Logout</b></a>';
          } else {
              include 'includes/widget/login.php' ;
         }
    ?>                                                                                       
</aside>
Karena di atas ada file yang di include, kita akan membuat sebuah file baru bernama loggedin.php, sementara kita isi dulu coding nya seperti ini :
<div class="widget">
    <h2>Hello, Anda telah Login ! </h2>
    <div class="inner">
        Links
</div>
</div>
Kita tinggalkan dulu sementara, sekarang kita beralih ke users.php untuk membuat sebuah function baru. Tambahkan function baru di users.php simpan saja dibagian paling atas atau dimanapun terserah minna sih hihi :D, berikut code nya :

function user_data($user_id) {
    $data = array() ;
    $user_id = (int)$user_id;
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();
    if ($func_num_args > 0) {
       unset($func_get_args[0]) ;
       $fields ='`' . implode('`, `', $func_get_args) . '`';
       $data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM users WHERE user_i = $user_id"));                     
       return $data ;
    }
}
Sekarang buka init.php dan kita menjadi seperti ini :

<?php session_start() ; require 'database/connect.php' ; require 'functions/general.php' ; require 'functions/users.php' ; if (logged_in() === true) { $session_user_id = $_SESSION['user_id']; $user_data = user_data($session_user_id, 'user_id', 'first_name', 'last_name', 'username', 'password' , 'email') ; } $errors = array() ; ?>

Kemudian kita beralih lagi ke loggedin.php yang sudah kita buat tadi. Edit menjadi seperti ini :

<div class="widget">
<h2>Hello, <?php echo $user_data['first_name'] ;?></h2>
<div class="inner">
Links
</div>
</div>
Maka ketika di running, akan menampilkan first_name dari database kita karena kita telah memasukkan fungsi <?php echo $user_data['first_name'] ;?> sehingga parameter yang telah kita buat di init.php yang kemudian di eksekusi oleh function yang tadi kita buat diatas, sehingga akan menampilkan sebuah parameter dari first_name yang ada didatabase, seperti ini kira-kira :

 

Bisa dilihat kotak hitam dalam gambar? Itu merupakan parameter first_name yg diakses melalui database kita. Dan kita telah membuat cara yang fleksibel mengambil data dari database. Jadi penjelasan singkat nya seperti ini : kita meng include loggedin.php karena sebelum nya kita sudah log in, di dalam init.php akan mengecek apakah benar sudah login kemudian di save session nya dan kemudian mengambil user data dan di tampilkan seperti gambar diatas.

Selanjutnya kita akan melakukan disable-ban account. Kita akan cek jika akun user sudah aktif dan jika user akun belum di aktifkan maka sistem tidak akan bisa memberikan izin untuk login dan malah akan di logout dengan sendiri nya ketika akan melakukan login.
Kita edit kembali init.php, menjadi seperti ini :

<?php
session_start() ;

require 'database/connect.php' ;
require 'functions/general.php' ;
require 'functions/users.php' ;

if (logged_in() === true) {
 $session_user_id = $_SESSION['user_id'];
 $user_data = user_data($session_user_id, 'user_id', 'first_name', 'last_name', 'username', 'password' , 'email') ;

 if (user_active($user_data['username']) === false) {
  session_destroy();
  header('Location: index.php');
  exit();
 }  
}

$errors = array() ;

?>

Ketika sebelumnya kita running kita masih dalam keadaan sudah log in. Nah untuk mengetes nya, kita buka dulu localhost/phpmyadmin kita, kemudian ubah record user yang sudah ada di database pada column active yang asal nya bernilai 1 yang berarti akun sudah aktif, maka kita ubah menjadi 0 (tidak aktif). Kemudian klik go untuk menyimpan. Kemudian refresh halaman nya, dan otomatis akan logout sendiri.

Demikian tutorial kali ini saya cukupkan sekian, Gomennasai jika penjelasan yang saya berikan berbelit belit hehe maklum karena tidak terlalu pandai dalam menjelaskan dengan kata kata hahahah :D
Untuk download pdf dan source yang baru sampai chapter 3 ini, silahkan sedot di menu download.

See you in the next tutorial....

Tidak ada komentar :

Posting Komentar