PHP+MySQL動態網站開發案例課堂(第3版)
劉春茂
相關主題
商品描述
目錄大綱
目 錄
第1章 搭建PHP8網站開發環境 1
1.1 認識PHP 2
1.1.1 PHP是什麽 2
1.1.2 PHP語言的優勢 2
1.1.3 PHP的應用領域 2
1.1.4 PHP的發展過程 3
1.2 搭建PHP8集成開發環境 4
1.3 PHP開發工具 6
1.3.1 使用記事本 6
1.3.2 使用PhpStorm開發工具 7
1.4 如何能快速學好PHP 11
1.5 疑難解惑 12
1.6 跟我學上機 13
第2章 PHP的基本語法 15
2.1 編 碼 規 範 16
2.1.1 什麽是編碼規範 16
2.1.2 PHP語言標識 16
2.1.3 PHP的一些編碼規範 16
2.2 PHP的數據類型 18
2.2.1 數據類型簡介 18
2.2.2 數據類型之間的相互轉換 19
2.2.3 檢測數據類型 20
2.3 常量 21
2.3.1 聲明和使用常量 21
2.3.2 使用系統預定義常量 22
2.4 變量 23
2.4.1 PHP中的變量聲明 24
2.4.2 可變變量和變量的引用 25
2.5 PHP運算符 26
2.5.1 算術運算符 26
2.5.2 字符串連接符 27
2.5.3 賦值運算符 28
2.5.4 比較運算符 28
2.5.5 邏輯運算符 29
2.5.6 按位運算符 29
2.5.7 否定控制運算符 29
2.5.8 錯誤控制運算符 30
2.5.9 三元運算符 30
2.5.10 合並運算符 30
2.5.11 組合運算符 31
2.5.12 運算符的優先級和結合規則 32
2.6 PHP中的表達式 32
2.7 疑難解惑 32
2.8 跟我學上機 33
第3章 程序控制結構 35
3.1 程 序 結 構 36
3.2 條件控制語句 36
3.2.1 if語句 36
3.2.2 if...else語句 37
3.2.3 elseif語句 38
3.2.4 switch語句 39
3.3 循環控制語句 41
3.3.1 for循環語句 41
3.3.2 while循環語句 42
3.3.3 do...while循環語句 43
3.3.4 流程控制的另一種書寫格式 43
3.4 跳轉語句 45
3.4.1 break語句 45
3.4.2 continue語句 46
3.5 疑難解惑 46
3.6 跟我學上機 47
第4章 精通函數的應用 49
4.1 認 識 函 數 50
4.2 自定義函數 50
4.2.1 定義和調用函數 50
4.2.2 函數中的變量作用域 51
4.3 參數傳遞和返回值 53
4.3.1 向函數傳遞參數值 53
4.3.2 向函數傳遞參數引用 54
4.3.3 函數的返回值 55
4.4 函數的引用和取消 55
4.4.1 引用函數 55
4.4.2 取消函數引用 56
4.5 函數的高級應用技能 56
4.5.1 變量函數 56
4.5.2 銷毀函數中的變量 57
4.6 常用的內置函數 58
4.6.1 數學函數 58
4.6.2 變量相關的函數 59
4.7 包含文件 60
4.7.1 require()和include() 60
4.7.2 include_once()和require_once() 61
4.8 疑難解惑 61
4.9 跟我學上機 62
第5章 PHP數組 63
5.1 什麽是數組 64
5.2 創建數組 64
5.2.1 使用array()函數創建數組 64
5.2.2 通過賦值方式創建數組 65
5.3 數組類型 65
5.3.1 數字索引數組 65
5.3.2 關聯數組 66
5.4 多維數組 66
5.5 遍歷數組 68
5.6 統計數組元素個數 70
5.7 查詢數組中指定元素 70
5.8 獲取並刪除數組中的最後一個元素 71
5.9 獲取並刪除數組中的第一個元素 71
5.10 向數組添加元素 72
5.11 刪除數組中重復的元素 73
5.12 數組的排序 73
5.13 字符串與數組的轉換 75
5.14 調換數組中的鍵值和元素值 76
5.15 疑難解惑 76
5.16 跟我學上機 77
第6章 字符串和正則表達式 79
6.1 定義字符串的方法 80
6.1.1 使用單引號或雙引號定義字符串 80
6.1.2 使用定界符定義字符串 81
6.1.3 字符串的連接符 81
6.2 字符串操作 82
6.2.1 去除字符串首尾空格和特殊字符 82
6.2.2 獲取字符串的長度 84
6.2.3 截取字符串 84
6.2.4 檢索字符串 85
6.2.5 替換字符串 86
6.2.6 分割和合成字符串 87
6.2.7 統計字符串中單詞的個數 88
6.3 正則表達式 88
6.3.1 正則表達式概述 89
6.3.2 行定位符 89
6.3.3 元字符 89
6.3.4 限定符 90
6.3.5 方括號([ ]) 90
6.3.6 連字符(-) 90
6.3.7 選擇字符 91
6.3.8 轉義字符 91
6.3.9 分組 91
6.3.10 認證E-mail的正則表達式 91
6.4 Perl兼容正則表達式函數 92
6.4.1 使用正則表達式對字符串進行匹配 92
6.4.2 使用正則表達式替換字符串的子串 94
6.4.3 使用正則表達式切分字符串 94
6.5 正則表達式在PHP中的應用案例 95
6.6 疑難解惑 96
6.7 跟我學上機 97
第7章 PHP與Web 頁面交互 99
7.1 使用表單 100
7.1.1 HTML表單 100
7.1.2 表單元素 101
7.2 JavaScript表單驗證 103
7.2.1 JavaScript概述 103
7.2.2 調用JavaScript 104
7.2.3 JavaScript表單驗證 105
7.3 PHP獲取表單數據 106
7.3.1 通過POST方式獲取表單數據 106
7.3.2 通過GET方式獲取表單數據 109
7.4 PHP對URL傳遞的參數進行編碼 110
7.5 疑難解惑 111
7.6 跟我學上機 112
第8章 日期和時間 113
8.1 系統時區的設置 114
8.1.1 時區劃分 114
8.1.2 時區設置 114
8.2 PHP的日期和時間函數 114
8.2.1 關於Unix時間戳 114
8.2.2 獲取當前的時間戳 115
8.2.3 獲取當前的日期和時間 115
8.2.4 使用時間戳獲取日期信息 116
8.2.5 檢驗日期的有效性 118
8.2.6 輸出格式化時間戳的日期和時間 118
8.2.7 顯示本地化的日期和時間 120
8.2.8 將日期和時間解析為Unix時間戳 121
8.2.9 日期和時間在PHP和MySQL數據格式之間轉換 121
8.3 日期和時間的綜合應用 121
8.4 疑難解惑 123
8.5 跟我學上機 123
第9章 面向對象編程 125
9.1 認識面向對象 126
9.1.1 什麽是類 126
9.1.2 什麽是對象 126
9.1.3 面向對象編程的特點 127
9.2 類和對象的基本操作 128
9.2.1 定義類 128
9.2.2 成員方法 128
9.2.3 類的實例化 129
9.2.4 成員變量 130
9.2.5 類常量 130
9.2.6 構造方法和析構方法 131
9.2.7 “$this->”和“::”的使用 133
9.2.8 繼承和多態 134
9.2.9 數據封裝 136
9.2.10 靜態變量和方法 138
9.3 對象的高級應用 139
9.3.1 final關鍵字 139
9.3.2 抽象類 139
9.3.3 使用接口 140
9.3.4 檢測對象類型 141
9.3.5 魔術方法(_ _) 142
9.4 匿名類 143
9.5 疑難解惑 144
9.6 跟我學上機 144
第10章 錯誤處理和異常處理 147
10.1 常見的錯誤和異常 148
10.2 錯誤處理 150
10.2.1 php.ini中的錯誤處理機制 150
10.2.2 使用DIE語句調試 151
10.2.3 自定義錯誤和錯誤觸發器 151
10.2.4 錯誤記錄 154
10.3 錯誤的報告方式 155
10.4 異常處理 156
10.4.1 異常的基本處理方法 156
10.4.2 自定義的異常處理器 157
10.4.3 處理多個異常 158
10.4.4 設置頂層異常處理器 159
10.5 疑難解惑 160
10.6 跟我學上機 160
第11章 操作文件與目錄 163
11.1 操作文件 164
11.1.1 打開和關閉文件 164
11.1.2 從文件中讀取內容 165
11.1.3 將數據寫入文件 168
11.1.4 文件的其他操作函數 169
11.2 處理目錄 172
11.2.1 打開和關閉目錄 172
11.2.2 瀏覽目錄 173
11.2.3 目錄的其他操作函數 174
11.3 上傳文件 176
11.3.1 配置php.ini文件 176
11.3.2 預定義變量$_FILES 176
11.3.3 上傳文件的函數 177
11.3.4 多文件上傳 178
11.4 下載文件 180
11.5 疑難解惑 181
11.6 跟我學上機 181
第12章 圖形圖像處理技術 183
12.1 在PHP中加載GD庫 184
12.2 GD庫的應用 187
12.2.1 創建一個簡單的圖像 187
12.2.2 使用GD的函數在照片上添加文字 188
12.2.3 使用圖形圖像技術生成驗證碼 190
12.3 JpGraph庫的基本操作 191
12.3.1 JpGraph的下載 191
12.3.2 JpGraph的中文配置 192
12.3.3 使用JpGraph庫 193
12.4 JpGraph庫的應用 194
12.4.1 製作折線圖 194
12.4.2 製作3D餅形圖 195
12.5 疑難解惑 196
12.6 跟我學上機 197
第13章 Cookie和Session 199
13.1 Cookie的基本操作 200
13.1.1 什麽是Cookie 200
13.1.2 創建Cookie 200
13.1.3 讀取Cookie 201
13.1.4 刪除Cookie 202
13.1.5 Cookie的生命周期 203
13.2 Session管理 204
13.2.1 什麽是Session 204
13.2.2 創建會話 204
13.2.3 註冊會話變量 205
13.2.4 使用會話變量 205
13.2.5 註銷和銷毀會話變量 206
13.3 Session的高級應用 206
13.3.1 Session臨時文件 206
13.3.2 Session緩存限制器 207
13.3.3 儲存Session ID 208
13.4 疑難解惑 208
13.5 跟我學上機 209
第14章 MySQL數據庫的基本操作 211
14.1 啟動phpMyAdmin管理程序 212
14.2 創建數據庫和數據表 212
14.3 MySQL數據庫的基本操作 214
14.3.1 創建數據庫 214
14.3.2 查看數據庫 214
14.3.3 刪除數據庫 215
14.4 MySQL數據表的基本操作 216
14.4.1 創建數據表 216
14.4.2 查看數據表 217
14.4.3 修改數據表 217
14.4.4 刪除數據表 218
14.5 MySQL語句的操作 218
14.5.1 插入記錄 219
14.5.2 查詢記錄 219
14.5.3 修改記錄 220
14.5.4 刪除記錄 221
14.6 為MySQL管理賬號加上密碼 221
14.7 MySQL數據庫的備份與還原 222
14.7.1 對數據庫進行備份 222
14.7.2 對數據庫進行還原 222
14.8 疑難解惑 223
14.9 跟我學上機 223
第15章 PHP操作MySQL數據庫 225
15.1 PHP訪問MySQL數據庫的步驟 226
15.2 操作MySQL數據庫的函數 226
15.2.1 連接MySQL服務器 226
15.2.2 選擇數據庫 227
15.2.3 創建數據庫 228
15.2.4 創建數據表 229
15.2.5 添加一條數據記錄 231
15.2.6 一次插入多條數據 232
15.2.7 讀取數據 233
15.2.8 釋放資源 235
15.2.9 關閉連接 235
15.3 管理MySQL數據庫中的數據 235
15.3.1 添加商品信息 235
15.3.2 查詢商品信息 237
15.4 疑難解惑 240
15.5 跟我學上機 240
第16章 PDO數據庫抽象層 241
16.1 PDO是什麽 242
16.2 安裝PDO 242
16.3 PDO連接數據庫 243
16.4 PDO中執行SQL語句 245
16.5 PDO中獲取結果集 246
16.5.1 fetch()方法 246
16.5.2 fetchAll()方法 247
16.5.3 fetchColumn()方法 248
16.6 PDO中捕獲SQL語句中的錯誤 249
16.6.1 警告模式 249
16.6.2 異常模式 250
16.7 PDO中的錯誤處理 251
16.8 防止SQL註入的攻擊 251
16.9 PDO中的事務處理 252
16.10 疑難解惑 253
16.11 跟我學上機 254
第17章 PHP加密技術 255
17.1 使用PHP加密函數 256
17.1.1 使用md5()函數進行加密 256
17.1.2 使用crypt()函數進行加密 256
17.1.3 使用sha1()函數進行加密 257
17.2 使用Mhash擴展庫 258
17.3 疑難解惑 259
17.4 跟我學上機 259
第18章 PHP與Ajax技術 261
18.1 Ajax概述 262
18.1.1 什麽是Ajax 262
18.1.2 Ajax的工作過程 264
18.1.3 Ajax的關鍵元素 264
18.1.4 Ajax的優缺點 265
18.2 Ajax的核心技術 266
18.2.1 全面剖析XMLHttpRequest對象 266
18.2.2 發出Ajax請求 268
18.2.3 處理服務器響應 269
18.3 Ajax技術在PHP中的經典應用 270
18.3.1 應用Ajax技術檢查用戶名 270
18.3.2 應用Ajax技術實現投票功能 273
18.4 疑難解惑 276
18.5 跟我學上機 276
第19章 項目實訓1——開發網站驗證碼系統 279
19.1 系統分析 280
19.1.1 學習目標 280
19.1.2 需求分析 280
19.1.3 系統文檔結構 280
19.2 系統的代碼實現 281
19.2.1 系統主界面 281
19.2.2 生成並輸入驗證碼功能 283
19.2.3 驗證碼控制器 283
19.3 系統測試 286
第20章 項目實訓2——開發個人博客系統 289
20.1 系統的需求分析 290
20.1.1 學習目標 290
20.1.2 需求分析 290
20.1.3 系統文檔結構 290
20.2 數據庫分析 291
20.2.1 分析數據庫 291
20.2.2 創建數據表 291
20.3 個人博客系統的代碼實現 292
20.3.1 博客數據模型的文件 292
20.3.2 個人博客系統的主頁面 296
20.3.3 個人博客新建和修改頁面 297
20.3.4 個人博客刪除頁面 300
20.4 系統測試 300
第21章 項目實訓3——開發網上訂餐系統 303
21.1 系統功能描述 304
21.2 系統功能分析和設計數據庫 304
21.2.1 系統功能分析 304
21.2.2 數據流程和數據庫 305
21.3 代碼的具體實現 308
21.4 程序運行 317
第22章 項目實訓4——開發學校教務選課管理系統 319
22.1 系統功能描述 320
22.2 系統功能分析 320
22.2.1 系統功能分析 321
22.2.2 數據流程和數據庫 321
22.3 代碼的具體實現 323
22.3.1 用戶的登錄和驗證界面 323
22.3.2 數據庫連接頁面 325
22.3.3 登錄註冊頁面 325
22.3.4 選課系統主界面 327
22.3.5 添加學生頁面 330
22.3.6 添加課程頁面 331
22.3.7 瀏覽課程頁面 332
22.3.8 選擇課程頁面 332
22.3.9 刪除課程頁面 334
22.3.10 修改學生信息頁面 334
22.4 系統測試 336