Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「[1062] PHP7入門」目錄
MarkDown
5-19 elFinder/elfinder_cke.php
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
6-1 admin.php
\[1062\] PHP7入門 =============== ### [完整範例](https://www.tad0616.net/uploads/tad_book3/file/43/reporter_6.zip) ### 一、 加入文章發布者及封面圖 1. 修改發布加入 `username` 隱藏欄位 2. 資料表結構記得修改,多一欄`username` 3. 順便加入file上傳元件,表單記得加上: ``` enctype="multipart/form-data" ``` 4. 寫入時,加入username到SQL語法,並將上傳檔案複製到上傳目錄下。 5. `is_dir("uploads")`可以判斷是否為資料夾,並用`mkdir("uploads")`建立資料夾。 6. php.ini中關於檔案上傳的部份: - (1) file\_uploads=On:支持 HTTP 上傳 - (2) upload\_tmp\_dir="C:/UniServerZ/tmp":上傳檔案的暫存目錄 - (3) upload\_max\_filesize=12M:允許上傳檔案容量的上限 - (4) max\_file\_uploads=20:允許一次上傳的最大檔案數量 - (5) post\_max\_size=12M:表單發送資料容量的上限(需>=upload\_max\_filesize) - (6) max\_execution\_time=300:設定程式被解析器終止之前允許的最大執行時間,防止程式寫得不好而耗盡伺服器資源,單位: 秒(-1 為不限制)。 - (7) memory\_limit=128M:一個 Web 請求,給予該執行緒記憶體使用量的上限。 ### 二、 首頁文章縮圖摘要列表 1. 若要限制出現數量,可在讀出所有文章的SQL語法最後加入 ``` LIMIT 0,9 ``` 2. 隨機假圖:[https://picsum.photos/400/200?image={$article@index}](https://picsum.photos) 3. BS4圖片:
``` {assign var="cover" value="uploads/thumb_`$article.sn`.jpg"} {if file_exists($cover)}
{else}
{/if} ``` 4. 縮圖樣式部份:
``` img.cover { width: 100%; height: 200px; object-fit: cover; } ``` 5. 擷取摘要: ``` $all[$i]['summary'] = mb_substr(strip_tags($data['content']), 0, 60); ``` ### 三、 製作自適應選單 1. `
`的class改為 ``` navbar navbar-expand-md navbar-dark ``` 2. 加入縮小時的切換按鈕,其中` data-target`需對應下方選單內容 ```
``` 3. 加入網站logo ```
``` 4. 原有選項用以下語法包起來 ```
選單
``` 5. 子項目若需要分左右邊,可分別再包一層 ```
``` 6. 若需要讓選單固定住,可在`
`中加上`.sticky-top` 7.
### 四、 固定頁尾 1. 將原本說明文字加到頁尾,頁尾可用`.fixed-bottom`來固定住。 ```
電腦螢幕長頁尾
手機螢幕短頁尾
``` 2. 由於固定住會浮動並遮住部份內容,故可在頁尾上方多一個空白<div>,並設定其上方邊界距離,以撐出一個空間來放置頁尾。如: ``` ``` ``` .footer{ margin-top: 120px; } ``` ### 五、 加入刪除功能 1. 根據身份加入管理功能: ``` {if $smarty.session.username==$article.username}管理功能{/if} ``` 2. 加入刪除及修改按鈕(可加入`class="btn btn-danger"`做成按鈕): ```
刪除
修改
``` 3. 刪除的SQL語法: ``` DELETE FROM 資料表 WHERE 條件 ``` 4. 若要限制只能刪除自己的文章,可加入: ``` AND username='{$_SESSION['username']}' ``` 5. 別忘記刪除圖片 ``` if (file_exists("uploads/cover_{$sn}.jpg")) { unlink("uploads/cover_{$sn}.jpg"); unlink("uploads/thumb_{$sn}.jpg"); } ``` ### 六、 加入修改功能 1. 根據`$op`值,多一組 `article_form`的`case`設定,記得帶入`$sn`(須先變數過濾),並根據`$sn`取出原先填入內容,並塞到樣板檔中。 2. 回復表單元件的預設值,如: ```
{if $article.content}{$article.title}{/if}
``` 3. 記得根據不同狀態,改變不同op值(更新時務必記得帶sn值) ``` {if $article.sn}
{else}
{/if} ``` 4. 根據`$op`值,多一組`update `的`case`設定,記得帶入`$sn`,並根據`$sn`更新內容。 5. 更新的SQL語法: ``` UPDATE 資料表 SET 欄1='新值1', 欄2='新值2' WHERE 條件 ``` 6. 更新時,建立時間及計數器一般都不需要更新。 7. 和刪除一樣,若要限制只能更新自己的文章,可加入: ``` AND username='{$_SESSION['username']}' ``` 8. 可將上傳圖片的部份獨立成一個函數,以便新增和更新時呼叫使用。
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
146
人線上 (
98
人在瀏覽
線上書籍
)
會員: 0
訪客: 146
更多…