:::

10-3 儲存學生投稿稿件

  1. 儲存的$op值為submission_data_store,會送至index.php,故會執行index.php的這段流程。
  2. 在轉向部份,記得加上op=submission_data_show,這樣才會顯示學生投稿,而非顯示投稿主題。
    //新增資料
    case 'submission_data_store':
        $id = Submission_data::store();
        header("location: {$_SERVER['PHP_SELF']}?op=submission_data_show&id=$id");
        exit;
  3. 修改class/Submission_data.phpstore(),然後擷取出投稿主題的投稿密碼,並比對輸入的密碼,若是不同,則轉向離開。審核時間務必註解掉,另外,亦可加入投稿的最後更新時間。
    //新增資料到 submission_data Submission_data::store()
    public static function store($data_arr = [])
    {
        global $xoopsDB, $xoopsUser;
        //Tools::chk_is_adm('', '', __FILE__, __LINE__);
    
        //XOOPS表單安全檢查
        if (empty($data_arr)) {
            Utility::xoops_security_check();
            $data_arr = $_POST;
        }
    
        $submission = Submission::get(['id' => $data_arr['submission_id']]);
        if (isset($submission['info']['pass_code'])) {
            if ($submission['info']['pass_code'] != $data_arr['pass_code']) {
                redirect_header($_SERVER['HTTP_REFERER'], 3, "投稿密碼錯誤");
            }
        }
        $data_arr['info']['latest_update'] = date("Y-m-d H:i:s", xoops_getUserTimestamp(time()));
    
        foreach ($data_arr as $key => $value) {
            $$key = Tools::filter($key, $value, 'write', self::$filter_arr);
        }
    
    
        $sql = "INSERT INTO `" . $xoopsDB->prefix("submission_data") . "` (
            `submission_id`,
            `name`,
            `grade`,
            `teacher`,
            `title`,
            `content`,
            `info`
        ) VALUES(
            '{$submission_id}',
            '{$name}',
            '{$grade}',
            '{$teacher}',
            '{$title}',
            '{$content}',
            '{$info}'
        )";
        $xoopsDB->queryF($sql) or Utility::web_error($sql);
    
        //取得最後新增資料的流水編號
        $id = $xoopsDB->getInsertId();
    
        if ($id) {
            $TadUpFiles = new TadUpFiles("submission");
            $TadUpFiles->set_col("submission_data_id", $id);
            $TadUpFiles->set_dir('subdir', "/{$submission_id}/{$id}");
            $TadUpFiles->upload_file('submission_data_files', '', '', '', '', true, false);
        }
        return $id;
    }

    檔案上傳的路徑,可以指定放到投稿主題編號下的文章編號,避免投稿者互相看到彼此的作品圖片


:::

書籍目錄

展開 | 闔起

快速登入


https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D2086%26tbsn%3D56

計數器

今天: 812812812
昨天: 1856185618561856
總計: 8776736877673687767368776736877673687767368776736