Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Meredirect ke Halaman Tertentu di Aplikasi Web dari PHPMaker
Memanipulasi Elemen di Dalam Tabel pada Aplikasi Web dari PHPMaker
Mudahnya Menambahkan Validasi Sendiri di Aplikasi Web dari PHPMaker

Mudahnya Meredirect ke Halaman Tertentu di Aplikasi Web dari PHPMaker

Jum, 27 Juni 2014 oleh Masino Sinaga 25 Komentar

Pernahkah Anda sebagai Web Developer ingin mengarahkan (redirect) ke halaman tertentu dari suatu halaman di Aplikasi Web yang Anda bangun? Kadang-kadang, pasti ada kebutuhan untuk mengarahkan Pengguna ke halaman lain, atau bahkan tetap kembali halaman yang sama setelah suatu aktivitas baru saja dilakukan oleh Pengguna di sebuah halaman. Tergantung kepada kebutuhan atau business-logic yang ingin diterapkan.

Seperti yang kita ketahui, Aplikasi Web yang dihasilkan oleh PHPMaker secara standar akan me-redirect Pengguna ke halaman List setelah berhasil menambahkan data baru di halaman Add. Pertanyaannya, apakah kita sebagai Web Developer bisa menambahkan business-logic tertentu yang mengarahkan Pengguna kembali ke halaman yang sama daripada kembali ke halaman List?

Supaya lebih jelas, mari simak ilustrasi berikut. Katakanlah Pengguna A baru saja selesai menambah data di halaman Add. Pada kondisi yang standar, maka Pengguna tadi akan otomatis diarahkan ke halaman List setelah berhasil menambah data yang baru tadi. Jika Pengguna ingin menambah data baru lainnya, maka dia harus mengklik link Add untuk membuka atau kembali ke halaman tadi.

Kemudian, Anda sebagai Web Developer ingin menerapkan business-logic yang mengubah redirect tadi, dari semula ke halaman List, menjadi diarahkan kembali ke halaman yang sama, yaitu halaman Add setelah Pengguna berhasil menambah data baru. Tujuannya jelas, supaya Pengguna dapat langsung menambah data baru lainnya tanpa harus melakukan klik tambahan untuk membuka halaman Add di halaman List.

Kondisi itu bisa diatasi oleh PHPMaker dengan sangat mudah. PHPMaker sudah menyediakan sebuah server event yang bernama Page_Redirecting. Server event ini akan dipanggil sebelum mengarahkan ke halaman yang lain. Argumen dari server event ini adalah URL tujuan yang akan diarahkan.

Dari contoh di atas tadi, maka Anda sebagai Web Developer cukup hanya menambahkan kode berikut ke dalam server event Page_Redirecting yang terdapat di bawah lokasi Server Events -> Table-Specific -> Add/Copy Page:

// Page Redirecting event
function Page_Redirecting(&$url) {
	// Example:
	//$url = "your URL";
	if ($this->CurrentAction == "A") {
		$url = "ordersadd.php";
	}

}

Untuk memastikan bahwa Pengguna telah selesai menginput data baru di halaman Add tersebut, maka kita harus menambahkan pemeriksaan kondisi dengan memanggil member dari class Table yang bernama CurrentAction dan memastikan nilainya adalah A.

Jika pemeriksaan kondisi tersebut tidak kita tambahkan, maka akan mengakibatkan sistem selalu terjebak dengan looping ke halaman Add, sehingga menimbulkan error redirect yang tidak sempurna yang dikembalikan dari browser. Mengapa? Karena server event ini juga dipanggil ketika halaman Add telah selesai dimuat oleh sistem melalui method Page_Terminate milik class Table atau Page.

Dengan cara yang sama tersebut, maka Anda sebagai Web Developer dapat dengan mudahnya menambahkan kondisi tertentu di halaman lainnya sesuai dengan kebutuhan.

See? Betapa mudahnya kita sebagai Web Developer dapat menerapkan business-logic tertentu di Aplikasi Web yang dihasilkan oleh PHPMaker dengan sangat cepat. 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:Page_Redirecting, Page_Terminate, PHPMaker Indonesia, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com, ilovephpmaker.com, dan phpmakerprojects.com.

Memanipulasi Elemen di Dalam Tabel pada Aplikasi Web dari PHPMaker
Mudahnya Menambahkan Validasi Sendiri di Aplikasi Web dari PHPMaker

Komentar

  1. Cak Sobri mengatakan

    Sen, 30 Juni 2014 pada 9:12 am

    Saya masih bingung ini om, saya baca berulang-ulang belum faham 😀

    if ($this->CurrentAction == “A”)

    sebenarnya A itu apa ?

    Balas
    • Masino Sinaga mengatakan

      Sen, 30 Juni 2014 pada 9:21 am

      Nilai A itu merupakan singkatan dari Add, yaitu semacam flag yang menandakan bahwa sebelumnya sudah terjadi proses penambahan data.

      Pemeriksaan ini untuk memastikan bahwa sebelumnya sistem sudah berhasil menambahkan data baru, sehingga ketika halaman ordersadd.php tersebut di-submit dan dimuat ulang oleh sistem, maka dia tidak akan di-redirect ke halaman List, tapi tetap berada di halaman ordersadd.php.

      Balas
      • Cak Sobri mengatakan

        Sen, 30 Juni 2014 pada 9:42 am

        Berarti tidak bisa dirubah alias rumus ? Kalo untuk halaman edit apa ada om ?

        Balas
        • Masino Sinaga mengatakan

          Sen, 30 Juni 2014 pada 10:30 am

          Untuk halaman Edit, nilainya: U yang merupakan singkatan dari Update.

          Balas
  2. Heru Dian Herlambang mengatakan

    Sel, 13 September 2016 pada 5:20 pm

    untuk bisa di arahkan ke master/detail edit setelah update record gimana mas misalnya

    “masteredit.php?showdetail=detail&PRIMARY=xxx” ?

    Balas
    • Masino Sinaga mengatakan

      Sen, 19 September 2016 pada 2:39 pm

      Mirip seperti yang dibahas di artikel atas, tapi nilai CurrentAction untuk update record adalah U.

      Balas
  3. Adhi mengatakan

    Sab, 15 April 2017 pada 10:06 am

    Pagi Pak Masino..

    Mau nanya, saya mau redirect halaman master detail view (ex url: /receipt_detaillist.php?showmaster=receipt_header&fk_id=4 ) ke halaman export print (ex url: ‘receipt_detaillist.php?export=print’), di event manakah saya harus memasukkan event redirect halaman?
    Dikarenakan kalau user harus ke halaman view dulu, terus baru klik print, trus klik print lagi sepertinya kurang efisien..

    Terima kasih Pak…

    Balas
    • Masino Sinaga mengatakan

      Sab, 15 April 2017 pada 5:33 pm

      Tergantung Anda ingin mengubah URL itu di bagian mana. Apakah di item menu, di dalam halaman tertentu, atau setelah event tertentu yang terjadi?

      Balas
  4. Bayu mengatakan

    Kam, 5 September 2019 pada 6:45 pm

    Halo Bang Masino,

    Saya pakai pageredirecting

    if ($this->CurrentAction == “A”) {
    $url = “tr_processedit.php?showdetail=tr_process_detail&id=”.urlencode($this->id->CurrentValue);
    }

    Kemudian saya juga punya coding di Row_Inserting.
    Jika ada kondisi salah maka return FALSE dan menampilkan Failure Message.

    Nah, anehnya, jiga return FALSE, page tidak menampilkan failuremessage, melainkan langsung ke halaman List.

    Makasih Bang.

    Balas
    • Bayu mengatakan

      Kam, 5 September 2019 pada 6:47 pm

      Itu kenapa ya Bang? Kalau saya hilangkan pageredirecting, failure message-nya muncul.
      Apakah ada kondisi di pageredirecting atau gimana ya?

      Balas
      • Masino Sinaga mengatakan

        Jum, 11 Oktober 2019 pada 10:46 am

        Iya, seharusnya tidak perlu menggunakan PageRedirecting tadi. Cukup panggil methode terminate milik object Page di dalam server event Row_Inserted jika ingin me-redirect ke halaman lain setelah data berhasil ditambahkan.

        Balas
        • Bayu mengatakan

          Sab, 14 Desember 2019 pada 2:51 pm

          Bang, Makasih banyak. Mangstaf. Sukses Bang.

          $url = “…”;
          $this->Page_Terminate($url);

          Balas
          • liekin mengatakan

            Sel, 11 Februari 2020 pada 6:34 pm

            Jadi code nya apa Bang, jika false tetap keluar failure mesaage dan diredirect ke page lain (tidak kembali ke page edit tadi)

            Balas
            • Masino Sinaga mengatakan

              Sab, 15 Februari 2020 pada 3:01 pm

              Kalau di PHPMaker 2020:

              $this->terminate("halamananda.php");
              
              Balas
    • Masino Sinaga mengatakan

      Jum, 11 Oktober 2019 pada 10:44 am

      Jadi, pertanyaannya apa nih? Hehehe… 😉

      Balas
  5. Bayu mengatakan

    Rab, 13 Mei 2020 pada 11:28 am

    Bang Masino,

    Saya bikin di Row_Inserted : $this->terminate(“halamananda.php”);
    Itu running di current page.

    Nah, kalau pada saat yang bersamaan (saat save), saya mau buka link di new tab, gimana codenya?
    Saya udah coba nambahin : window.open(“halamananda.php”); malah error

    Terima kasih.

    Balas
    • Masino Sinaga mengatakan

      Ming, 24 Mei 2020 pada 7:39 pm

      Sayangnya kode itu hanya menampilkan halamananda.php pada tab yang sama. Jadi, tidak bisa membuka di tab yang baru.

      Balas
  6. hanif mengatakan

    Kam, 6 Agustus 2020 pada 2:24 pm

    pak masino, saya kan punya file dataadd.php nah mau saya setelah mensubmit data add itu langsung ke barangadd.php

    jadi saya ketikkan begini

    // Page Redirecting event
    function Page_Redirecting(&$url) {
        // Example:
        //$url = "your URL";
        if ($this->CurrentAction == "A") {
            $url = "barangadd.php";
        }
     
    }
    

    tetapi yang terjadi setelah menambahkan data malah kembali ke page yang dataadd.php
    itu bagaimana ya pak menyelesaikannya? apakah code nya lain kalo ke file yang lain?

    terimakasih

    Balas
    • Masino Sinaga mengatakan

      Kam, 6 Agustus 2020 pada 5:52 pm

      Kalau pakai PHPMaker 2020, cukup tambahkan kode ini ke dalam server event Row_Inserted (tidak perlu menggunakan kode di atas):

      $this->terminate("barangadd.php");
      
      Balas
  7. bagus mengatakan

    Kam, 29 April 2021 pada 4:33 pm

    kalo buka menu langsung mode add data, bukan tabel list. bagaimana cara nya bang ? bisa seperti diataskah ? thanks

    Balas
    • Masino Sinaga mengatakan

      Jum, 30 April 2021 pada 8:13 am

      Bukanya dari mana? Klik dari item menu kah?

      Balas
      • bagus mengatakan

        Jum, 30 April 2021 pada 5:06 pm

        iya bang dari menu yang di kiri itu. biasa kan kalo normal langsung di klik tampil tabel list. nah maunya langsung tampil halaman add. thanks

        Balas
        • Masino Sinaga mengatakan

          Sab, 1 Mei 2021 pada 11:59 am

          Anda bisa menggunakan server event MenuItem_Adding.

          Silahkan baca topik Server Events and Client Scripts dari menu Help PHPMaker untuk info dan contoh lebih lanjut.

          Balas
  8. Eka Dalas Pangestu mengatakan

    Sel, 15 Februari 2022 pada 8:47 am

    Kalo kita buat custom button agar bisa redirect ke halaman yang kita custom juga itu seperti apa yang pak masino ?
    Terima Kaish

    Balas
    • Masino Sinaga mengatakan

      Kam, 17 Februari 2022 pada 10:33 am

      Bisa pakai link dengan class btn untuk tampilan button, lalu arahkan link-nya ke halaman tujuan.

      Balas

Tinggalkan Balasan ke Masino Sinaga 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

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download!
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Review PHPMaker 2024
  • Mudahnya Mengunci Record dengan Javascript Count Down di PHPMaker 2023
  • Ini Alasan Kenapa Kalian Harus Beralih ke PHP 8

Menu

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

Komentar Terbaru

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download! – Masino Sinaga pada Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Custom Domain URL di Masino Extensions untuk PHPMaker 2020
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Membatasi Akses Versi Live dan Versi Development Aplikasi Web dari PHPMaker
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Nomor Urut Record di Export Data pada PHPMaker 2020 dan PHPMaker 2021
  • Masino Sinaga pada Review PHPMaker 2024

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

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