內容簡介
《PHP+MySQL動態網站開發案例課堂(第2版)》以零基礎講解為宗旨,用實例引導讀者深入學習,採取“基礎入門→核心技術→操作MySQL資料庫→項目實訓”的講解模式,深入淺出地講解PHP 7的各項技術及實戰技能。
《PHP+MySQL動態網站開發案例課堂(第2版)》第1篇“基礎入門”主要內容包括走進PHP 7的世界、配置PHP伺服器環境、PHP的基本語法、函式的套用、程式控制結構、數組、字元串;第2篇“核心技術”主要內容包括正則表達式、PHP與Web頁面互動、管理日期和時間、面向對象編程、錯誤處理和異常處理、操作檔案與目錄、GD繪圖與圖像處理、Cookie和會話管理;第3篇“操作MySQL資料庫”主要內容包括phpMyAdmin操作MySQL資料庫、MySQL資料庫與SQL查詢、使用MySQLi操作MySQL、使用PDO操作MySQL資料庫;第4篇“項目實訓”主要內容包括開發驗證碼系統、開發個人部落格系統、開發用戶許可權系統、開發社區市場系統。
《PHP+MySQL動態網站開發案例課堂(第2版)》適合任何想學習使用PHP+MySQL開發動態網站的人員,無論您是否從事計算機相關行業,無論您是否接觸過PHP+MySQL,通過學習均可快速掌握PHP+MySQL開發動態網站的方法和技巧。
圖書目錄
第1篇 基礎入門 1
第1章 初識廬山真面目——走進PHP 7
的世界 3
1.1 認識PHP 4
1.1.1 什麼是PHP 4
1.1.2 PHP的發展歷程 4
1.1.3 PHP語言的優勢 5
1.2 PHP能幹什麼 5
1.3 常用的開發利器 6
1.3.1 PHP代碼開發工具 6
1.3.2 網頁設計工具 7
1.3.3 文本編輯工具 7
1.4 PHP 7的新特徵 8
1.5 如何能學好PHP 7 10
1.6 疑難解惑 11
第2章 開發前必備工作——配置PHP
伺服器環境 13
2.1 PHP伺服器概述 14
2.2 安裝PHP前的準備工作 14
2.2.1 軟硬體環境 14
2.2.2 實例1——獲取PHP 7.1安裝
資源包 15
2.3 PHP +IIS伺服器的安裝配置 16
2.3.1 實例2——IIS簡介及安裝 16
2.3.2 實例3——PHP的安裝 17
2.3.3 實例4——設定虛擬 20
2.4 PHP+Apache伺服器的環境搭建 21
2.4.1 Apache簡介 21
2.4.2 實例5——關閉原有的網站
伺服器 21
2.4.3 實例6——安裝Apache 22
2.4.4 實例7——將PHP與Apache
建立關聯 24
2.5 新手的福音——安裝WampServer
集成開發環境 25
2.6 案例實戰——測試第一個PHP程式 27
2.7 疑難解惑 28
第3章 零基礎開始學習——PHP的基本
語法 31
3.1 PHP語言標識 32
3.2 熟悉編碼規範 32
3.2.1 什麼是編碼規範 33
3.2.2 PHP的一些編碼規範 33
3.3 常量 35
3.3.1 聲明和使用常量 35
3.3.2 使用系統預定義常量 35
3.4 變數 37
3.4.1 PHP中的變數聲明 37
3.4.2 可變變數和變數的引用 38
3.4.3 變數作用域 39
3.4.4 變數的銷毀 41
3.5 理解變數的類型 42
3.5.1 什麼是類型 42
3.5.2 整型 42
3.5.3 浮點型 43
3.5.4 布爾型 43
3.5.5 字元串型 43
3.5.6 數組型 44
3.5.7 對象型 45
3.5.8 NULL型 46
3.5.9 資源類型 46
3.5.10 數據類型之間的相互轉換 46
3.6 PHP 7的新變化——聲明標量類型和
函式返回值類型 47
3.7 使用運算符 48
3.7.1 算術運算符 48
3.7.2 字元串連線符 49
3.7.3 賦值運算符 50
3.7.4 比較運算符 50
3.7.5 邏輯運算符 52
3.7.6 按位運算符 52
3.7.7 否定控制運算符 52
3.7.8 錯誤控制運算符 52
3.7.9 三元運算符 53
3.7.10 運算符的優先權和結合規則 53
3.8 PHP 7的新變化——合併運算符和組合
運算符 53
3.9 PHP中的表達式 54
3.10 創建多維數組 55
3.11 疑難解惑 55
第4章 實現定製功能——函式的套用 57
4.1 認識函式 58
4.2 內置函式 58
4.2.1 數學函式 58
4.2.2 變數相關的函式 59
4.3 自定義函式 61
4.3.1 定義和調用函式 61
4.3.2 向函式傳遞參數值 61
4.3.3 向函式傳遞參數引用 62
4.3.4 從函式中返回值 63
4.3.5 引用函式 63
4.3.6 取消函式引用 64
4.3.7 變數函式 65
4.4 PHP 7的新變化——新增intdiv()函式 65
4.5 包含檔案 66
4.5.1 require和include 66
4.5.2 include_once和require_once 67
4.6 疑難解惑 67
第5章 程式的執行方向——程式控制
結構 69
5.1 流程控制概述 70
5.2 條件控制結構 70
5.2.1 單一條件分支結構(if語句) 70
5.2.2 雙向條件分支結構(if…else
語句) 71
5.2.3 多向條件分支結構(elseif語句) 72
5.2.4 多向條件分支結構(switch 語句) 73
5.3 循環控制結構 74
5.3.1 while循環語句 74
5.3.2 do...while循環語句 75
5.3.3 for循環語句 76
5.3.4 foreach循環語句 77
5.3.5 流程控制的另一種書寫格式 77
5.3.6 使用break/continue語句跳出
循環 79
5.4 案例實戰1——條件分支結構的套用 80
5.5 案例實戰2——循環控制結構的套用 82
5.7 疑難解惑 83
第6章 特殊的元素集合——數組 85
6.1 什麼是數組 86
6.2 數組類型 86
6.2.1 數字索引數組 86
6.2.2 關聯索引數組 87
6.3 數組的結構 87
6.3.1 一維數組 87
6.3.2 多維數組 88
6.4 遍歷數組 90
6.4.1 遍歷一維數字索引數組 90
6.4.2 遍歷一維聯合索引數組 90
6.4.3 遍歷多維數組 91
6.5 數組排序 92
6.5.1 一維數組排序 92
6.5.2 多維數組排序 94
6.6 字元串與數組的轉換 95
6.7 向數組中添加和刪除元素 96
6.7.1 向數組中添加元素 96
6.7.2 從數組中刪除元素 97
6.8 查詢數組中的指定元素 98
6.9 統計數組元素的個數 100
6.10 刪除數組中重複的元素 101
6.11 調換數組中的鍵值和元素值 102
6.12 數組的序列化 103
6.13 疑難解惑 104
第7章 不可不說的文本數據——字元串 105
7.1 字元串的單引號和雙引號 106
7.2 字元串的連線符 107
7.3 字元串的基本操作 108
7.3.1 手動和自動轉義字元串中的
字元 108
7.3.2 計算字元串的長度 108
7.3.3 字元串單詞統計 109
7.3.4 清理字元串中的空格 109
7.3.5 字元串的切分與組合 110
7.3.6 字元串子串的截取 111
7.3.7 字元串子串的替換 112
7.3.8 字元串查找 112
7.4 疑難解惑 113
第2篇 核心技術 115
第8章 匹配文本有妙招——正則
表達式 117
8.1 什麼是正則表達式 118
8.2 正則表達式的語法規則 118
8.2.1 方括弧([ ]) 118
8.2.2 連字元(-) 118
8.2.3 點號字元(.) 118
8.2.4 限定符(+*?{n,m}) 118
8.2.5 行定位符(^和$) 119
8.2.6 排除字元([^]) 119
8.2.7 括弧字元(()) 119
8.2.8 選擇字元(|) 119
8.2.9 轉義字元與反斜槓 119
8.2.10 認證E-mail的正則表達式 119
8.3 Perl 兼容正則表達式函式 120
8.3.1 使用正則表達式對字元串進行
匹配 120
8.3.2 使用正則表達式替換字元串的
子串 122
8.3.3 使用正則表達式切分字元串 122
8.4 案例實戰——創建商品線上訂單
頁面 123
8.5 疑難解惑 126
第9章 表單的動態效果——PHP與
Web頁面互動 127
9.1 創建動態內容 128
9.2 表單與PHP 128
9.3 設計表單元素 129
9.3.1 表單的基本結構 129
9.3.2 文本框 129
9.3.3 複選框 130
9.3.4 單選按鈕 132
9.3.5 下拉列表 133
9.3.6 重置按鈕和提交按鈕 134
9.4 傳遞數據 137
9.4.1 用POST方式傳遞數據 137
9.4.2 用GET方式傳遞數據 137
9.5 PHP獲取表單傳遞數據的方法 138
9.6 PHP對URL傳遞的參數進行編碼 139
9.7 案例實戰——團購商品訂單表 140
9.8 疑難解惑 141
第10章 時間很重要——管理日期和
時間 143
10.1 系統時區的設定 144
10.1.1 時區劃分 144
10.1.2 時區設定 144
10.2 PHP的日期和時間函式 144
10.2.1 關於UNIX時間戳 144
10.2.2 獲取當前的時間戳 145
10.2.3 獲取當前的日期和時間 145
10.2.4 使用時間戳獲取日期信息 146
10.2.5 檢驗日期的有效性 149
10.2.6 輸出格式化時間戳的日期和
時間 149
10.2.7 顯示本地化的日期和時間 151
10.2.8 將日期和時間解析為UNIX
時間戳 152
10.2.9 日期時間在PHP和MySQL
數據格式之間的轉換 152
10.3 案例實戰1——實現倒計時功能 153
10.4 案例實戰2——比較兩個時間的
大小 153
10.5 疑難解惑 154
第11章 主流的編程思想——面向對象
編程 155
11.1 類和對象的介紹 156
11.2 類的基本操作 157
11.2.1 類的聲明 157
11.2.2 成員屬性 157
11.2.3 成員方法 158
11.2.4 類的實例化 158
11.2.5 訪問類中的成員屬性和方法 159
11.3 構造方法和析構方法 160
11.4 訪問器 161
11.5 類的繼承 163
11.6 抽象類和接口 163
11.6.1 抽象類 164
11.6.2 接口 165
11.7 面向對象的多態性 166
11.7.1 通過繼承實現多態 166
11.7.2 通過接口實現多態 167
11.8 PHP 7的新變化——支持匿名類 168
11.9 疑難解惑 169
第12章 不可避免的問題——錯誤處理
和異常處理 171
12.1 常見的錯誤和異常 172
12.2 錯誤處理 175
12.2.1 php.ini中的錯誤處理機制 175
12.2.2 套用DIE語句進行調試 175
12.2.3 自定義錯誤和錯誤觸發器 176
12.2.4 錯誤記錄 179
12.3 PHP 7新變化——改變了錯誤的報告
方式 180
12.4 異常處理 180
12.4.1 異常的基本處理方法 180
12.4.2 自定義的異常處理器 182
12.4.3 處理多個異常 183
12.4.4 設定頂層異常處理器 184
12.5 案例實戰——處理異常或錯誤 185
12.6 疑難解惑 186
第13章 與外界的交流——操作檔案與
187
13.1 查看檔案和 188
13.1.1 查看檔案名稱稱 188
13.1.2 查看名稱 188
13.1.3 查看檔案真實 189
13.2 查看檔案信息 189
13.2.1 查看檔案的類型 189
13.2.2 查看檔案的訪問和修改時間 190
13.3 檔案操作 190
13.3.1 打開檔案和關閉檔案 190
13.3.2 讀取檔案 191
13.3.3 檔案數據寫入 193
13.3.4 重命名和移動檔案 194
13.3.5 複製檔案 195
13.3.6 刪除檔案 195
13.4 操作 196
13.5 上傳檔案 200
13.5.1 全局變數$_FILES 200
13.5.2 檔案上傳 200
13.6 案例實戰——編寫訪客計數器 202
13.7 疑難解惑 203
第14章 圖形界面設計——GD繪圖與
圖像處理 205
14.1 在PHP中載入GD庫 206
14.2 圖形圖像的典型套用案例 208
14.2.1 創建一個簡單的圖像 209
14.2.2 使用GD2的函式在圖片上
添加文字 210
14.2.3 使用TrueType字型處理中文
生成圖片 211
14.3 Jpgraph庫的基本操作 213
14.3.1 Jpgraph的安裝 214
14.3.2 Jpgraph的配置 214
14.4 案例實戰1——製作圓形統計圖 215
14.5 案例實戰2——製作3D餅形
統計圖 217
14.6 疑難解惑 218
第15章 保持HTTP連線狀態——Cookie
和會話管理 221
15.1 Cookie的基本操作 222
15.1.1 什麼是Cookie 222
15.1.2 創建Cookie 222
15.1.3 讀取Cookie 223
15.1.4 刪除Cookie 224
15.2 認識Session 225
15.2.1 什麼是Session 225
15.2.2 Session的基本功能 226
15.2.3 Cookie與Session 226
15.2.4 儲存Session ID在Cookie或
URL中 226
15.3 會話管理 226
15.3.1 創建會話 227
15.3.2 註冊會話變數 227
15.3.3 使用會話變數 228
15.3.4 註銷和銷毀會話變數 228
15.4 案例實戰——綜合套用會話管理 229
15.5 疑難解惑 230
第3篇 操作MySQL資料庫 231
第16章 管理MySQL的利器
——phpMyAdmin操作MySQL
資料庫 233
16.1 什麼是MySQL 234
16.1.1 客戶-伺服器軟體 234
16.1.2 資料庫的原理 234
16.1.3 MySQL版本 235
16.1.4 MySQL的優勢 236
16.2 創建MySQL資料庫和數據表 236
16.2.1 啟動phpMyAdmin管理
程式 236
16.2.2 創建資料庫 237
16.2.3 認識數據表的欄位 238
16.2.4 創建數據表 240
16.2.5 添加數據 242
16.3 加密MySQL資料庫 243
16.3.1 MySQL資料庫的安全問題 243
16.3.2 為MySQL管理賬號加上
密碼 243
16.4 資料庫的備份與還原 245
16.4.1 資料庫的備份 245
16.4.2 資料庫的還原 246
16.5 疑難解惑 248
第17章 資料庫編程——MySQL資料庫
與SQL查詢 249
17.1 安裝與配置MySQL 5.7 250
17.1.1 安裝MySQL 5.7 250
17.1.2 配置MySQL 5.7 252
17.2 啟動服務並登錄MySQL資料庫 255
17.2.1 啟動MySQL服務 255
17.2.2 登錄MySQL資料庫 256
17.3 MySQL資料庫的基本操作 258
17.3.1 創建資料庫 258
17.3.2 查看資料庫 258
17.3.3 刪除資料庫 259
17.3.4 選擇資料庫 259
17.4 MySQL數據表的基本操作 259
17.4.1 創建數據表 260
17.4.2 查看數據表的結構 261
17.4.3 修改數據表結構 262
17.4.4 刪除數據表 263
17.5 MySQL語句的操作 263
17.5.1 插入記錄 263
17.5.2 查詢記錄 264
17.5.3 修改記錄 265
17.5.4 刪除記錄 265
17.6 MySQL資料庫的備份與還原 265
17.6.1 數據備份 265
17.6.2 數據還原 272
17.7 疑難解惑 274
第18章 最經典的方法——使用MySQLi
操作MySQL 275
18.1 PHP訪問MySQL資料庫的一般
步驟 276
18.2 連線資料庫前的準備工作 276
18.3 PHP操作MySQL資料庫 277
18.3.1 連線MySQL伺服器 277
18.3.2 選擇資料庫 278
18.3.3 創建資料庫 279
18.3.4 創建數據表 281
18.3.5 添加數據 282
18.3.6 一次插入多條數據 284
18.3.7 讀取數據 285
18.3.8 釋放資源 287
18.3.9 關閉連線 287
18.4 案例實戰1——動態添加員工信息 287
18.5 案例實戰2——動態查詢數據信息 289
18.6 提升安全性——防止SQL注入的
攻擊 290
18.7 疑難解惑 292
第19章 最兼容的方法——使用PDO
操作MySQL資料庫 293
19.1 認識PDO 294
19.2 PDO的安裝 294
19.3 使用PDO操作MySQL 295
19.3.1 連線MySQL資料庫 296
19.3.2 創建資料庫 297
19.3.3 創建數據表 298
19.3.4 添加數據 299
19.3.5 一次插入多條數據 300
19.3.6 讀取數據 300
19.4 提升安全性——防止SQL注入的
攻擊 302
19.5 疑難解惑 303
第4篇 項目實訓 305
第20章 項目實訓1——開發驗證碼
系統 307
20.1 系統分析 308
20.1.1 學習目標 308
20.1.2 需求分析 308
20.1.3 系統文檔 308
20.2 系統的代碼實現 309
20.2.1 系統主界面 309
20.2.2 生成並輸入驗證碼功能 311
20.2.3 驗證碼控制器 311
20.3 系統測試 313
第21章 項目實訓2——開發個人部落格
系統 315
21.1 系統的需求分析 316
21.1.1 學習目標 316
21.1.2 需求分析 316
21.1.3 系統文檔 316
21.2 資料庫分析 317
21.2.1 分析資料庫 317
21.2.2 創建數據表 317
21.3 個人部落格系統的代碼實現 318
21.3.1 部落格數據模型的檔案 318
21.3.2 個人部落格系統的主頁面 322
21.3.3 個人部落格新建和修改頁面 324
21.3.4 個人部落格刪除頁面 326
21.4 系統測試 327
第22章 項目實訓3——開發用戶許可權
系統 329
22.1 必備知識 330
22.2 系統的需求分析 330
22.2.1 學習目標 331
22.2.2 需求分析 331
22.2.3 系統文檔 331
22.3 資料庫分析 332
22.3.1 分析資料庫 332
22.3.2 創建數據表 333
22.4 用戶許可權系統的代碼實現 335
22.4.1 系統入口檔案 335
22.4.2 頁面控制器 335
22.4.3 用戶登錄頁面 337
22.4.4 數據模型的檔案 339
22.4.5 用戶數據模型頁面 341
22.4.6 角色數據模型頁面 343
22.4.7 許可權數據模型頁面 344
22.4.8 許可權顯示頁面 345
22.5 系統測試 346
第23章 項目實訓4——開發社區市場
系統 349
23.1 必備知識 350
23.2 系統的需求分析 350
23.2.1 學習目標 350
23.2.2 需求分析 351
23.2.3 系統文檔 351
23.3 還原資料庫 352
23.4 社區市場系統的代碼實現 353
23.4.1 系統入口檔案 353
23.4.2 項目配置檔案 353
23.4.3 物品與需求展示控制器 356
23.4.4 用戶後台控制器 376
23.4.5 數據模型的檔案 390
23.5 系統測試 392