:::

11. 重新調整流程

一、調整流程

  1. 首先,先更新一下 index.php 的流程,在 default 的地方,我們根據 $action_id 來判斷是要讀出指定的活動,還是取得所有活動列表。
    $action_id = isset($_REQUEST['action_id']) ? intval($_REQUEST['action_id']) : '';
    switch ($op) {
        case 'regist':
            break;
    
        case 'login':
            login();
            header("location:{$_SERVER['PHP_SELF']}");
            exit;
    
        case "logout":
            logout();
            header("location:{$_SERVER['PHP_SELF']}");
            exit;
    
        case "save_regist":
            save_regist();
            header("location:{$_SERVER['PHP_SELF']}");
            exit;
    
        default:
            if ($action_id) {
                $op      = 'show_action';
                show_action($action_id);
            } else {
                $op      = 'list_action';
                list_action();
            }
            break;
    }
  2. 由於流程中會用到 $action_id,我們確定 $action_id 是個編號,所以,利用 intval() 去過濾之,並且接收來自任何方法的 $action_id,故用 $_REQUEST['action_id']。

  3. 由於頁尾檔有送 $op 直到樣板,因此,目前在進行的任何一個動作最好都有一個 op 值,故,我們在 default 中,針對那兩個函數各給一個 $op 值,以便樣板可以辨識目前要出現的內容為何。

  4. show_action($action_id) 及 list_action() 為什麼沒有傳回 $content?因為我們打算直接把內容,用樣板變數分別直接傳給樣板,所以,在此就不同一做出結果再傳回,而是直接送給樣板來處理,這樣會版面設計會更彈性。

  5. 此外,原本還有一個 op 是 regist,用來註冊用,在此,也要多一組設定。因為若沒有設定,switch會自動跑去 default,由於沒有編號,所以 op 會變成 list_action,如此,使用者將永遠看不到註冊表單。

 


:::

書籍目錄

展開 | 闔起

http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D27%26tbdsn%3D742

計數器

今天: 4213421342134213
昨天: 3438343834383438
總計: 7394542739454273945427394542739454273945427394542