Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67478 Members, 783 Products, 5290 Topic, 12955 Comments)

Mengatur Waktu Login Siswa SIASELAH KTSP

Dibuat
Login Terakhir 22 Jam lalu,
Telah Dilihat 1321 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 !!!