Tutorial PHP ini digunakan untuk mengatur waktu berakhirnya sesi login pengguna untuk pengguna yang masuk. Sekali, kali ini berlalu maka pengguna tidak lagi mengakses halaman aplikasi yang diautentikasi. Dalam tutorial sebelumnya, kami telah membuat variabel sesi setelah pengguna masuk ke aplikasi kami.
Dalam tutorial ini, kita akan menambahkan stempel waktu yang sudah masuk ke sesi. Dengan menggunakan stempel waktu ini kami memeriksa apakah waktu kedaluwarsa sesi login tercapai. Jika demikian, pengguna akan keluar.

Kode HTML untuk Login Pengguna
Kode ini untuk menampilkan formulir login kepada pengguna.
<form name = "frmUser" method = "posting" action = ""> <? php if ($ message! = "") {?> <div class = "message"> <? php echo $ message; ?> </ div> <? php}?> <table border = "0" cellpadding = "10" cellspacing = "1" width = "100%" class = "tblLogin"> <tr class = "tableheader"> <td align = "center" colspan = "2"> Masukkan Detail Login </ td> </ tr> <tr class = "tablerow"> <td align = "right"> Nama Pengguna </ td> <td> <input type = "text" name = "user_name"> </ td> </ tr> <tr class = "tablerow"> <td align = "right"> Kata Sandi </ td> <td> <input type = "password" name = "password"> </ td> </ tr> <tr class = "tableheader"> <td align = "center" colspan = "2"> <input type = "submit" name = "submit" value = "Kirim"> </ td> </ tr> </ table> </ form>
Membuat Sesi Masuk Pengguna
Dalam kode ini, kami menambahkan id pengguna yang masuk dan masuk ke suatu variabel sesi. Kemudian, kita menjalankan fungsi PHP untuk memeriksa apakah waktu berakhir sesi login telah berlalu. Jika tidak tercapai, maka pengguna akan dialihkan ke dasbor.
if (count ($ _ POST)> 0) { if ($ _POST ["user_name"] == "admin" dan $ _POST ["password"] == "admin") { $ _SESSION ["user_id"] = 1001; $ _SESSION ["user_name"] = $ _POST ["user_name"]; $ _SESSION ['loggedin_time'] = waktu (); } lain { $ message = "Nama Pengguna atau Kata Sandi Tidak Valid!"; } } if (isset ($ _ SESSION ["user_id"])) { if (! isLoginSessionExpired ()) { tajuk ("Lokasi: user_dashboard.php"); } lain { header ("Lokasi: logout.php? session_expired = 1"); } }
Fungsi PHP untuk Memeriksa Sesi Waktu Masuk Sesi
Fungsi ini akan dipanggil di awal semua halaman yang diautentikasi. Fungsi ini mengembalikan TRUE jika sesi login pengguna berakhir, SALAH sebaliknya.
function isLoginSessionExpired () { $ login_session_duration = 10; $ current_time = time (); if (isset ($ _ SESSION ['loggedin_time']) dan isset ($ _ SESSION ["user_id"])) { if (((waktu () - $ _SESSION ['loggedin_time'])> $ login_session_duration)) { kembali benar; } } return false; }
Pengguna Sesi Masuk Kedaluwarsa Sesi
Laman logout.php ini akan "membatalkan" sesi pengguna yang masuk dan memeriksa status bendera session_expired. Jika sudah diatur, maka pesan waktu sesi login akan ditampilkan kepada pengguna.
session_start (); tidak disetel ($ _ SESSION ["user_id"]); tidak disetel ($ _ SESSION ["user_name"]); $ url = "index.php"; if (isset ($ _ GET ["session_expired"])) { $ url. = "? session_expired =". $ _GET ["session_expired"]; } tajuk ("Lokasi: $ url");
Tutorial kode PHP ini diterbitkan pada 24 November 2014.
