:::

2-3-1 解析建立活動表單的方法

您沒有觀看影片的權限

您沒有觀看影片的權限

請先登入,登入後,確認您的權限後,即可觀看影片。

  1. 新增活動的連結為 index.php?op=tad_signup_actions_create,代表 index.php 會收到 $_GET['op']=tad_signup_actions_create
  2. switch 中要有這段設定(沒有請新增):
    //新增表單
    case 'tad_signup_actions_create':
        Tad_signup_actions::create();
        break;

     

  3. Tad_signup_actions::create() 意味著會執行 class/Tad_signup_actions.php Tad_signup_actions 類別的 create()方法
  4. 請注意裡面的 $xoopsTpl->assign() 有哪些,表示我們可以在樣板用的標籤就有哪些。
    //編輯表單
    public static function create($id = '')
    {
        global $xoopsTpl;
    
        //抓取預設值
        $db_values = empty($id) ? [] : self::get($id);
    
        foreach ($db_values as $col_name => $col_val) {
            $$col_name = $col_val;
            $xoopsTpl->assign($col_name, $col_val);
        }
    
        $op = empty($id) ? "tad_signup_actions_store" : "tad_signup_actions_update";
        $xoopsTpl->assign('next_op', $op);
    
        //套用formValidator驗證機制
        $formValidator = new FormValidator("#myForm", true);
        $formValidator->render();
    
        //加入Token安全機制
        include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
        $token = new \XoopsFormHiddenToken();
        $token_form = $token->render();
        $xoopsTpl->assign("token_form", $token_form);
    }

    其實目前不呼叫 create() 也是幾乎沒有任何影響

  5. 加入Token安全機制的用法挺固定,是XOOPS內建用法,用來避免表單被偽造(很重要)。
    //加入Token安全機制
    include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
    $token = new \XoopsFormHiddenToken();
    $token_form = $token->render();

     

  6. FormValidator 則是放在tadtools的工具,用來進行表單驗證用的。
  7. 可以參考:https://www.tad0616.net/modules/tad_book3/page.php?tbsn=15&tbdsn=402

link to https://github.com/tadlearn/tad_signup/commit/0592001f0ab8434d1bc783f680c7fcd2c1702411 \


:::

搜尋

QR Code 區塊

https%3A%2F%2Ftad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1599%26tbsn%3D48

書籍目錄

展開 | 闔起

線上使用者

30人線上 (8人在瀏覽線上書籍)

會員: 0

訪客: 30

更多…