Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (68960 Members, 787 Products, 5427 Topic, 13093 Comments)

Mengatur Waktu Login Siswa SIASELAH KTSP

Dibuat
Login Terakhir 1 Bulan lalu,
Telah Dilihat 1388 Kali
Rahmat Sasmita Mengatakan : Sultan Account
  1. Pak Robby, saya mau tanya. Bagaimana caranya agar ada pengaturan waktu Login. Misalnya gini :
  2.  
  3. Jika siswa login lalu setelah itu dia log out, maka dia tidak akan bisa login lagi hingga waktu yang ditentukan misal 5/10 menit kemudian. Seperti Fungsi download di PHPMU. Mohon pencerahan. :)

Ada 4 Jawaban

PHPMU.COM Support
commented on 17 Jan 2018 08:11:38
  1. Assalam, jika hitungnnya mulai dari saat siswa logout berarti perlu ditambahkan lagi filed baru pada table siswa mas,..
  2. misalnya tambahkan field dengan nama : waktu_logout datetime NOT NULL;
  3. jadi ketika siswa klik button logut maka tambahkan script untuk insert waktu logout ke field tersebut pada file logout.php :
  4.  
  5. <?php
  6. include "config/koneksi.php";
  7. mysql_query("UPDATE siswa SET waktu_logout='".date('Y-m-d H:i:s')."' where nisn='$_SESSION[id]'");
  8. echo "<script>window.alert('Sukses Keluar dari system.');
  9. window.location='index.php'</script>";
  10. die();
  11. ?>
  12.  
  13. oke sekarang data logout terakhir sudah terisi, sekarang kita buat validasi loginnya,..
  14. ini yang paling gampang, kita cek sudah berapa lama siswa tersebut logout :
  15. <?php
  16. // eksekusi script ini pada aksi login siswa
  17. date_default_timezone_set('Asia/Jakarta');
  18. $timeFirst = strtotime("2018-01-17 07:59:00"); // ambil dari field logut pada table siswa yang kita buat di atas tadi where id siswa yg login
  19. $timeSecond = strtotime(date('Y-m-d H:i:s')); // waktu saat ini
  20. $differenceInSeconds = $timeSecond - $timeFirst; // menghitung berapa lama sudah logout dalam satuan detik
  21. echo "Logout $differenceInSeconds Detik yang lalu"; // hasilnya
  22. ?>
  23.  
  24. Dari hasil perhitungan diatas tinggal kita kondisikan, misalnya gini :
  25. <?php
  26. if ($differenceInSeconds>=600){
  27. // maka Bisa login, berarti aksi login siswa disini,..
  28. }else{
  29. $sisa = 600-$differenceInSeconds;
  30. echo "Maaf anda belum bisa login saat ini, silahkan menunggu $sisa detik lagi untuk bisa login";
  31. }
  32. ?>
  33.  
  34. Bagaimana simple sekali bukan, hehee,.
  35. semoga bermanfaat, jika ada kendala bisa ditanyakan lagi disini,.. :)
Rahmat Sasmita
commented on 17 Jan 2018 08:45:53
  1. Untuk pemposisian kedua scripct ini masih kacau pk... hehe dimana dan bagaimana ya ??? apa keduanya berdiri sendiri di pasang di login.php
  2.  
  3. <?php
  4. // eksekusi script ini pada aksi login siswa
  5. date_default_timezone_set('Asia/Jakarta');
  6. $timeFirst = strtotime("2018-01-17 07:59:00"); // ambil dari field logut pada table siswa yang kita buat di atas tadi where id siswa yg login
  7. $timeSecond = strtotime(date('Y-m-d H:i:s')); // waktu saat ini
  8. $differenceInSeconds = $timeSecond - $timeFirst; // menghitung berapa lama sudah logout dalam satuan detik
  9. echo "Logout $differenceInSeconds Detik yang lalu"; // hasilnya
  10. ?>
  11.  
  12. <?php
  13. if ($differenceInSeconds>=600){
  14. // maka Bisa login, berarti aksi login siswa disini,..
  15. }else{
  16. $sisa = 600-$differenceInSeconds;
  17. echo "Maaf anda belum bisa login saat ini, silahkan menunggu $sisa detik lagi untuk bisa login";
  18. }
  19. ?>
  20.  
  21. Mohon bantu sekalian sama query untuk menampilkan data field waktu_logout.... heheh
Rahmat Sasmita
commented on 17 Jan 2018 08:46:21
  1. untuk waktu logout sudah terisi
PHPMU.COM Support
commented on 17 Jan 2018 08:59:05
  1. Penempatannya pada login.php baris 103 - 111, cari :
  2. <?php
  3. $r = mysql_fetch_array($siswa);
  4. $_SESSION[id] = $r[nisn];
  5. $_SESSION[namalengkap] = $r[nama];
  6. $_SESSION[kode_kelas] = $r[kode_kelas];
  7. $_SESSION[angkatan] = $r[angkatan];
  8. $_SESSION[level] = 'siswa';
  9. include "config/user_agent.php";
  10. mysql_query("INSERT INTO rb_users_aktivitas VALUES('','$r[nisn]','$ip','$user_browser $version','$user_os','siswa','".date('H:i:s')."','".date('Y-m-d')."')");
  11. echo "<script>document.location='index.php';</script>";
  12. ?>
  13.  
  14. ubah menjadi :
  15. <?php
  16. // eksekusi script ini pada aksi login siswa
  17. date_default_timezone_set('Asia/Jakarta');
  18. $siswaa = mysql_fetch_array(mysql_query("SELECT waktu_logout FROM rb_siswa WHERE nisn='".anti_injection($_POST[a])."' AND password='$passlain'"));
  19. $timeFirst = strtotime($siswaa['waktu_logout']); // ambil dari field logut pada table siswa yang kita buat di atas tadi where id siswa yg login
  20. $timeSecond = strtotime(date('Y-m-d H:i:s')); // waktu saat ini
  21. $differenceInSeconds = $timeSecond - $timeFirst; // menghitung berapa lama sudah logout dalam satuan detik
  22. echo "Logout $differenceInSeconds Detik yang lalu"; // hasilnya
  23.  
  24. if ($differenceInSeconds>=600){
  25. $r = mysql_fetch_array($siswa);
  26. $_SESSION[id] = $r[nisn];
  27. $_SESSION[namalengkap] = $r[nama];
  28. $_SESSION[kode_kelas] = $r[kode_kelas];
  29. $_SESSION[angkatan] = $r[angkatan];
  30. $_SESSION[level] = 'siswa';
  31. include "config/user_agent.php";
  32. mysql_query("INSERT INTO rb_users_aktivitas VALUES('','$r[nisn]','$ip','$user_browser $version','$user_os','siswa','".date('H:i:s')."','".date('Y-m-d')."')");
  33. echo "<script>document.location='index.php';</script>";
  34. }else{
  35. $sisa = 600-$differenceInSeconds;
  36. echo "Maaf anda belum bisa login saat ini, silahkan menunggu $sisa detik lagi untuk bisa login";
  37. }
  38. ?>
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!

Online