tutorialswb

TutorialsWB hadir sebagai wadah bagi teman-teman yang ingin "Belajar PHP Dasar". Sehingga kami yakin bahwa TutorialsWB akan menjadi Pusat "Belajar Bahasa Pemrograman PHP" Disamping PHP website ini menyediakan berbagai tips dan trik Blogger. Kami menerima Pemasangan iklan banner atau artikel.

Hubungi Saya

Membuat auto logout sederhana menggunakan PHP MySQLi



Apakah anda pernah atau sering menggunakan internet banking? Jika kalian pengguna internet banking pasti dengan melihat judul di atas anda sudah menetahui apa maksud judul artikel di atas.

Ya, jika kalian pernah menggunakan internet banking, pasti anda pernah logout secara otomatis tanpa anda menekan button logout atau apapun itu, itu karena dalam sistem atau aplikasi mereka sudah terdapat source code yang mempunyai fungsi auto logout jika kalian tidak aktif. Auto logout ini sudah banyak digunakan oleh perusahaan-perusahaan yang mempunyai kerahasiaan data yang fital.


Dalam aplikasi autologout sederhana dibawah, kalian akan otomatis logout ketika tidak ada katifitas selama 60 detik (1 menit).

Ok, langsung saja kita akan mulai dari awal, yang pertama kalian buat database terlebih daulu, buat database dengan nama autolog kemudian masukkan struktur database dibawah ini.

 CREATE TABLE `user` (
  `user_id` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `name` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


INSERT INTO `user` (`user_id`, `username`, `password`, `name`) VALUES
(1, 'admin', 'admin', 'Administrator');


ALTER TABLE `user`
  ADD PRIMARY KEY (`user_id`);


ALTER TABLE `user`
  MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;COMMIT; 

Kedua, buat file dengan conn.php file iniberfungsi sebagai koneksi kedatabase.
 <?php
$conn = new mysqli('localhost', 'root', '', 'autolog');

if(!$conn){
 die("Error: Can't connect to database!");
}
?> 

Ketiga, buat file dengan nama index.php file ini berfungsi sebgaai form login dan juga terdapat data modal yang berfungsi menambahkan user baru kedalam sistem.
 <!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1"/>
 <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
</head>
<body>
 <nav class="navbar navbar-default">
  <div class="container-fluid">
   <a class="navbar-brand" href="https://tutorialswb.com">Tutorialswb</a>
   <a class="navbar-brand" href="#">Auto Logout</a>
  </div>
 </nav>
 <div class="col-md-3"></div>
 <div class="col-md-6 well">
  <button class="btn btn-primary" data-toggle="modal" data-target="#form_modal"><span class="glyphicon glyphicon-plus"></span> Add User</button>
  <br style="clear:both;" /><br /><br />
  <div class="col-md-2"></div>
  <div class="col-md-8">
   <div class="alert alert-info">Login</div>
   
   <form method="POST" action="login.php">
    <div class="form-group">
     <label>Username</label>
     <input type="text" name="username" class="form-control"/>
    </div>
    <div class="form-group">
     <label>Password</label>
     <input type="password" name="password" class="form-control"/>
    </div>
    <br />
    <button class="btn btn-primary form-control" name="login"><span class="glyphicon glyphicon-log-in"></span> Login</button>
   </form>
  </div>
 </div>
 <div class="modal fade" id="form_modal" tabindex="-1" role="dialog" aria-hidden="true">
  <div class="modal-dialog" role="document">
   <form action="save_query.php" method="POST">
    <div class="modal-content">
     <div class="modal-body">
      <div class="col-md-2"></div>
      <div class="col-md-8">
       <div class="form-group">
        <label>Username</label>
        <input class="form-control" type="text" name="username">
       </div>
       <div class="form-group">
        <label>Password</label>
        <input class="form-control" type="password" name="password" />
       </div>
       <div class="form-group">
        <label>Name</label>
        <input class="form-control" type="text" name="name" />
       </div>
      </div>
     </div>
     <div style="clear:both;"></div>
     <div class="modal-footer">
      <button type="button" class="btn btn-danger" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> Close</button>
      <button name="save" class="btn btn-primary"><span class="glyphicon glyphicon-save"></span> Save</button>
     </div>
    </div>
   </form>
  </div>
 </div>
</body>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap.js"></script>
</html> 

Keempat, buat file dengan nama home.php file ini mempunyai fungsi sebagai form yang akan dituju ketika user berhasil login
 <!DOCTYPE html>
<?php
session_start();
if(!ISSET($_SESSION['user_id'])){
 header('location:index.php');
}else{
 if((time() - $_SESSION['time']) > 60){
  header('location: logout_page.php');
 }
}
?>
<html lang="en">
<head>
 <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1"/>
 <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
</head>
<body>
 <nav class="navbar navbar-default">
  <div class="container-fluid">
   <a class="navbar-brand" href="https://tutorialswb.com">Tutorialswb</a>
  </div>
 </nav>
 <div class="col-md-3"></div>
 <div class="col-md-6 well">
  <h3 class="text-primary">Kamu akan keluar otomatis setelah 1 menit</h3>
  <hr style="border-top:1px dotted #ccc;"/>
  <?php
  require 'conn.php';
  $query = $conn->query("SELECT * FROM `user` WHERE `user_id` = '$_SESSION[user_id]'");
  $fetch = $query->fetch_array();
  ?>
  <br />
  <h4><a href="logout.php">Logout</a></h4>
 </div>
</body>
</html> 

Kelima, login.php file ini beiri script notifikasi ketika user melakukan login.
 <?php
require_once 'conn.php';

if(ISSET($_POST['login'])){
 if(!empty($_POST['username']) && !empty($_POST['password'])){
  $username = $_POST['username'];
  $password = $_POST['password'];
  
  $query = $conn->query("SELECT * FROM `user` WHERE `username` = '$username' && `password` = '$password' ") or die(mysqli_errno());
  $row = $query->num_rows;
  $fetch = $query->fetch_array();
  if($row > 0){
   session_start();
   $_SESSION['user_id'] = $fetch['user_id'];
   $_SESSION['time'] = time();
   echo "<script>alert('Login Confirmed!')</script>";
   echo "<script>window.location='home.php'</script>";
  }else{
   echo "<script>alert('Invalid username or password')</script>";
   echo "<script>window.location='index.php'</script>";
  }
 }else{
  echo "<script>alert('Please complete the requiered field!')</script>";
  echo "<script>window.location='index.php'</script>";
 }
 
};
?> 

Keenam, logout.php file ini berisi script logout
 <?php
session_start();
session_destroy();
header('location: index.php');
?> 

Ketujuh, logout_page.php file ini adalah file yang memberikan informasi bahwa user telah login selamat 1 mnit dan user akan diarahkan untuk login.
 <!DOCTYPE html>
<?php
session_start();
session_destroy();
?>
<html lang="en">
<head>
 <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1"/>
 <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
</head>
<body>
 <nav class="navbar navbar-default">
  <div class="container-fluid">
   <a class="navbar-brand" href="https://TutorialsWb.com">TutorialsWb</a>
  </div>
 </nav>
 <div class="col-md-3"></div>
 <div class="col-md-6 well">
  <center><h3>Kamu telah aktif 1 menit!</h3></center>
  <h4><a href="index.php">Back to login</a></h4>
 </div>
</body>
</html> 

Terakhir, save_quary.php file ini berisi script yang berfungsi menyimpan data user baru.
 <?php
require_once 'conn.php';

if(ISSET($_POST['save'])){
 $username = $_POST['username'];
 $password = $_POST['password'];
 $name = $_POST['name'];
 
 $conn = $conn->query("INSERT INTO `user` VALUES('', '$username', '$password', '$name')");
 
 header('location: index.php');
}
?> 

Kalian bisa melihat demo dan mendownload filenya langsung dengan menekan button dibawah ini.


Sekian share kali ini semoga apa yang kami share bermanfaat bagi anda, jangan lupa share dan support kami dengan menekan salah satu iklan di website ini.



Baca Juga

closed