Di artikel sebelumnya kita sudah membahas bagaimana mudahnya kita sebagai Web Developer menambahkan kode di server event User_LoggingIn yang merupakan business-logic sebelum sistem memvalidasi Pengguna yang sedang Login ke Aplikasi Web. Di artikel yang ini kita akan membahas server event yang berpasangan dengan server event tersebut, yaitu User_LoggedIn.
Seperti namanya, server event User_LoggedIn akan dipanggil setelah Pengguna berhasil login ke Aplikasi Web yang dihasilkan oleh PHPMaker. Server event ini memiliki satu argumen yaitu $usr yang merupakan data Username dari Pengguna yang berhasil login tadi.
Katakanlah Anda ingin menampilkan ucapan selamat datang kepada Pengguna setelah berhasil login, maka kode selengkapnya di server event ini adalah:
// User Logged In event function User_LoggedIn($usr) { //echo "User Logged In"; $this->setSuccessMessage("Selamat datang, <strong>" . $usr . "</strong>!"); }
Betapa mudahnya, bukan? 🙂
Cak Sobri mengatakan
Ini tidak bisa dipakai di dua halaman default yang berbeda, saya pernah mencoba jika level user tertentu defaultnya di redirect ke halaman yg lain…
Masino Sinaga mengatakan
Kok bisa di-redirect? Kode di atas kan tidak ada hubungannya dengan redirect?
Cak Sobri mengatakan
Maksudnya gini, misal default yang kita buat adalah datalist.php, tapi untuk user tertentu setelah login default setelah login menjadi data2list.php, kan di phpmaker untuk merubah default page tidak bisa berlevel jadi di redirect jika user tertentu..
Masino Sinaga mengatakan
Boleh saya tahu kode yang Anda buat di server event ini seperti apa?
Cak Sobri mengatakan
Kodenya seperti ini:
Masino Sinaga mengatakan
Ya jelas dong kode Anda tersebut akan mengakibatkan langsung redirect ke halaman data2list.php hanya untuk username caksobri saja. Artinya, untuk username yang lainnya akan redirect ke halaman default yang satunya. Server event User_LoggedIn tidak disarankan untuk me-redirect ke halaman lain.
Jika ingin membuat redirect setelah berhasil login, maka disarankan untuk menggunakan server event Page_Redirecting yang terdapat di bawah lokasi: Server Events -> Other -> Default Page. Di server event ini Anda bisa menentukan redirect ke halaman tertentu untuk user tertentu. Bahkan Anda bisa menentukan redirect ke halaman default untuk user yang belum login.
Masino Sinaga mengatakan
Mengenai pembahasan dan contoh kode di server event Page_Redirecting tersebut akan saya sampaikan di artikel Mudahnya Meredirect ke Halaman Default di Aplikasi Web dari PHPMaker yang akan diterbitkan hari Kamis, 3 Juli 2014. 😉
Cak Sobri mengatakan
Ditunggu tulisannya, stay in here.. 🙂
Masino Sinaga mengatakan
Oke, artikel-nya baru saja diterbitkan. Silahkan klik di sini. Selamat menikmati. 😀
Bahrian mengatakan
Master Masino..
Kalau mau sisipkan kode auto numbering di IDUser sesuai yang kita inginkan contohnya :
LK0001, LK0002, LK0003, dst atau bahkan dgn campuran tgl cthnya 201407030001, 201407030002, 201407030003, dst.
Bagaimana caranya Master tuk sisipkan kode itu ketika klik tambah User dan di form Add User pada teksbox IDUser sudah terisi kodenya???
Ada tutorialnya kah mohon pencerahannya..
Terima kasih.
Masino Sinaga mengatakan
Tutorialnya belum ada, tapi secara umum, Anda cukup menggunakan dua server event saja, yaitu: Row_Rendered dan Global Code dari dalam project PHPMaker.
Server event Global Code digunakan untuk menaruh global function yang Anda buat untuk mengambil nilai auto-numbering berikutnya yang nantinya akan ditaruh ke dalam textbox IDUser tersebut. Katakanlah global function itu bernama GetAutoNumber.
Sedangkan server event Row_Rendered digunakan untuk mengambil nilai auto-numbering tadi lalu menempatkan ke textbox IDUser tadi.
Ini contoh kode untuk server event Row_Rendered:
Jangan lupa untuk selalu membaca topik Server Events and Client Scripts di file Help yang disediakan oleh PHPMaker.
Bahrian mengatakan
Wowww.. ternyata berhasil master.. =D
Mudah sekali.. Saya baru belajar seharian saja kemarin malam dan aplikasi yang diperlukan sudah bisa.. Weh.. Weh.. Mantap..
Sekedar share aja tuk yang mungkin mengalami hal yang sama, berikut kode function AutoCode yang saya copy kan ke Global Code pada tabel yang akan diberikan kode:
Kode function ini dapat dari :
http://news.palcomtech.com/2011/07/membuat-pengkodean-otomatis-pada-field-tabel/
Lalu pada Row_Rendered tambahkan ini (seperti yang Master Masino dah kasih di atas) saya sesuaikan menjadi :
Sedikit penjelasan untuk kode “AutoCode(“nama_tabel”, “LK”)” :
nama_tabel = merupakan tabel pada database Anda yang akan berisi Kode Otomatis dalam hal ini tabel User.
LK = merupakan kode yang saya inginkan ditampilkan dalam IDUser, jadi akan tertampil LK0001, LK0002, LK0003, dst. Panjang dari angka tergantung dari Length yang diberikan untuk IDUser, dalam hal ini saya berikan IDUser varchar(6).
Demikian share dari saya Master. Semoga bisa dibuat tulisan detailnya oleh Master Masino.
Btw nama Masino itu menurut saya lebih kaya nama Jepang.. =D
Thanks Master untuk pencerahannya.. Nanti saya akan bertanya lagi.. =D
Masino Sinaga mengatakan
Sama-sama. 🙂
Masino itu nama Jepang? Hm… bisa juga, ya. Ada yang bilang nama Jawa, ada yang bilang nama Italia, hehe… berarti nama saya sudah Go-International, ya? 😀
efendy mengatakan
dari LK0001, LK0002, LK0003, dst tersebut kalau untuk penambahan tanggalnya bagaimana campuran tgl yang cthnya 20140703LK0001, 20140703LK0002, 20140703LK0003, dst?
seandainya nilai asli field tgl ini adalah datetime 2014-07-03 18:10:16 bagaimana? terimakasih.
ricky mengatakan
Permisi Pak Masino, kalau saya inginnya bukan berupa pesan lalu hilang saja ketika berganti halaman tetapi ketika seseorang login, selalu tertampang nama pengguna di setiap halaman, sehingga ketika pengguna tersebut logout barulah tulisan nama tersebut hilang. Ketika pengguna lain yang login maka akan muncul tulisan nama pengguna yang baru. Bagaimana cara membuatnya di phpmaker ya Pak? Terima kasih banyak…
ricky mengatakan
oh iya maaf ada tambahan pak. ini kan username loginnya saya gunakan nip dosen. lalu saya ingin mengucapkan selamat datangnya diikuti nama dosen. nah kok ternyata yang keluar hanya “Welcome !” saja ya? Mengapa ya? Kodenya adalah sebagai berikut:
Terima kasih banyak…
Masino Sinaga mengatakan
Kode Anda di atas hanya akan menampilkan nama pengguna hanya jika nilai username = koordinator. Sedangkan kondisi di bagian else tidak akan pernah dieksekusi, karena variabel $nm tidak akan pernah mengembalikan nilai yang Anda harapkan.
Solusinya, jangan pernah menggunakan mysql_query untuk case di atas, terlalu boros resource. Kalau hanya untuk mendapatkan nama dosen, cukup gunakan kode seperti ini:
ricky mengatakan
Terima kasih banyak Pak… sudah sukses dengan baik… Kalau misalnya tulisan/message Welcome atau selamat datang atau “nama_dosen” tersebut selalu muncul sebagai penanda bahwa sistem telah dilogin oleh “nama_dosen” tersebut. Namun ketika “nama_dosen” tersebut keluar/ logout maka tulisan/message tersebut menghilang dan akan berganti dengan “nama_dosen” yang lain jika ada orang lain yang login. Bagaimana ya Pak cara membuat seperti itu di phpmaker? Terima kasih banyak Pak…
Masino Sinaga mengatakan
Ya tinggal Anda echo saja variabel yang menampung nama dosen di atas tadi. Itu akan otomatis menyesuaikan dengan user yang sedang login saat itu.
ricky mengatakan
Maaf saya masih belum paham, penulisan echo nya kapan dan dimana ya Pak? saya coba di baris akhir dari percabangan tersebut juga tidak bisa… Maaf jadi merepotkan ya Pak… Terima kasih banyak
Masino Sinaga mengatakan
Gunakan server event Page_DataRendering, contoh:
ricky mengatakan
Pak kalau diletakkan di Server Event lalu Login Page lalu Page_Data Rendering maka yang ada tulisan di headernya hanya di Login Page… Sebaiknya saya letakkan kode di atas tersebut dimana ya Pak agar muncul tulisan selamat datang… di atas menu yang sebelah kiri itu… Terima kasih banyak
Masino Sinaga mengatakan
Kalau begitu, coba letakkan kode ini di bagian Startup Script di bawah lokasi Client Scripts -> Global -> Pages with header/footer:
Kode itu akan menampilkan nama dosen yang sedang login di sebelah kanan atas content setiap halaman.