Membuat login dengan fitur remember me

Membuat login dengan fitur remember me

Membuat login dengan fitur remember me merupakan lanjutan dari membuat login dengan php, dimana pada login sebelum nya kita sudah memanfaatkan session , pernahkah anda melihat sebuah website yang pada halaman login-nya terdapat checkbox remember me? jawabannya mungkin pernah, ketika anda menjumpai halaman website yang memiliki fitur remember me tersebut ketika anda mencentang remember me tersebut, maka anda tidak perlu login lagi dalam jangka waktu tertentu meskipun browser anda telah di close.
cara membuat login dengan fitur remember me
Pada tutorial kali ini kita akan membuat hal yang sama seperti penjelasan diatas namun dengan versi yang sederhana, pada tutorial sebelumnya mengenai membuat halaman login dengan php, kita sudah membuat file  dengan login.php dan proses-login.php selanjutnya kita akan melakukan perubahan pada kedua source code tersebut sehingga source code login.php nya menjadi seperti dibawah ini.
<?php
 include 'config.php';
 session_start();
 if (isset($_COOKIE['id']) && isset($_COOKIE['key'])) 
 {
  $id  = $_COOKIE['id'];
  $key = $_COOKIE['key'];
  $query = mysql_query("SELECT username FROM tb_login WHERE id = '$id' ");
  $row = mysql_fetch_assoc($query);
  if (hash('sha384', $row['username']) == $key) 
  {
    $_SESSION['id'] = true;
  } 
 }
 if (isset($_SESSION['id'])) 
 {
  header("location: index.php");
  exit;
 }
?>
<html>
 <head>
  <title>Halaman Login</title>
  <link rel="stylesheet" href="login.css">
 </head>
 <body>
  <div class="box-login">
   <h2>Halaman Login</h2>
   <form action="proses-login.php" method="POST">
    <div class="inputan">
     <input type="text" name="username" required="">
     <label>Username</label>
    </div>
    <div class="inputan">
     <input type="password" name="password" required="">
     <label>Password</label>
    </div>
    <input type="checkbox" name="rememberme">Ingat saya?<br>
    <input type="submit" class="btnLogin" name="login" value="Login">
    <a href="register.php" class="btnLogin" style="text-decoration: none;">Daftar</a>
   </form>
  </div>
 </body>
</html>
Penjelasan dari source code diatas adalah jika halaman yang di load maka yang pertama kali di cek adalah cookie jika cookie nya ada maka otomatis akan membuat session dan langsung di arahkan ke halaman index.php tanpa harus login terlebih dahulu, lalu dimana kita membuat cookie nya?
Pada Tutorial kali ini kita membuat cookie-nya pada halaman proses-login.php, dimana pada tutorial sebelumnya kita telah membuat file proses-login.php maka selanjutnya kita akan melakukan perubahan source code pada file proses-login.php nya menjadi seperti dibawah ini:
<?php
 include 'config.php';
 session_start();
 if (isset($_POST['login'])) 
 {
  $username = $_POST['username'];
  $password = md5($_POST['password']);
  $sql = mysql_query("SELECT * FROM tb_login WHERE username = '$username' AND password = '$password' ");
  $data = mysql_fetch_assoc($sql);
  if (mysql_num_rows($sql) == 1)
  {
   $_SESSION['id'] = true;
   // cek rememberme
   if(isset($_POST['rememberme']))
   {
    setcookie('id', $data['id'], time()+ 3600);
    setcookie('key', hash('sha384', $data['username']),time()+ 3600);
   }
   header("location: index.php");
  }else
  {
   ?>
   <script type="text/javascript">
    alert("Username atau password salah!");
    window.location.href = 'login.php';
   </script>
   <?php
  }
 }
?>
Berhubung source code diatas sudah dijelaskan pada tutorial membuat halaman login, maka yang saya jelaskan hanya pada bagian untuk membuat cookie tersebut, pada source code diatas untuk membuat cookie-nya terdapat pada bagian di bawah ini:
if(isset($_POST['rememberme']))
{
 setcookie('id', $data['id'], time()+ 3600);
 setcookie('key', hash('sha384', $data['username']),time()+ 3600);
}
Penjelasan dari source code diatas kita telah membuat cookie yang berdurasi selama satu jam, artinya selama satu jam kita tidak memerlukan login lagi meskipun browser kita telah di close dan source tersebut baru berjalan ketika kita mencentang checkbox remember me sebelum login.
Sekian tutorial mengenai membuat login dengan fitur remember me semoga bermanfaat dan jangan lupa untuk selalu mengecek daftar isi serba ngoding atau like fanspage facebook kami yang ada di sidebar untuk mengetahui update terbaru mengenai pemrograman web.

0 Response to "Membuat login dengan fitur remember me"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel