3-6-4
完成更新報名資料功能
您沒有觀看影片的權限
請先登入,登入後,確認您的權限後,即可觀看影片。
- 修改時,活動表單隱藏的 op 欄位值將會是
tad_signup_data_update
,意味著 index.php
的 switch()
需有以下這段流程:
//更新報名資料
case 'tad_signup_data_update':
Tad_signup_data::update($id);
// header("location: {$_SERVER['PHP_SELF']}?op=tad_signup_data_show&id=$id");
redirect_header($_SERVER['PHP_SELF'] . "?op=tad_signup_data_show&id=$id", 3, "成功修改報名資料!");
exit;
- 修改
class/Tad_signup_data.php
中的 Tad_signup_data
類別下的 update()
影片中資料庫大小寫不正確,一律改為小寫 prefix("tad_signup_data")
//更新某一筆資料
public static function update($id = '')
{
global $xoopsDB, $xoopsUser;
//XOOPS表單安全檢查
Utility::xoops_security_check();
$myts = \MyTextSanitizer::getInstance();
foreach ($_POST as $var_name => $var_val) {
$$var_name = $myts->addSlashes($var_val);
}
$action_id = (int) $action_id;
$uid = (int) $uid;
$now_uid = $xoopsUser ? $xoopsUser->uid() : 0;
$sql = "update `" . $xoopsDB->prefix("tad_signup_data") . "` set
`signup_date` = now()
where `id` = '$id' and `uid` = '$now_uid'";
if ($xoopsDB->queryF($sql)) {
$TadDataCenter = new TadDataCenter('tad_signup');
$TadDataCenter->set_col('id', $id);
$TadDataCenter->saveData();
} else {
Utility::web_error($sql, __FILE__, __LINE__);
}
return $id;
}
- 修改時,我們強制限制只有報名者本人登入才能修改
- 此外,也只有順利更新完報名基本資料後,才能更新報名表單資訊。
link to https://github.com/tadlearn/tad_signup/commit/f3e33379ebbc19ee97ea0d965a762715c1193c0c \