PHP 動態網站開發項目教程 (微課版)

牟奇春

  • 出版商: 人民郵電
  • 出版日期: 2024-08-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 246
  • 裝訂: 平裝
  • ISBN: 7115638381
  • ISBN-13: 9787115638380
  • 相關分類: PHP
  • 下單後立即進貨 (約4週~6週)

  • PHP 動態網站開發項目教程 (微課版)-preview-1
  • PHP 動態網站開發項目教程 (微課版)-preview-2
PHP 動態網站開發項目教程 (微課版)-preview-1

買這商品的人也買了...

商品描述

本書精選3個項目實例,將PHP和MySQL數據庫的相關知識點融入其中,帶領讀者從零開始編寫代碼,直到完成整個項目。通過學習本書,讀者將學會如何使用PHP配合MySQL數據庫實現數據的增、刪、改、查,從而能夠使用PHP和MySQL數據庫完成常用小型Web應用程序的編寫。

本書包含3個項目,分別是項目1“會員管理系統”、項目2“在線投票系統”、項目3“使用Laravel框架改寫會員管理系統”。前兩個項目採用面向過程的程序設計方式完成代碼編寫,第三個項目採用面向對象的程序設計方式,並使用PHP經典框架Laravel來完成代碼編寫。3個項目內容由淺入深,層層遞進。

本書是四川省精品在線開放課程“動態網站開發”的配套教材,在線上配備完整的教學視頻,並支持線上答疑。

作者簡介

牟奇春,成都职业技术学院教授,曾担任世界技能大赛(中国选拔赛)网站设计项目专家组成员和裁判,穗港澳蓉青年技能大赛专家组成员和裁判,从事职业教育20余年,主讲动态网站开发、uniapp混合开发等课程。在教学之余,和企业始终保持密切的合作关系,开发多个商业项目。近年来,发表中文核心期刊论文2篇,申请软件著作权12项,实用新型专利授权10项。主持省厅级重点项目2个,横向课题到帐经费10余万元,指导学生参加技能大赛获国家级奖项3项,省级奖项30余项。主持的课程“动态网站开发”,获批四川省精品在线开放课程,己完整开设8期,选课人数3万余人。

目錄大綱

目錄

項目1 會員管理系統

 

任務1

準備開發環境和編程

環境 1

情景導入 1

職業能力目標及素養目標 1

子任務1.1 配置PHP開發環境 2

【任務提出】 2

【知識儲備】 2

【任務實施】 2

1.1.1 安裝小皮面板 2

1.1.2 配置小皮面板 3

子任務1.2 使用PHP編程環境 5

【任務提出】 5

【知識儲備】 5

【任務實施】 6

1.2.1 PhpStorm的安裝和啟動 6

1.2.2 在小皮面板中配置網站 6

1.2.3 在PhpStorm中編輯文件和配置

服務器環境 6

【素養小貼士】 9

【任務小結】 9

【鞏固練習】 9

 

任務2

項目前端開發 10

情景導入 10

職業能力目標及素養目標 10

子任務2.1 項目開發前的準備工作 10

【任務提出】 10

【任務實施】 10

2.1.1 項目需求設定 10

2.1.2 PHP的發展歷史 12

【素養小貼士】 13

子任務2.2 創建首頁 13

【任務提出】 13

【任務實施】 13

2.2.1 創建項目 13

2.2.2 部署項目 15

子任務2.3 製作註冊頁面前端部分 16

【任務提出】 16

【任務實施】 17

2.3.1 創建文件 17

2.3.2 製作註冊頁面表單 17

2.3.3 設置表單控件name屬性 18

【知識儲備】 19

【任務小結】 19

【鞏固練習】 19

 

任務3

會員管理系統用戶註冊 21

情景導入 21

職業能力目標及素養目標 21

子任務3.1 獲取表單數據 21

【任務提出】 21

【任務實施】 21

3.1.1 從後端獲取前端表單數據 21

3.1.2 書寫PHP代碼 22

3.1.3 輸出數據 22

子任務3.2 創建數據庫和數據表 23

【任務提出】 23

【任務實施】 23

3.2.1 開啟數據庫服務 23

3.2.2 安裝可視化數據庫管理工具 24

3.2.3 創建數據庫和數據表 25

3.2.4 數據表字段類型說明 26

子任務3.3 將註冊信息寫入數據庫 27

【任務提出】 27

【任務實施】 27

3.3.1 連接數據庫服務器 27

3.3.2 設置字符集 28

3.3.3 設置SQL查詢語句 28

3.3.4 執行SQL查詢語句 29

3.3.5 項目階段性成果 30

子任務3.4 判斷用戶名是否被占用 31

【任務提出】 31

【任務實施】 31

3.4.1 通過SQL語句判斷用戶名是否

被占用 31

3.4.2 使用SQL中的SELECT語句 31

3.4.3 在PhpStorm中配置數據源 33

子任務3.5 表單驗證 35

【任務提出】 35

【任務實施】 35

3.5.1 重視數據驗證 35

3.5.2 在前端驗證表單數據 35

3.5.3 在前端驗證數據 36

3.5.4 在後端驗證表單數據 37

【素養小貼士】 38

【任務小結】 38

【鞏固練習】 38

 

任務4

會員管理系統用戶登錄、資料

修改及註銷 40

情景導入 40

職業能力目標及素養目標 40

子任務4.1 用戶登錄 40

【任務提出】 40

【任務實施】 40

4.1.1 創建用戶登錄文件 40

4.1.2 製作用戶登錄後端文件 41

4.1.3 通過Session變量保存登錄

標志 42

子任務4.2 註銷登錄 44

【任務提出】 44

【任務實施】 44

4.2.1 在導航欄中使用文件包含 44

4.2.2 實現導航欄當前欄目高亮功能 45

子任務4.3 會員資料修改 47

【任務提出】 47

【任務實施】 47

4.3.1 優化登錄頁面跳轉邏輯 47

4.3.2 創建會員資料修改頁面 47

4.3.3 製作資料修改後端文件 51

【任務小結】 52

【鞏固練習】 52

 

任務5

會員管理系統管理員功能 54

情景導入 54

職業能力目標及素養目標 54

子任務5.1 管理員登錄 54

【任務提出】 54

【任務實施】 55

5.1.1 修改數據表結構以實現管理員

登錄 55

5.1.2 管理員登錄後查看導航欄的

變化 56

子任務5.2 管理員查看所有會員 57

【任務提出】 57

【任務實施】 57

5.2.1 判斷管理員權限 57

5.2.2 循環輸出數據表記錄 57

5.2.3 瞭解PHP中的循環語句 59

子任務5.3 數據分頁 61

【任務提出】 61

【任務實施】 62

5.3.1 理解分頁的基本原理 62

5.3.2 製作分頁文件 62

5.3.3 實現分頁 64

【知識儲備】 66

子任務5.4 設置或取消管理員 67

【任務提出】 67

【任務實施】 68

5.4.1 修改文件靜態內容 68

5.4.2 製作setAdmin.php文件 68

5.4.3 避免刪除管理員admin 69

子任務5.5 管理員刪除用戶 70

【任務提出】 70

【任務實施】 70

5.5.1 修改前端頁面 70

5.5.2 製作後端頁面 71

【素養小貼士】 71

子任務5.6 管理員修改會員資料 72

【任務提出】 72

【任務實施】 72

5.6.1 添加資料修改鏈接 72

5.6.2 修改modify.php文件 73

【任務小結】 74

【鞏固練習】 74

 

任務6

會員管理系統項目優化 76

情景導入 76

職業能力目標及素養目標 76

子任務6.1 優化跳轉目標頁面 76

【任務提出】 76

【任務實施】 76

6.1.1 文件跳轉時添加來源參數 76

6.1.2 讀取來源參數,並跳轉至目標

頁面 78

子任務6.2 註冊時使用AJAX驗證用戶名

 是否有效 79

【任務提出】 79

【任務實施】 79

6.2.1 理解異步 79

6.2.2 初識jQuery 80

6.2.3 引入jQuery庫文件 80

6.2.4 在表單中添加事件 80

6.2.5 實現方法checkUsername() 81

6.2.6 使用jQuery中封裝的AJAX 81

6.2.7 製作AJAX後端文件 83

6.2.8 在Chrome瀏覽器中調試網絡

通信 84

子任務6.3 beforeSend的使用 85

【任務提出】 85

【任務實施】 85

6.3.1 準備loading圖標 85

6.3.2 修改AJAX通信代碼 86

子任務6.4 登錄時使用AJAX判斷用戶名

 是否有效 87

【任務提出】 87

【任務實施】 87

6.4.1 修改login.php文件 87

6.4.2 顯示異步登錄的效果 89

子任務6.5 驗證碼的使用 89

【任務提出】 89

【知識儲備】 89

【任務實施】 90

6.5.1 安裝GD庫 90

6.5.2 在PHP中使用驗證碼 91

6.5.3 判斷驗證碼是否填寫正確 95

【素養小貼士】 96

【任務小結】 96

【鞏固練習】 96

項目2 在線投票系統

 

任務7

項目開發前的準備工作 99

情景導入 99

職業能力目標及素養目標 99

子任務7.1 項目介紹 99

【任務提出】 99

7.1.1 項目基本需求分析 100

7.1.2 項目詳細設計 100

7.1.3 項目展示 100

子任務7.2 版本控制與代碼托管 102

【任務提出】 102

【知識儲備】 102

7.2.1 版本控制 102

7.2.2 Git介紹 103

7.2.3 碼雲的使用 104

7.2.4 Git的工作流程 104

7.2.5 在PhpStorm中使用Git 105

子任務7.3 數據庫設計的方法及原理 110

【任務提出】 110

【知識儲備】 110

7.3.1 數據庫設計的方法 110

7.3.2 數據庫設計的基本步驟 111

7.3.3 概念結構設計 111

7.3.4 實體-聯系圖(E-R模型) 111

子任務7.4 創建數據庫 113

【任務提出】 113

【任務實施】 113

7.4.1 實例詳解 113

7.4.2 主鍵和外鍵 114

7.4.3 如何創建外鍵 115

7.4.4 數據庫的導入和導出 117

【素養小貼士】 118

【任務小結】 119

【鞏固練習】 119

 

任務8

在線投票系統首頁製作及投票

功能實現 123

情景導入 123

職業能力目標及素養目標 123

子任務8.1 首頁靜態頁面製作(Bootstrap

 佈局) 123

【任務提出】 123

【任務實施】 123

8.1.1 瞭解Bootstrap 123

8.1.2 認識Bootstrap的柵格系統 124

8.1.3 引入Bootstrap庫文件 125

8.1.4 Bootstrap佈局測試 125

8.1.5 在項目首頁中使用Bootstrap

佈局 126

8.1.6 在PhpStorm中下載外部庫

文件 129

子任務8.2 首頁動態數據讀取 130

【任務提出】 130

【任務實施】 130

8.2.1 在數據庫中初始化數據表 130

8.2.2 在首頁中讀取數據表內容並循環

輸出已有車輛信息 130

【任務小結】 132

【鞏固練習】 132

 

任務9

在線投票系統投票功能

實現 135

情景導入 135

職業能力目標及素養目標 135

子任務9.1 游客投票功能實現 135

【任務提出】 135

【任務實施】 135

9.1.1 修改前端頁面文件 135

9.1.2 製作後端投票文件 136

子任務9.2 整合會員登錄系統 136

【任務提出】 136

【任務實施】 136

9.2.1 分析整合文件 136

9.2.2 瞭解前端UI框架Layui 137

9.2.3 使用Layui顯示註冊和登錄

頁面 137

9.2.4 優化彈窗跳轉邏輯,匹配新的

數據表 139

【知識儲備】 140

子任務9.3 登錄用戶實現投票 140

【任務提出】 140

【任務實施】 141

9.3.1 瞭解MySQL的事務機制 141

9.3.2 製作登錄權限檢查文件 141

9.3.3 實現投票功能 142

【任務小結】 143

【鞏固練習】 143

 

任務10

在線投票系統投票限制 146

情景導入 146

職業能力目標及素養目標 146

子任務10.1 一人一天只能給一輛車

 投5票 146

【任務提出】 146

【任務實施】 146

10.1.1 瞭解投票限制的常見手段 146

10.1.2 設置一人一天只能給一輛車

 投5票 147

【知識儲備】 147

子任務10.2 一人一天只能給3輛車

 投票 149

【任務提出】 149

【任務實施】 149

10.2.1 分析一人一天只能給3輛車投票

 的邏輯 149

10.2.2 理解GROUP BY語句 149

10.2.3 實現一人一天只能給3輛車

 投票 151

子任務10.3 投票時間間隔 151

【任務提出】 151

【任務實施】 151

10.3.1 修改數據表字段類型 151

10.3.2 判斷投票時間間隔 152

10.3.3 轉換MySQL中的時間日期

 格式 152

子任務10.4 IP地址限制 154

【任務提出】 154

【任務實施】 155

10.4.1 編寫IP地址限制代碼 155

10.4.2 總結MySQL中的日期和時間

 函數 155

子任務10.5 使用Layui顯示驗證碼 156

【任務提出】 156

【任務實施】 156

10.5.1 使用layer.open()方法 156

10.5.2 在彈窗中顯示驗證碼 156

10.5.3 優化彈窗顯示 158

子任務10.6 異步投票 161

【任務提出】 161

【任務實施】 161

10.6.1 給“票數”添加ID 161

10.6.2 使用jQuery封裝的AJAX實現

 異步投票 162

10.6.3 製作異步投票後端文件 163

【任務小結】 164

【鞏固練習】 164

 

任務11

在線投票系統管理員功能 166

情景導入 166

職業能力目標及素養目標 166

子任務11.1 管理員查看車輛列表 166

【任務提出】 166

【任務實施】 166

11.1.1 修改前端展示頁面 166

11.1.2 製作管理員後端文件 167

子任務11.2 管理員添加新的車輛(一) 168

【任務提出】 168

【任務實施】 168

11.2.1 瞭解表單的enctype屬性 168

11.2.2 設置PHP中的上傳文件參數 168

11.2.3 製作車輛添加前端頁面 169

11.2.4 製作車輛添加後端頁面 170

子任務11.3 管理員添加新的車輛(二) 171

【任務提出】 171

【任務實施】 171

11.3.1 編寫車輛添加後端代碼 171

11.3.2 獲取數組內元素 173

11.3.3 生成唯一文件名 173

子任務11.4 管理員修改和刪除車輛資料 174

【任務提出】 174

【任務實施】 174

11.4.1 修改前端頁面 174

11.4.2 製作修改車輛資料後端文件 176

子任務11.5 管理員刪除車輛資料 178

【任務提出】 178

【任務實施】 178

11.5.1 修改前端頁面 178

11.5.2 製作刪除車輛後端文件 179

子任務11.6 ECharts的基本使用 180

【任務提出】 180

【任務實施】 180

11.6.1 瞭解ECharts 180

11.6.2 快速掌握ECharts應用 181

子任務11.7 ECharts圖表數據異步

 加載 185

【任務提出】 185

【任務實施】 185

11.7.1 異步加載ECharts數據 185

11.7.2 製作後端接口文件 186

11.7.3 製作車輛得票數顯示頁面 188

11.7.4 修改ECharts圖表格式 190

11.7.5 生成餅圖 191

【任務小結】 195

【鞏固練習】 195

項目3 使用Laravel

框架改寫會員管理系統

 

任務12

面向對象的程序設計和PDO的使用 198

情景導入 198

職業能力目標及素養目標 198

子任務12.1 面向對象的程序設計簡介 198

【任務提出】 198

【知識儲備】 199

12.1.1 面向對象和麵向過程的區別 199

12.1.2 面向對象編程的三大特性 200

子任務12.2 PDO的使用 205

【任務提出】 205

【任務實施】 205

12.2.1 使用PDO的準備工作 205

12.2.2 使用PDO連接數據庫 206

12.2.3 使用PDO查詢數據表記錄 207

12.2.4 使用PDO實現數據的增、

 刪、改 208

12.2.5 使用PDOStatement 預處理 209

【任務小結】 210

【鞏固練習】 210

 

任務13

Laravel中的視圖、路由、控制器、驗證碼 214

情景導入 214

職業能力目標及素養目標 214

子任務13.1 Laravel的安裝和簡單使用 214

【任務提出】 214

【任務實施】 214

13.1.1 安裝Laravel 214

13.1.2 瞭解Laravel的MV 217

13.1.3 瞭解Laravel的幾個主要

 目錄 218

子任務13.2 Laravel中的視圖和路由 219

【任務提出】 219

【任務實施】 219

13.2.1 創建視圖 219

13.2.2 創建路由 220

【知識儲備】 221

子任務13.3 Laravel中的控制器和

 驗證碼 222

【任務提出】 222

【任務實施】 222

13.3.1 製作前端登錄頁面 222

 

13.3.2 製作後端登錄頁面 223

13.3.3 安裝和使用驗證碼包 225

【任務小結】 227

【鞏固練習】 227

 

任務14

Laravel中的表單驗證、數據庫操作 230

情景導入 230

職業能力目標及素養目標 230

子任務14.1 Laravel中表單數據的後端驗證

 方法 230

【任務提出】 230

【任務實施】 230

14.1.1 理解Laravel中的驗證類

 Validator 230

14.1.2 使用Laravel驗證類Validator

 完成表單數據驗證 231

14.1.3 在前端頁面中顯示驗證錯誤提示

 信息 232

子任務14.2 Laravel中數據庫的使用(用戶

 登錄) 235

【任務提出】 235

【任務實施】 235

14.2.1 使用Laravel中的模型 235

14.2.2 在Laravel中完成用戶登錄 236

子任務14.3 後台管理頁面的製作 239

【任務提出】 239

【任務實施】 239

14.3.1 使用Laravel的中間件 239

14.3.2 輸出後台管理頁面數據 240

子任務14.4 使用Laravel實現用戶註冊 242

【任務提出】 242

【任務實施】 242

【任務小結】 245

【鞏固練習】 245