Jika Pengguna sudah selesai bekerja di Aplikasi Web, maka mereka biasanya akan memilih menu Logout. Ketika proses logout sedang terjadi, maka Anda sebagai Web Developer dapat menerapkan business-logic tertentu di Aplikasi Web yang Anda bangun dengan PHPMaker.
PHPMaker sudah menyediakan sebuah server event bernama User_LoggingOut yang lokasinya berada di bawah Server Events -> Other -> Logout Page pada project PHPMaker Anda. Sesuai dengan namanya, server event ini akan dipanggil ketika Pengguna sedang logout dari Aplikasi Web. Lebih tepatnya, server event ini dieksekusi sebelum sistem membersihkan cookie dan ID Session Pengguna tersebut.
Seperti server event lainnya yang mengandung kata ing, maka di server event User_LoggingOut ini Anda sebagai Web Developer masih diberi kesempatan oleh PHPMaker untuk membatalkan proses logout.
Katakanlah Anda bisa menerapkan business-logic yang mempersyaratkan Pengguna harus memperbarui data tertentu sebelum keluar dari Aplikasi Web. Untuk itu, maka Anda dapat menambahkan proses pemeriksaan kondisi di server event ini. Jika misalnya data tertentu tadi belum diperbarui, maka Anda bisa menampilkan pesan kepada Pengguna dan membatalkan logout saat itu juga.
// User Logging Out event function User_LoggingOut($usr) { // Masukkan kode Anda di sini // Untuk membatalkan logout, cukup dengan mengembalikan nilai FALSE; if (Kondisi_Tertentu) { // sesuaikan "Kondisi_Tertentu" dengan kode Anda sendiri $this->setFailureMessage("Anda tidak dapat logout sebelum memperbarui data tertentu."); return FALSE; } return TRUE; }
Untuk membatalkan logout, maka Anda sebagai Web Developer cukup mengembalikan nilai FALSE di server event ini. Bahkan Anda juga dapat menampilkan pesan kepada Pengguna yang menerangkan mengapa logout dibatalkan, seperti yang ditunjukkan pada contoh kode barusan.
Wow, keren! Betapa mudahnya, bukan? 🙂
herman mengatakan
Bisa diberi contoh kondisi tertentunya misal seperti apa Pak?
Terima Kasih sblmnya
Masino Sinaga mengatakan
Misalnya contoh seperti ini:
Herman mengatakan
Mantap. Terima Kasih Pak.