Masino Sinaga

A Web Developer Who Helps Web Developers

Anda di sini: Beranda / PHPMaker / Hati-Hati Meredirect Pengguna Setelah Login di PHPMaker 2025
Solusi Buat Field Lookup Table yang Bermasalah di Server Hosting
Ini Alasan Mengapa Kalian Harus Selalu Pakai PHPMaker versi Terakhir

Hati-Hati Meredirect Pengguna Setelah Login di PHPMaker 2025

Jum, 25 Juli 2025 oleh Masino Sinaga Tinggalkan Komentar

Pada PHPMaker versi 2024, kita bisa menulis kode sederhana berikut di server event User_LoggedIn untuk me-redirect Pengguna nancy setelah berhasil login, ke halaman List table orders:

	if ($usr == "nancy") {
		$this->terminate("orderslist");
	}

Hal itu bisa terjadi karena pada versi 2024, kode yang kita tulis pada server event User_LoggedIn akan ditempatkan pada file hasil generate models/Login.php.

Tapi sayangnya, kode tersebut tidak dapat kita gunakan pada server event yang sama pada PHPMaker 2025. Penyebabnya, karena server event User_LoggedIn tersebut tidak akan ditempatkan lagi pada file models/Login.php lagi di PHPMaker 2025, tapi akan berada ke dalam file hasil generate: src/AuthenticationEventSubscriber.php.

Sebagai solusinya, maka kita harus menulis kode masing-masing pada server event User_CustomValidate yang terdapat di bawah Server Events -> Global -> All Pages, dan server event Page_Load yang terdapat di bawah Server Events -> Other -> Login.

Kode selengkapnya pada server event User_CustomValidate (cek hasilnya pada file yang di-generate oleh PHPMaker: src/AdvancedSecurity.php):

// User Custom Validate event
function User_CustomValidate(string &$userName): bool
{
    // Enter your custom code to validate user, return true if valid.
    if ($userName == "nancy") {
        FlashBag()->add("MyRedirectUrl", "orderslist");
    }

    return false;
}

Kode selengkapnya pada server event Page_Load (cek hasilnya pada file yang di-generate oleh PHPMaker: models/Login.php):

// Page Load event
function Page_Load(): void
{
    $url = FlashBag()->get("MyRedirectUrl")[0] ?? "";
    if ($url) {
        $this->terminate($url);
    }   
}

Penting untuk diingat, bahwa kode yang kita tulis di dalam server event User_CustomValidate di atas, tidak akan berfungsi jika kita pindahkan ke server event User_LoggedIn. Mengapa? Karena dalam hal ini kode pada server event Page_Load akan duluan dieksekusi daripada kode pada server event User_LoggedIn.

Jadi, mulai sekarang, biasakanlah untuk menulis kode pada server event User_CustomValidate jika kita ingin melakukan validasi secara kostum terhadap user yang akan login, dan setelah itu, gunakan object FlashBag untuk menentukan URL yang akan dituju, lalu cek dan redirect menggunakan method terminate pada server event Page_Load di halaman Login.

Nah, di sinilah salah satu keuntungan jika kita menggunakan PHPMaker versi 2025 dibandingkan versi-versi major terdahulu. Kita bisa bebas menggunakan object FlashBag tadi dari bagian manapun di server event yang tersedia di PHPMaker, asalkan syarat dan ketentuannya terpenuhi.

Dengan cara yang hampir sama dengan kode di server event User_CustomValidate tadi, maka kita dengan mudahnya dapat menampilkan pesan sukses pada server event tersebut. Cukup tambahkan kode berikut:

FlashBag()->add("success", "Welcome, nancy! You have successfully been redirected to Orders List page.");

sesudah baris kode yang ini:

FlashBag()->add("MyRedirectUrl", "orderslist");

Semakin keren aja nih, si PHPMaker! 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, PHPMaker 2025, PHPMaker Indonesia, Server Events, Tutorial PHPMaker

Solusi Buat Field Lookup Table yang Bermasalah di Server Hosting
Ini Alasan Mengapa Kalian Harus Selalu Pakai PHPMaker versi Terakhir

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Pos-pos Terbaru

  • Alasan 21 Harus Pakai Masino Extensions: Form Wizard dengan jQuery SmartWizard v7
  • Alasan 20 Harus Pakai Masino Extensions: Maximum Record per Page
  • Alasan 19 Harus Pakai Masino Extensions: Custom Breadcrumb Links
  • Alasan 18 Harus Pakai Masino Extensions: Improvement User Level Permissions
  • Alasan 17 Harus Pakai Masino Extensions: Dynamic Permission for Export Data

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Alasan 21 Harus Pakai Masino Extensions: Form Wizard dengan jQuery SmartWizard v7 pada Alasan 10 Harus Pakai Masino Extensions: Form Wizard
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Charly pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Charly pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025

(c) Masino Sinaga 2009 - 2026 | WordPress | Catat masuk | Kembali ke atas