Toggle main menu visibility
下載輕鬆架
套件下載
使用手冊
發問討論
網站地圖
:::
登入
登入
帳號
密碼
登入
:::
所有書籍
「PHP7 入門研習」目錄
MarkDown
14-2 新增分頁
1. 寫在開始之前
1-1 安裝開發環境
1-2 上課範例及需求
2. PHP基本語法
2-1 註解
2-2 PHP資訊頁
2-3 建立專案目錄
3. 套用Smarty樣板
3-1 使用 Smarty
4. 前端操作界面
4-1 BootStrap 基礎排版
4-2 設計登入面板
4-3 登入表單
4-4 讓sublime自動排版
4-5 引入樣板檔
5. 判斷是否登入
5-1 接收變數
5-2 設定管理密碼
5-3 過濾變數
5-4 if 判斷式
5-5 用 $op 及 switch 迴圈來做流程控制
5-6 檢查帳號密碼
5-7 登入後,畫面應有的變化
6. 把程式片段打包成函數
6-1 資料類型
6-2 PHP常用運算符(子)
7. 資料庫規劃
7-1 常用資料庫的欄位類型
8. 增加註冊機制
8-1 連上資料庫
8-2 新增使用者到資料庫
8-3 註冊哪有這麼簡單!
8-4 異常處理
9. 從資料庫中讀取資料的方法
9-1 改寫 login()
9-2 改寫工具列
10. 製作活動管理頁面
10-1 製作頁首、頁尾檔
10-2 用物件來做表單
10-3 寫入活動到資料庫
11. 重新調整流程
11-1 列出所有活動
11-2 列出單一活動
12. 加入管理功能
12-1 執行修改
12-2 加入刪除功能
12-3 確認後刪除
13. 加入報名功能
13-1 怎樣才叫做已經報名?
13-2 列出已報名名單
13-3 同時讀取兩個資料表
13-4 報名過後,就不可再報
13-5 取消報名
14. 開始處理小細節
14-1 過期活動不該顯示出來
14-2 新增分頁
14-3 個資保護
14-4 刪除活動得同時刪除報名者
14-5 寄發通知信
15. 我參加的活動
14-4 刪除活動得同時刪除報名者
PHP7 入門研習 ========= 1. 其實這個系統沒有個資問題 2. 不過,在這個不理性的時代,還是得做做樣子來杜攸攸之口。 3. 本系統要處理的大概就是已報名名單的部份。 4. 名字若是三個字的,中間用O來取代,Email部份,僅留 @ 左邊帳號部份。 ### 一、修改 list\_signup() 函數 1. 我們的名單是在 index.php 中的 list\_signup() 函數中產生的,所以,從源頭動手腳(從樣板其實也可以,但麻煩了些)。 ``` //已報名名單 function list_signup($action_id) { global $db, $smarty; $sql = "SELECT a.*, b.* FROM `signups` AS a JOIN `users` as b ON a.`uid` = b.`uid` WHERE a.`action_id` = '{$action_id}'"; if (!$result = $db->query($sql)) { throw new Exception($db->error); } $signups = []; while ($signup = $result->fetch_assoc()) { if (!isset($_SESSION['group']) or $_SESSION['group'] != 'admin') { //姓名中字取代 $len = strlen($signup['name']); if ($len > 6) { $target = substr($signup['name'], 3, 3); $signup['name'] = str_replace($target, '○', $signup['name']); } //email取代 preg_match("/(.+?)\@(.+?)\.(.+?)$/", $signup['email'], $em); $signup['email'] = "{$em[1]}@" . str_repeat("x", strlen($em[2])) . ".{$em[3]}"; } $signups[] = $signup; } $smarty->assign('signups', $signups); } ``` ### 二、中文字的取代 1. 先看姓名部份,首先,要兩個字以上才處理,故用 [strlen('文字')](http://php.net/manual/en/function.strlen.php) 來抓姓名長度,一個 UTF-8 中文字是 3 byte,所以,只要超過 6,就代表姓名是三個字以上。 2. [substr('文字', 起始位置, 長度) ](http://php.net/manual/en/function.substr.php)是用來抓取部份字串的,第二個參數是抓取的起始位置,第一個中文字位置是 0~2,第二個字就是從 3~5。故起始位置設為 3,第三個參數則是抓取長度,剛剛說了,一個中文字 3 byte,所以,設成 3 代表抓一個中文字。如此設定下來,就是抓出第二個字的意思,以「吳弘凱」來說,抓出來的就是「弘」。 3. [str\_replace('搜尋', '取代', '文字')](http://php.net/manual/en/function.str-replace.php) 則是用來取代字串的,我們把找到的第二個中文字,用個其他符號取代之。 ### 三、Email的取代 1. [preg\_match('/正規表達式/', '文字' , $結果) ](http://php.net/manual/en/function.preg-match.php)這個用法就比較高深一點,首先您要給它一個[正規表達式](https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F),然後,該函數會去搜尋第二個參數中,符合這個正規表達式的內容有哪幾個,然後依序存入「結果」中。 2. $結果\[0\]是原字串,$結果\[1\]則是第一個符合正規表達式的字串,依此類推。 -
. 表示任意字元(不包括換行符號)
-
+ 修飾前面一個
字元,
限定數量是一個或者多個,但預設會儘可能匹配更長的字符串(貪婪匹配)
-
+ 後面再來個 ? 就表示用非貪婪匹配。
舉個例子:假設字串 「\*abc\*abc\*」, 如果有 ?,那麼匹配到的就是 \*abc\*,如果沒有,匹配到的就是整個字串,因為 . 也可以匹配到 \*.
3. 至於完整正規表達式...就留給外星人去解讀吧。 4. [str\_repeat('字串', 次數)](http://php.net/manual/en/function.str-repeat.php) 是用來重複字串的用,我們把@右邊的網域,例如 gmail 取代成 xxxxx 這個樣子。
:::
書籍目錄
展開
|
闔起
快速登入
所有討論區
Tad Search 資料查詢
懶人框架討論區
實戰PHP7+MySQL
XOOPS輕鬆架快速上手
校園網站輕鬆架一般討論區
Booking Helper 預約助手
es_stud_sign 班級報名
es charge 學生收費管理
E-Stud import 學生名冊管理
es_after_school 課後照顧報名
es_exam 學生作業繳交
ES_panel 校務行政面板
es_timetable 課表
ES_youtube 本校影音
info_whats 網路設備記錄
jill booking 場地預約
jill_notice 臨時公告
jill query 簡易查詢
jill receipt 領據填報
kw club 社團報名
kw device 設備借用管理系統
ntpc_oprnid 新北市 OpenID 登入
TinyD嵌入內容模組
ugm contact us 聯絡我們
ugm page 自訂頁面
ugm table 萬用表格
Yaoh Servicelearning 服務學習管理系統
dummy 自訂模組
soone_submit 投稿模組
Tad Adm 站長工具箱
Tad Assignment 作業上傳展示模組
Tad Blocks 進階區塊管理
Tad Book3 線上書籍
Tad Cal 行事曆
Tad Cbox 即時留言簿
Tad Discuss 討論區模組
Tad Embed 崁入模組
Tad Evaluation 評鑑檔案管理
Tad Form 萬用表單模組
Tad FAQ 常見問答
Tad Google 相簿
Tad Gallery 電子相簿
Tad Guide 安裝精靈
Tad Honor 榮譽榜
Tad idioms 背背成語
Tad Link 好站連結
Tad Login 快速登入
Tad Lunch3 午餐資訊
Tad Lunch2 營養午餐公告
Tad Meeting 會議系統
Tad Merage 線上合併套印
Tad News 本站消息
Tad Player 影音播放
Tad RSS 友站新聞
Tad Repair 維修通報
Tad SiteMap網站地圖
Tad Timeline 重要紀事
Tad Themes 佈景管理
Tad Tools 工具包
Tad TV 直播電視
Tad Uploader 檔案上傳模組
Tad Users 大量會員管理
Tad Web 多人網頁模組
MyTabs 我的頁籤
Random Quote 隨機小語
LogCounterX 網站流量統計
Yaoh light 多區塊多層次跑馬燈模組
校園網站輕鬆架功能建議區
佈景討論區
即時留言簿
search
進階搜尋
計數器
今天:
昨天:
總計: