小光 發問時間: 電腦與網際網路程式設計 · 1 0 年前

[討論]PHP增刪修資料庫 頁面切換(跳頁)處理的方式

PHP在增刪修資料庫時,你們都怎麼跳頁?

大家一起來討論哪些方式比較好吧!

或是如何改進比較好~

1) main_page.php -> add_page.php -> add_process.php

add_process.php 頁面處理完同時 script location to main_page.php

優點:能顯示成功訊息!

缺點:使用者按上一頁、下一頁會跳到add_process.php頁面

   有時會造成重複動作

2) main_page.php -> add_page.php -> add_process.php

add_process.php 頁面處理完同時 header location to main_page.php

優點:使用者按上一頁、下一頁不會影響到!

缺點:因為使用header location 無法顯示成功訊息!

3) main_page.php -> add_page.php

使用者按下新增鈕時 open.window 指向add_process.php頁面

處理完同時顯示成功訊息,並將主視窗location to main_page.php

再將自己視窗關閉

優點:使用者按上一頁、下一頁不會影響到,也能顯示成功訊息!

缺點:過程會跳出小視窗 即使將視窗隱藏工作列還是會顯示

   而且現在有快顯封鎖,不知會不會造成無法動作

以上是我用過的方式

想問問各位意見,和各位的跳頁方式!

2 個解答

評分
  • 1 0 年前
    最佳解答

    我比較喜歡使用一個主控頁面根據不同情況 require 進不同的 php

    再利用 flash session 的方式提示使用者

    if (isset($_GET['action') && $_GET['action'] == 'add') {

     if (isset($_POST['add'])) { // <input type="submit" name="add" value="Add" />

      /* ============= 表單送出時的處理程序

       處理完成之後,將訊息放在 $_SESSION['flash'] 裡

       之後 redirct to main page

      */

     } else {

      // 顯示新增表單

     }

    } else {

      /*======= main page 的列表頁面

       if (isset($_SESSION['flash'])) {

        echo $_SESSION['flash'];

        unset($_SESSION['flash']);

       }

       // 主要頁面所要顯示的東西

      */

    }

    如此一來,當 $_SESSION['flash'] 中沒有東西時

    我們還是能得到一個正常的 main page

    一旦得到新增完成的動作,main page 上方就會有提示訊息

    這個方式我也常一併的應用在表單驗證上

    差別在於沒 direct to main page 而已

    參考資料: 經驗
  • 1 0 年前

    任何方法都有利弊

    我在使用上一般會採用open.window 的方式

    比較不會干擾主頁面

    另外在 main_page.php -> add_page.php

    表單送出的時候 也可以不導向到 add_process.php 處理

    在原本 add_page.php 這支程式處理即可

    這樣也不會有您說的困擾

    參考資料: 網路程式設計師
還有問題?馬上發問,尋求解答。