:::

13-1 怎樣才叫做已經報名?

一、先回顧一下報名的資料表

  1. 咱的資料表很簡單
    CREATE TABLE `signups` (
      `uid` smallint(5) unsigned NOT NULL COMMENT '使用者編號',
      `action_id` smallint(5) unsigned NOT NULL COMMENT '活動編號',
      `signup_date` datetime NOT NULL COMMENT '報名日期',
      PRIMARY KEY (`uid`,`action_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  2. 基本上只有三個欄位!

  3. 所謂報名,就是在這個表中多一筆紀錄,看是誰(uid),在什麼時候(signup_date),報了哪個活動(action_id)

  4. 基本上,此表沒有所謂審核的功能,有需要請自己加(研習哪來那麼多時間...)

二、加入報名函數

  1. 由於按鈕是連結到 index.php ,其 op 為 signup,所以,按照老方法,建流程,做函數。
  2. 修改流程,加入一組:
    case "signup":
        signup($action_id);
        header("location:{$_SERVER['PHP_SELF']}?action_id=$action_id");
        exit;
  3. 只要傳入編號即可,uid可以從 session抓,日期更是可直接由資料庫產生。

  4. 報名後,直接轉向該活動,我們希望可以在活動下方看到已經報名名單

三、製作報名函數

  1. 在 index.php 中新增 signup() 函數,新增報名資訊到 signups 中
    //報名
    function signup($action_id)
    {
        global $db;
    
        $uid = $_SESSION['uid'];
    
        $sql = "INSERT INTO `signups` ( `action_id`, `uid`, `signup_date`)
        VALUES ('{$action_id}', '{$uid}', NOW())";
        if (!$db->query($sql)) {
            throw new Exception($db->error);
        }
    }

     


:::

書籍目錄

展開 | 闔起

快速登入


http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D744%26tbsn%3D27

計數器

今天: 202202202
昨天: 8625862586258625
總計: 8030809803080980308098030809803080980308098030809