LiteSite/signup
出自六年制學程
用於調查、報名、連署
目錄
○、版本
- 2021.1:跨校選修學習需求調查
- 2020.10:海星共識營
- 2020.7:「不錯學群」新生面談預約
- 2020.6:「不錯學群」招生說明會
一、檔案清單
(一)程式列表
signupCommon.php 設定檔 signup.php 首次報名 signupE.php 修改報名資料,即依帳號選擇並維護個人資料 signupE.php?buttonWord=按鈕字樣 signupPerson.php 管理者看報名者一覽表 signupPersonR.php 公眾看報名者一覽表 signupComment.php 報名者意見留言,依不同的 siteGrp ,調整常數prefix,Doings,變數$ET->formType['commentCategory'] participantNotice.php 寄行前通知 showIntroduction.php 秀簡介
(二)近期使用
- 海星共識營報名:/EM/signupDoings
- 跨校選修學習需求調查:/NL/signupDoings
- 不錯學群報名及面談登記:/NL/signupDoings、signupDoings2
- 學前教育公共化研討會報名
- 部分班級實驗教育客廳會報名
二、signupCommon.php
(○)1~3表
連結資料庫:
- 靠 theme.php 連結資料庫
- 如果要使用預設資料庫之外的資料庫,才下「DB::connect("mysql://…");
三資料表:
- $tbl:人員資料表
- $tbll:關係資料表
- $tblo:關係資料表所連的另一主體資料表
(一)主程式
- 載入常數、布景直到連上資料庫
- 設定表名:$tbl=$prefix.'Signup'.$suffix;
- 安排欄屬性:
- 不使用欄:$dropField=array(…);
- 欄代名:$alias=array('欄名'=>'提示',…);
- 須查欄:$fields=array('欄名'=>'提示',…);由資料表衍生
- 必填欄:$mustField=array('欄名',…);
- mail欄:$emailField=array('欄名');
- 預設值欄:$defaultField=array('欄名'=>'預設值',…);
- 設定欄的 formType
- 是否欄:$radioyn=array('欄名',…);
- 核取欄:$checkbox=array('欄名',…);
- 隱藏欄:$hidden=array('欄名'=>'後送值',…);
- 多值欄:$bitCheckbox=array('欄名'=>array(值=>提示,…));
- 認證欄與認證條件:
- $idField
- $psdField
- $郵址
- $姓名
- $idKey:辨識欄=輸入值
- $idKeyE:辨識欄=輸入值 且 密碼欄=輸入值
- $tbll及$tblo相關諸欄
- 可套用選項:$options
- $options['職業屬性']
- $options['city']
- $options['device']
- $options['OS']
- $options['學校職務']
- $options['rule']
- phpmailer 路徑
- 設定提示字:
- $surveyTitle:整個調查、報名、連署的總名稱,如:跨校選修/「留下小孩唸書的錢,台灣才有翻身的希望」
- $FromName:通知的寄信人,如:丁志仁
- $mailHead:各項用\n間隔開,最後一項末尾也要加\n
- Content-Type: text/html; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- From: 丁志仁 <admin@science4everyone.net>
- $surveyExplain:表單之上文字,如:/為求連署有效,請以真實姓名,真實 Email 連署。
- $surveyShortTitle:signup的性質,如:選課/報名/調查/連署
- $surveyQueryTitle:各問題之上的抬頭,如:可選課程一覽表:/我要連署
- $surveySubmit:後送按鈕,如:選課/連署
- $surveyContact:聯絡人,如:'系統聯絡人:
林青高:0910100693 E-mail:inorganicom@gmail.com'; - $signupPeriod:報名截止時間,如:mktime(13,55,59,10,29,2019)
- $expiredMsg:報名截止後提示,如:報名時間已過
- $surveyR0Msg:報名成功頁面秀出文字,說明聯絡事宜。
- $surveyR1Msg:已報名過頁面秀出之提示字
- $surveyR2Msg:報名成功頁面秀出文字,說明 signup 已成功。
- $surveyR3Msg:寄通知之主旨
- $surveyR4Msg:寄通知之信文
- $surveyR5Msg:寄通知之寄件者
- $surveyE1Msg:驗證未通過之提示
- $surveyER0Msg:說明聯絡事宜
- $surveyER1Msg:修改成功頁面秀出文字
- $surveyER2Msg:寄修改通知之主旨
- $surveyER3Msg:寄修改通知之信文
- $surveyER4Msg:驗證未過之提示
- $n:通知計數上限,只能由此行改動,不准由 URL 輸入值
- $surveyN1Msg:行前通知互動提示,如:沒有需要發通知的人。
- $surveyN2Msg:行前通知主旨
- $surveyN3Msg:行前通知信文
- 調製調查問題 $surveyQuery=array()
- $str
- javascript
- 調查或報名相關說明
- 表單前半
- 函式 basicInformation
- 函式 surveyQuery
(二)$str
①javascript
- chkForm():
- 從必填欄中,檢查 email 及必填
- 檢查核取必填欄
- isEmail(待檢字串):檢查
- showHide(核取物件,顯隱物件ID):顯隱切換
②$surveyExplain
③form
- 導向自己的程式名
- name=調查表
④表前半部
- 跨三欄
- $surveyShortTitle
⑤表後半部
(三)basicInformation()
諸引數:
- $fields
- $dropField
- $mustField
- $fieldValue=array()
全域變數
- $str
- $radioyn
- $checkbox
- $hidden
- $options
- $checkField
- $alias
每一個$fields元素做一次,但排除用餐、住宿、交通、ip:
- 非隱藏欄須做提示,提示空字串不加「:」,必填欄加「*」
- $checkField做顯隱
- $checkbox後送1
- $bitCheckbox:1byte後送多值
- 提示為「性別」做男女 radio
- $radioyn做是否 radio
- 提示為「職業屬性、學校職務、行動裝置、作業系統、學生戶籍」套用選項,做 select
- 欄值為「city、role」套用選項,做 select
- 欄值為「idOfSchool」:即時追踪使用者輸入的字串,蒐索校名縮小範圍,選定之後送 sid
- $hidden後送設定值
- 其他做 input/text