Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「[1062] PHP7入門」目錄
MarkDown
7-7 .gitignore
1. 建構開發環境與系統規劃
1-1 Visual Studio Code編輯器完整設定
1-2 各種訊息整理
1-3 test.php
1-4 index.php
1-5 templates/index.tpl
2. 寫入資料到資料庫
2-1 templates/index.tpl
2-2 templates/admin.tpl
2-3 css/my.css
2-4 admin.php
3. 資料庫讀取與程式的整併
3-1 admin.php
3-2 index.php
3-3 function.php
3-4 templtes/index.tpl
4. 加入登入及管理功能
4-1 header.php
4-2 footer.php
4-3 index.php
4-4 admin.php
4-5 templtes/header.tpl
4-6 templtes/footer.tpl
4-7 templtes/index.tpl
4-8 templtes/admin.tpl
4-9 templates/op_show_article.tpl
4-10 templates/op_list_article.tpl
4-11 css/my.css
4-12 signup.php
4-13 templtes/signup.tpl
5. 編輯器及上傳縮圖
5-1 includes/mailsender.php
5-2 config.php
5-3 verifyuser.php
5-4 signup.php
5-5 header.php
5-6 admin.php
5-7 main_login.php
5-8 loginheader.php
5-9 index.php
5-10 css/my.css
5-11 templates/nav.tpl
5-12 templates/admin.tpl
5-13 templates/index.tpl
5-14 templates/signup.tpl
5-15 templates/verifyuser.tpl
5-16 templates/main_login.tpl
5-17 templates/op_article_form.tpl
5-18 ckeditor/config.js
5-19 elFinder/elfinder_cke.php
6. 使用上傳物件及管理功能
6-1 admin.php
6-2 index.php
6-3 templates/nav.tpl
6-4 templates/index.tpl
6-5 templates/admin.tpl
6-6 templates/footer.tpl
6-7 templates/op_article_form.tpl
6-8 templates/op_list_article.tpl
6-9 templates/op_show_article.tpl
6-10 css/my.css
6-11 reporter.sql
7. 多人合作開發
7-1 admin.php
7-2 index.php
7-3 function.php
7-4 templates/op_modify_article.tpl
7-5 templates/op_article_form.tpl
7-6 templates/op_modify_article.tpl
7-7 .gitignore
8. 文章分頁及搜尋
8-1 index.php
8-2 function.php
8-3 PageBar.php
8-4 search.php
8-5 css/my.css
8-6 templates/op_show_article.tpl
8-7 templates/op_list_article.tpl
8-8 templates/nav.tpl
8-9 templates/search.tpl
8-10 templates/op_search_article.tpl
8-11 templates/op_search_form.tpl
9. JOIN資料表及寄信功能
9-1 search.php
9-2 function.php
9-3 admin.php
9-4 templates/op_search_article.tpl
9-5 templates/op_show_article.tpl
8-1 index.php
\[1062\] PHP7入門 =============== ### 一、 Git總整理 1. [安裝git](https://git-scm.com/download/win):如此VSCode的原始檔控制就有作用(本地端git,自己做版本控制) 2. [申請github帳號](https://github.com/join?source=header):進一步備份並進行多人開發 3. [安裝gitkraken](https://www.gitkraken.com/) 或[github desktop](https://desktop.github.com/)有圖形直覺界面可用,和GitHub互動更簡單。 4. **自己尚無Git專案,想要建個專案到GitHub上:** - (1) 海怪→File→Init Repo→Local Only,在自己電腦上弄個git專案 - (2) 到GitHub.com去開一個新的儲存庫new repository,然後複製畫面上的「git remote add origin https://github.com/tadlearn/xxx.git」指令 - (3) 海怪→File→Open Terminal,然後在終端機貼上剛剛的指令,以串連 github - (4) 海怪→Stage all changes→輸入摘要→commit提交→push上自己的github - (5) 1~3只要做一次,以後都是進行4而已。 5. **GitHub上已有自己的專案,但自己電腦中沒有(換不同電腦時):** - (1) 海怪→File→Clone Repo→GitHub.com→設好路徑→選要複製的專案→送出即可。 - (2) 海怪→Stage all changes→輸入摘要→commit提交→push上自己的github - (3) 1只要做一次,以後都是進行2而已。 6. **Fork他人專案(算是專案貢獻者):** - (1) 到GitHub.com去找到心儀的專案→按Fork - (2) 海怪→File→Clone Repo→GitHub.com→設好路徑→選要複製的專案→送出即可。 - (3) 海怪→Stage all changes→輸入摘要→commit提交→push上自己的github - (4) 海怪→PULL REQUESTS→從自己到原專案→送出合併請求,等原專案管理員合併。 - (5) 1-2只要做一次,以後都是進行3-4而已。 7. **Fork他人的專案,當主專案有異動時,想同步主專案:** - (1) 到自己的GitHub.com找到該Fork專案→Pull request→switching the base 切換比對方向(比對主專案到底和我Fork的專案的差異有哪些) - (2) Create pull request建立下載請求→Merge pull request如此便合併完成 - (3) 海怪→Pull下載到自己電腦專案中,日後就不斷重複上面的3-4或者這裡的1-2 8. **他人專案的共同開發者(通常是被邀請或一起開發):** - (1) 海怪→File→Clone Repo→GitHub.com→設好路徑→選要複製的專案→送出即可。 - (2) 海怪→Stage all changes→輸入摘要→commit提交→push上自己的github - (3) 海怪→Pull下載異動到自己電腦專案中 - (4) 1只要做一次,以後都是進行2-3而已。 ### 二、 發布到學生練習主機空間(
) 1. 申請後,您的網站網址為:「http://stu.tncomu.tn.edu.tw/~帳號」 2. 資料庫和FTP帳號、密碼是一樣的!上傳時建議用 22 port 3.
可登入進行資料庫管理,匯入sql檔 4. 修改`template_c`、`uploads`、`elFinder/files`的權限為777(瀏覽器可寫入) 5. 上傳後,修改`setup.php`的設定即可。 ### 三、 關於錯誤訊息 1. `error_reporting(0)`; 可以關閉所有錯誤訊習。 2. `error_reporting(E_ERROR | E_WARNING | E_PARSE);` //notice訊息不要出現 3. 詳細可見:
### 四、 分頁工具 1. 將[分頁class檔`PageBar.php`](https://www.tad0616.net/uploads/tad_book3/file/43/PageBar.zip)放到專案目錄下,將底下語法放在原有的 `$sql` 和 `$result` 之間! 2. 原始的`$sql`不可加`limit`語法!`$bar`(分頁工具列)和`$total`(總數量)可自行套到樣板。 ``` include_once "PageBar.php"; $PageBar = getPageBar($db, $sql, 5, 10); $bar = $PageBar['bar']; $sql = $PageBar['sql']; $total = $PageBar['total']; ``` 3. `getPageBar($資料庫物件, $sql語法, $顯示資料數 = 20, $工具列呈現的頁數 = 10, $要連結頁面 = "", $額外的連結參數 = "");` ### 五、 上下頁的作法 1. 先確定排序方式,例如:依update\_time日期排序,從大到小(新到舊) 2. 第一筆定義:最大(新)日期的文章 3. 下一筆定義:比現有文章日期小一點的文章,即:抓出「文章日期<目前文章日期」的資料,故先找出<目前文章日期的所有文章,抓日期最大的那一筆(大→小排序抓一筆)。如: ``` SELECT * FROM `article` WHERE `update_time` < '{$data['update_time']}' ORDER BY `update_time` DESC LIMIT 0,1 ``` 4. 上一筆定義:比現有文章日期大一點的文章,即:抓出「文章日期>目前文章日期」的資料,故先找出>目前文章日期的所有文章,抓日期最小的那一筆(小→大排序抓一筆)。如: ``` SELECT * FROM `article` WHERE `update_time` > '{$data['update_time']}' ORDER BY `update_time` LIMIT 0,1 ``` ### 六、 安裝ckeditor外掛 1.
2. 下載,解壓,將`autogrow`資料夾放到`ckeditor/plugins`下 3. 編輯`ckeditor\config.js`,加入:`config.extraPlugins = 'autogrow';` 即可 ### 七、 多重搜尋 1. 搜尋一般用`like`語法,`%`是萬用字元,代表任何字,如: ``` $sql = "SELECT * FROM `article` WHERE `title` LIKE '%{$keyword}%' OR `content` LIKE '%{$keyword}%' ORDER BY `update_time` DESC"; ``` 2. 多重搜尋在於關鍵字的處理,例如空白、`and`或`or`要如何抓出套用。在此,我們僅用空白,代表`or`,以簡化流程。 [explode()](http://php.net/explode)用來拆解,[implode()](http://php.net/implode)用來合併。 ``` $keyword_arr = explode(' ', $keyword); $key_arr = array(); foreach ($keyword_arr as $word) { if (!empty($word)) { $key_arr[] = "(`title` LIKE '%{$word}%' OR `content` LIKE '%{$word}%')"; } } $query = implode(' OR ', $key_arr); ``` 3. 此外,表單一般都用get方法來傳遞變數居多 4. 若想將font-awsome用到`placeholder`中,可以套用其編碼及字型,編碼請參見:
```
```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
118
人線上 (
54
人在瀏覽
線上書籍
)
會員: 0
訪客: 118
更多…