目 錄
第1篇 新 手 入 門
第1章 初識PHP 2
視頻講解:7分鍾
1.1 PHP概述 3
1.1.1 PHP是什麼 3
1.1.2 PHP 5的新特性 3
1.1.3 PHP的語言優勢 3
1.1.4 PHP語言的發展 4
1.2 PHP與其他語言的比較 5
1.3 PHP語言相關術語 5
1.4 資深程序員談如何學習PHP 7
1.5 常用代碼編輯工具 8
1.6 學習資源 9
1.6.1 PHP參考手冊 10
1.6.2 PHP學習討論 10
1.7 成功案例 10
1.8 本章小結 11
第2章 PHP環境搭建 12
視頻講解:75分鍾
2.1 搭建PHP開發環境的準備工作 13
2.1.1 在Windows下搭建PHP開發環境的
準備工作 13
2.1.2 在Linux下搭建PHP開發環境的準備工作 13
2.2 Apache服務器的安裝和配置 13
2.2.1 在Windows下安裝Apache服務器 13
2.2.2 在Linux下安裝Apache服務器 16
2.3 PHP的安裝和配置 17
2.3.1 在Windows下安裝PHP 17
2.3.2 在Linux下安裝PHP 17
2.4 MySQL服務器的安裝和配置 18
2.4.1 在Windows下安裝MySQL服務器 18
2.4.2 在Linux下安裝MySQL服務器 21
2.5 初學者--應用組閤包快速搭建
PHP環境 22
2.6 第一個PHP程序 24
2.6.1 使用Macromedia Dreamweaver 8編寫
源程序 24
2.6.2 發布和運行PHP程序 25
2.7 環境安裝常見問題 25
2.7.1 Apache安裝常見問題 25
2.7.2 PHP安裝常見問題 26
2.7.3 MySQL安裝常見問題 27
2.8 實戰 27
2.8.1 輸齣係統的當前時間 27
2.8.2 輸齣"明日科技歡迎你" 29
2.8.3 輸齣一張漂亮的圖片 29
2.8.4 更改Apache服務器的端口號為82 30
2.8.5 Apache服務器的端口號修改後運行
第一個PHP程序 30
2.9 本章小結 31
2.10 學習成果檢驗 31
第3章 PHP語言基礎 32
視頻講解:125分鍾
3.1 學習語言基礎的重要性 33
3.2 PHP語法基礎 33
3.2.1 PHP標識符 33
3.2.2 PHP的注釋 34
3.3 PHP的數據類型 34
3.3.1 整型 35
3.3.2 布爾型 35
3.3.3 浮點型 36
3.3.4 字符串型 36
3.3.5 null型 38
3.3.6 數據類型的轉換 39
3.4 PHP常量 40
3.4.1 聲明和使用常量 40
3.4.2 預定義常量 41
3.5 PHP變量 42
3.5.1 變量聲明及使用 42
3.5.2 變量作用域 44
3.5.3 可變變量 45
3.5.4 預定義變量 46
3.5.5 變量的生存周期 47
3.6 PHP運算符 47
3.6.1 字符串運算符 47
3.6.2 算術運算符 47
3.6.3 賦值運算符 48
3.6.4 遞增或遞減運算符 49
3.6.5 位運算符 50
3.6.6 邏輯運算符 50
3.6.7 比較運算符 51
3.6.8 條件運算符 52
3.6.9 運算符的使用規則 53
3.7 PHP的錶達式 53
3.8 實戰 54
3.8.1 判斷指定的年份是否為閏年 54
3.8.2 檢測變量是否為整型 55
3.8.3 輸齣姚明的個人信息 55
3.8.4 計算長方形的麵積 56
3.8.5 比較某一天的産品銷量 56
3.9 本章小結 57
3.10 學習成果檢驗 57
第4章 流程控製語句 58
視頻講解:80分鍾
4.1 學前導讀 59
4.1.1 什麼是算法 59
4.1.2 算法的描述方法 59
4.1.3 程序的3種控製結構 60
4.2 條件控製語句 61
4.2.1 if條件語句 62
4.2.2 switch...case分支控製語句 64
4.3 循環控製語句 65
4.3.1 while循環語句 65
4.3.2 do...while循環語句 66
4.3.3 for循環語句 67
4.3.4 foreach循環語句 68
4.4 跳轉控製語句 69
4.4.1 應用break語句跳齣循環 69
4.4.2 應用continue語句跳齣循環 70
4.5 實戰 71
4.5.1 過濾留言信息中的敏感詞 71
4.5.2 圖書信息顯示 73
4.5.3 應用switch語句設計網站主頁 74
4.5.4 應用continue語句計算100以內奇數的和 76
4.5.5 應用for語句製作一個乘法口訣錶 76
4.6 本章小結 77
4.7 學習成果檢驗 77
第5章 函數 78
視頻講解:75分鍾
5.1 自定義函數 79
5.1.1 函數的命名規則 79
5.1.2 自定義函數格式 79
5.1.3 調用自定義函數 80
5.1.4 函數的參數 80
5.1.5 函數返迴值 81
5.1.6 嵌套調用 82
5.1.7 遞歸調用 82
5.2 內建函數 83
5.3 輸齣語句 83
5.3.1 應用print語句輸齣字符 83
5.3.2 應用echo語句輸齣字符 84
5.3.3 應用printf語句格式化輸齣字符 85
5.3.4 應用sprintf語句格式化輸齣字符 86
5.4 引用文件 87
5.4.1 應用include語句引用文件 87
5.4.2 應用require語句引用文件 88
5.4.3 應用include_once語句引用文件 88
5.4.4 應用require_once語句引用文件 89
5.4.5 include語句和require語句的使用區彆 90
5.4.6 include_once語句和require_once語句的
使用區彆 90
5.5 實戰 90
5.5.1 通過自定義函數防止新聞主題信息齣現
中文亂碼 90
5.5.2 應用include語句構建在綫音樂網站主頁 92
5.5.3 對關鍵字進行高亮顯示 93
5.5.4 獲取上傳文件的後綴名 93
5.5.5 自定義一個為數字取絕對值的函數 94
5.6 本章小結 94
5.7 學習成果檢驗 95
第6章 字符串 96
視頻講解:76分鍾
6.1 字符串簡介 97
6.2 單引號與雙引號 97
6.3 定界符 98
6.4 連接字符串 99
6.5 轉義、還原字符串 100
6.5.1 手動轉義、還原字符串 100
6.5.2 自動轉義、還原字符串 101
6.6 獲取字符串長度 102
6.7 截取字符串 103
6.8 比較字符串 104
6.8.1 按字節比較 105
6.8.2 按自然排序法比較 105
6.8.3 指定從源字符串的位置比較 106
6.9 檢索字符串 106
6.9.1 應用strstr()函數檢索指定的關鍵字 106
6.9.2 應用substr_count()函數檢索子串
齣現的次數 107
6.10 替換子字符串 109
6.11 去除字符串中空白字符和特殊字符 112
6.11.1 去除字符串左邊空白字符和特殊字符 113
6.11.2 去除字符串右邊空白字符和特殊字符 113
6.11.3 去除字符串兩邊空白字符和特殊字符 113
6.12 格式化字符串 114
6.13 分割字符串 115
6.14 字符串與HTML相互轉換 116
6.15 實戰 117
6.15.1 超長文本的分頁顯示 117
6.15.2 控製頁麵中輸齣字符串的長度 119
6.15.3 應用explode()函數和implode()函數
分割和閤成字符串 120
6.15.4 應用substr()函數截取超長字符串 121
6.15.5 統一英文注冊用戶首字母大寫 122
6.16 本章小結 122
6.17 學習成果檢驗 123
第7章 正則錶達式 124
視頻講解:82分鍾
7.1 正則錶達式是什麼 125
7.2 正則錶達式常用術語 125
7.3 正則錶達式語法規則 125
7.3.1 行定位符(^和$) 125
7.3.2 字符類([]) 126
7.3.3 選擇字符(|) 126
7.3.4 連字符(-) 126
7.3.5 排除字符(^) 127
7.3.6 限定符(? * + {n,m}) 127
7.3.7 點字符(.) 127
7.3.8 轉義字符() 128
7.3.9 反斜杠() 128
7.3.10 括號字符(()) 129
7.3.11 反嚮引用 129
7.4 POSIX擴展正則錶達式函數 130
7.4.1 查找字符串 130
7.4.2 替換字符串 130
7.4.3 分割字符串 130
7.5 PCRE兼容正則錶達式函數 131
7.5.1 查找字符串 131
7.5.2 替換字符串 132
7.6 實戰 133
7.6.1 通過正則錶達式無刷新驗證用戶注冊
信息是否閤理 133
7.6.2 驗證E-mail地址格式是否正確 135
7.6.3 驗證文本框輸入的是否為整數 135
7.6.4 驗證IP地址是否有效 136
7.6.5 驗證注冊信息是否符閤要求 137
7.7 本章小結 138
7.8 學習成果檢驗 139
第8章 PHP數組 140
視頻講解:90分鍾
8.1 數組是什麼 141
8.2 聲明數組 141
8.2.1 數組命名規則 141
8.2.2 通過PHP函數創建數組 142
8.2.3 通過數組標識符"[]"創建數組 143
8.3 數組的類型 143
8.3.1 數字索引數組 143
8.3.2 關聯數組 144
8.4 輸齣數組 144
8.5 數組的構造 145
8.5.1 創建一維數組 145
8.5.2 創建二維數組 146
8.6 遍曆數組 146
8.6.1 foreach結構遍曆數組 146
8.6.2 each()函數遍曆數組 147
8.6.3 list()函數遍曆數組 147
8.6.4 for語句遍曆數組 148
8.7 閤並數組 149
8.8 字符串與數組的轉換 150
8.8.1 應用explode()函數將字符串轉換成數組 150
8.8.2 應用implode()函數將數組轉換成一個
新字符串 150
8.9 統計數組元素個數 150
8.10 數組排序 151
8.10.1 數字數組排序 151
8.10.2 關聯數組排序 153
8.11 實戰 153
8.11.1 嚮投票係統添加投票選項 153
8.11.2 用foreach結構遍曆二維數組 154
8.11.3 生成在綫考試題 155
8.11.4 判斷元素值是否在數組中 155
8.11.5 嚮數組中添加元素 156
8.12 本章小結 157
8.13 學習成果檢驗 157
第9章 日期和時間 158
視頻講解:93分鍾
9.1 係統時區設置 159
9.1.1 時區的劃分 159
9.1.2 PHP中的時區設置 159
9.2 UNIX時間戳 160
9.2.1 什麼是時間戳 160
9.2.2 UNIX時間戳 160
9.2.3 獲取指定日期的時間戳 160
9.2.4 獲取當前時間戳 161
9.2.5 將英文文本的日期時間描述解析為UNIX
時間戳 162
9.3 PHP日期和時間的處理 162
9.3.1 格式化日期和時間 163
9.3.2 獲取日期和時間信息 164
9.3.3 獲取本地化的日期和時間 165
9.3.4 檢驗日期和時間的有效性 167
9.4 實戰 168
9.4.1 實現倒計時的功能 168
9.4.2 實現生日提示功能 168
9.4.3 計算在綫考試用時和剩餘時間 170
9.4.4 網頁鬧鍾 173
9.4.5 輸齣中文格式的日期和時間 173
9.5 本章小結 174
9.6 學習成果檢驗 174
第10章 綜閤實例(一)--注冊登錄 175
視頻講解:46分鍾
10.1 注冊及登錄驗證概述 176
10.1.1 用戶注冊流程 176
10.1.2 用戶登錄流程 176
10.1.3 找迴密碼流程 176
10.1.4 程序預覽 176
10.2 熱點關鍵技術 177
10.2.1 防SQL注入技術 177
10.2.2 Ajax無刷新驗證技術 177
10.2.3 驗證碼技術 178
10.2.4 E-mail激活技術 181
10.2.5 應用鍵盤響應事件驗證信息是否閤法 181
10.2.6 PHP中操作Cookie技術 183
10.2.7 在JavaScript中操作Cookie技術 183
10.2.8 用戶自動登錄技術 184
10.3 數據庫設計 184
10.3.1 數據庫設計概述 184
10.3.2 封裝數據庫連接-操作類 184
10.4 用戶注冊 187
10.4.1 用戶注冊功能概述 187
10.4.2 注冊頁麵設計 187
10.4.3 檢測用戶名是否被占用 191
10.4.4 注冊信息處理 191
10.4.5 注冊用戶激活 192
10.4.6 免激活用戶注冊 193
10.5 用戶登錄 194
10.5.1 用戶登錄功能概述 194
10.5.2 登錄頁麵設計 194
10.5.3 登錄處理頁 197
10.5.4 生成及刷新驗證碼 198
10.6 找迴密碼 198
10.6.1 找迴密碼功能概述 198
10.6.2 找迴密碼功能實現過程 198
第2篇 數 據 庫 篇
第11章 MySQL數據庫基本操作 202
視頻講解:70分鍾
11.1 MySQL簡介 203
11.1.1 MySQL是什麼 203
11.1.2 MySQL特點 203
11.1.3 MySQL 5支持的特性 204
11.2 啓動、連接、斷開和停止MySQL
服務器 204
11.2.1 啓動MySQL服務器 204
11.2.2 連接和斷開MySQL服務器 205
11.2.3 停止MySQL服務器 205
11.3 使用MySQL命令行操作數據庫 206
11.3.1 創建數據庫 206
11.3.2 查看數據庫 207
11.3.3 選擇數據庫 207
11.3.4 刪除數據庫 207
11.4 使用MySQL命令行操作數據錶 207
11.4.1 創建數據錶 207
11.4.2 查看錶結構 208
11.4.3 修改錶結構 209
11.4.4 重命名錶 210
11.4.5 刪除錶 210
11.5 MySQL語句操作 210
11.5.1 插入記錄 210
11.5.2 瀏覽數據庫記錄 211
11.5.3 修改記錄 211
11.5.4 刪除記錄 212
11.6 實戰 212
11.6.1 管理MySQL數據庫及數據錶 212
11.6.2 創建db_book圖書數據庫以及圖書
信息錶tb_mrbook 213
11.6.3 嚮tb_mrbook錶中添加、修改和刪除
數據 214
11.6.4 用mysqldump命令導齣數據庫 214
11.6.5 用mysql命令將數據庫文件導入數據庫 215
11.7 本章小結 215
11.8 學習成果檢驗 215
第12章 phpMyAdmin圖形化管理工具 216
視頻講解:57分鍾
12.1 phpMyAdmin簡介 217
12.2 phpMyAdmin的安裝和配置 217
12.2.1 Windows係統下phpMyAdmin的
安裝配置 217
12.2.2 Linux係統下phpMyAdmin的安裝配置 218
12.3 phpMyAdmin的使用 219
12.3.1 管理數據庫 219
12.3.2 管理數據錶 220
12.3.3 管理數據記錄 221
12.3.4 導入/導齣數據 224
12.4 實戰 225
12.4.1 通過phpMyAdmin圖形化管理工具修改
數據庫密碼 225
12.4.2 使用phpMyAdmin設置編碼格式 225
12.4.3 通過phpMyAdmin添加服務器新用戶 226
12.4.4 在phpMyAdmin中刪除MySQL服務器
登錄密碼 226
12.4.5 手動備份、恢復MySQL數據庫 227
12.5 本章小結 228
12.6 學習成果檢驗 228
第13章 使用MySQL函數操作數據庫 229
視頻講解:182分鍾
13.1 PHP訪問MySQL數據庫的一般
步驟 230
13.2 使用MySQL函數庫 230
13.2.1 連接MySQL服務器 231
13.2.2 選擇數據庫 231
13.2.3 執行SQL語句 232
13.2.4 應用mysql_fetch_array()函數獲取結果集 233
13.2.5 應用mysql_fetch_object()函數獲取結果集 235
13.2.6 應用mysql_fetch_row()函數獲取結果集 236
13.2.7 應用mysql_num_rows()函數獲取記錄數 237
13.2.8 關閉連接 238
13.3 PHP操作MySQL數據庫 239
13.3.1 應用insert命令動態添加公告信息 239
13.3.2 應用select命令查詢公告信息 241
13.3.3 解決截取公告主題亂碼問題 243
13.3.4 分頁顯示公告信息 244
13.3.5 應用update命令動態編輯公告信息 246
13.3.6 應用delete命令動態刪除公告信息 248
13.4 實戰 249
13.4.1 輸入頁碼跳轉到指定頁 249
13.4.2 圖片的分欄分頁顯示 251
13.4.3 留言闆 253
13.4.4 高級查詢 256
13.4.5 分組統計 258
13.4.6 使用下拉菜單跳轉頁麵 260
13.5 本章小結 262
13.6 學習成果檢驗 263
第14章 ADODB類庫 264
視頻講解:96分鍾
14.1 ADODB類庫是什麼 265
14.2 ADODB支持的數據庫 265
14.3 ADODB下載與安裝 266
14.4 ADODB類庫 267
14.4.1 連接數據庫函數 267
14.4.2 操作數據庫函數 268
14.4.3 控製結果集存取方式函數 272
14.4.4 操作結果集函數 273
14.4.5 處理事務函數 275
14.4.6 生成HTML錶格函數 275
14.4.7 生成下拉列錶框函數 276
14.4.8 實現分頁功能函數 277
14.4.9 錯誤處理函數 278
14.5 實戰 278
14.5.1 實現分頁 278
14.5.2 處理事務 279
14.5.3 緩存函數+ADODB動態生成靜態頁 280
14.5.4 添加商品信息 284
14.5.5 刪除圖書信息 287
14.6 本章小結 289
14.7 學習成果檢驗 289
第15章 PDO數據庫抽象層 290
視頻講解:60分鍾
15.1 什麼是PDO 291
15.1.1 PDO概述 291
15.1.2 PDO特點 291
15.1.3 安裝PDO 291
15.2 PDO連接數據庫 292
15.2.1 PDO構造函數 292
15.2.2 DSN詳解 292
15.3 PDO中執行SQL語句 292
15.3.1 exec()方法 293
15.3.2 query()方法 293
15.3.3 預處理語句--prepare()和execute() 294
15.4 PDO中獲取結果集 295
15.4.1 fetch()方法 295
15.4.2 fetchAll()方法 296
15.4.3 fetchColumn()方法 297
15.5 PDO中捕獲SQL語句中的錯誤 299
15.5.1 使用默認模式--PDO::
ERRMODE_SILENT 299
15.5.2 使用警告模式--PDO::
ERRMODE_WARNING 300
15.5.3 使用異常模式--PDO::
ERRMODE_EXCEPTION 301
15.6 PDO中錯誤處理 302
15.6.1 errorCode()方法 302
15.6.2 errorInfo()方法 303
15.7 PDO中事務處理 304
15.8 PDO中存儲過程 305
15.9 實戰 306
15.9.1 明日書店會員注冊 306
15.9.2 添加留言信息 308
15.9.3 查詢圖書信息 309
15.9.4 刪除會員信息 310
15.9.5 修改商品信息 312
15.10 本章小結 316
15.11 學習成果檢驗 316
第16章 綜閤實例(二)--在綫論壇 317
視頻講解:25分鍾
16.1 在綫論壇概述 318
16.1.1 模塊概述 318
16.1.2 功能結構 318
16.1.3 權限分配 318
16.1.4 程序預覽 319
16.2 數據庫設計 320
16.2.1 數據庫設計 320
16.2.2 數據錶設計 320
16.2.3 連接數據庫 321
16.3 用戶注冊 321
16.3.1 用戶注冊概述 321
16.3.2 檢測用戶名是否被占用 321
16.3.3 用戶注冊的實現 322
16.4 在綫論壇前颱 323
16.4.1 帖子瀏覽功能概述 323
16.4.2 分頁顯示迴復信息 323
16.4.3 帖子的發布 326
16.4.4 注銷用戶 328
16.5 後颱管理 328
16.5.1 在綫論壇後颱管理概述 328
16.5.2 通過switch和include語句設計後颱
首頁框架 328
16.5.3 欄目管理 329
16.6 技術提煉 332
16.6.1 分頁技術 332
16.6.2 網頁訪問權限設置 334
16.6.3 頁麵刷新技術 334
第3篇 核 心 技 術
第17章 會話管理 336
視頻講解:117分鍾
17.1 Cookie管理 337
17.1.1 瞭解Cookie 337
17.1.2 創建Cookie 338
17.1.3 讀取Cookie 339
17.1.4 刪除Cookie 340
17.1.5 Cookie應用的注意事項 340
17.1.6 Cookie的綜閤應用--自動登錄 341
17.2 Session管理 343
17.2.1 瞭解Session 343
17.2.2 啓動Session 343
17.2.3 應用Session 344
17.2.4 刪除Session 345
17.2.5 Session的綜閤應用--通過Session
控製頁麵訪問權限 345
17.3 Session與Cookie的比較 347
17.4 實戰 347
17.4.1 通過Cookie實現單點登錄 347
17.4.2 Session購物車 349
17.4.3 防止頁麵刷新 353
17.4.4 通過Session變量屏蔽刷新頁麵對
計數器的影響 354
17.4.5 應用Session變量控製用戶登錄時間 355
17.5 本章小結 357
17.6 學習成果檢驗 357
第18章 圖形圖像 358
視頻講解:106分鍾
18.1 瞭解GD2函數庫 359
18.2 參數設置 359
18.3 Jpgraph類庫 359
18.3.1 Jpgraph類庫簡介 360
18.3.2 Jpgraph的安裝 360
18.3.3 Jpgraph的配置 360
18.4 常用圖像處理 361
18.4.1 創建畫布 361
18.4.2 顔色處理 361
18.4.3 輸齣圖像 362
18.4.4 繪製基本圖形 362
18.4.5 填充幾何圖形 363
18.4.6 輸齣文字 364
18.5 實戰 365
18.5.1 創建一個簡單的圖像 365
18.5.2 應用GD2函數在照片上添加文字 366
18.5.3 應用圖像處理技術生成驗證碼 366
18.5.4 Jpgraph創建柱狀圖展示年度收支情況 368
18.5.5 Jpgraph創建摺綫圖統計圖書銷售走勢 369
18.5.6 Jpgraph創建3D餅形圖展示部門
業績比較 371
18.6 本章小結 371
18.7 學習成果檢驗 372
第19章 文件係統 373
視頻講解:74分鍾
19.1 文件處理 374
19.1.1 打開文件 374
19.1.2 讀取文件 375
19.1.3 寫入文件 377
19.1.4 操作文件 378
19.1.5 關閉文件 379
19.2 文件上傳 379
19.2.1 配置php.ini文件 379
19.2.2 預定義變量$_FILES 379
19.2.3 文件上傳函數 380
19.3 文件處理的高級應用 381
19.3.1 遠程文件的訪問 381
19.3.2 文件指針 382
19.3.3 鎖定文件 383
19.4 目錄處理 384
19.4.1 打開目錄 384
19.4.2 瀏覽目錄 384
19.4.3 操作目錄 384
19.4.4 關閉目錄 385
19.5 實戰 385
19.5.1 多圖片上傳 385
19.5.2 通過文本文件統計頁麵訪問量 387
19.5.3 規範化的文件上傳 388
19.5.4 文本文件的分頁輸齣 389
19.5.5 從文本文件中讀取注冊服務條款 390
19.6 本章小結 391
19.7 學習成果檢驗 391
第20章 麵嚮對象 392
視頻講解:160分鍾
20.1 麵嚮對象的基本概念 393
20.1.1 類 393
20.1.2 對象 393
20.1.3 麵嚮對象編程的三大特點 393
20.2 類與對象 393
20.2.1 定義類 394
20.2.2 實例化類 394
20.2.3 使用對象 395
20.2.4 成員變量 396
20.2.5 成員函數 396
20.3 類的權限修飾符 397
20.3.1 public(公有成員) 397
20.3.2 private(私有成員) 398
20.3.3 protected(保護成員) 398
20.4 構造函數 399
20.4.1 創建構造函數 399
20.4.2 調用父類構造函數 400
20.5 析構函數 400
20.6 使用$this變量訪問方法和屬性 401
20.7 static關鍵字 402
20.8 final關鍵字 403
20.9 抽象類 403
20.10 接口的使用 405
20.11 實戰 406
20.11.1 麵嚮對象的用戶登錄身份驗證 406
20.11.2 麵嚮對象的數據分頁顯示 407
20.11.3 封裝一個數據庫操作類 409
20.11.4 用麵嚮對象生成圖像驗證碼 410
20.11.5 封裝一個顯示頁碼的分頁類 411
20.11.6 數據統計類中定義求數字平均值的方法 413
20.11.7 封裝特殊字符轉義類 414
20.12 本章小結 414
20.13 學習成果檢驗 414
第21章 PHP加密技術 415
視頻講解:8分鍾
21.1 加密技術簡介 416
21.1.1 MD5算法 416
21.1.2 SHA1算法 417
21.1.3 DES算法 417
21.1.4 MIME/BASE64的算法 417
21.2 PHP內置加密函數 417
21.2.1 使用crypt()函數進行加密 418
21.2.2 使用md5()函數進行加密 419
21.2.3 使用sha1()函數進行加密 419
21.2.4 使用base64_encode()函數進行編碼 420
21.2.5 使用base64_decode()函數進行解碼 420
21.3 PHP加密擴展庫 420
21.3.1 Mcrypt擴展庫 420
21.3.2 Mhash擴展庫 422
21.4 實戰 423
21.4.1 用戶注冊密碼的MD5加密 423
21.4.2 用戶注冊密碼的crypt加密 424
21.4.3 用自定義函數對用戶密碼進行加密 425
21.4.4 隱藏PHP文件擴展名 427
21.4.5 禁止用戶輸入敏感字符 428
21.5 本章小結 430
21.6 學習成果檢驗 430
第22章 程序調試與異常處理 431
視頻講解:70分鍾
22.1 程序基本調試流程 432
22.2 PHP中的錯誤類型 432
22.2.1 語法錯誤 432
22.2.2 語義錯誤 434
22.2.3 邏輯錯誤 434
22.2.4 注釋錯誤 435
22.2.5 運行錯誤 435
22.3 PHP錯誤的調試 435
22.3.1 PHP的錯誤報告 436
22.3.2 啓動錯誤報告 436
22.3.3 使用print語句調試程序 436
22.3.4 應用前綴字符@屏蔽PHP腳本錯誤
提示 437
22.3.5 使用錯誤處理器記錄日誌 437
22.4 SQL錯誤的調試 438
22.4.1 PHP與MySQL連接錯誤 438
22.4.2 SQL語句錯誤 439
22.5 實戰 441
22.5.1 分析、解決PHP與MySQL連接錯誤 441
22.5.2 解決數據庫亂碼問題 442
22.5.3 封裝異常處理類 444
22.5.4 使用錯誤處理器記錄日誌 445
22.5.5 通過phpMyAdmin調試SQL語句中
的錯誤 445
22.6 本章小結 446
22.7 學習成果檢驗 446
第23章 綜閤實例(三)--投票係統 447
視頻講解:45分鍾
23.1 投票係統概述 448
23.1.1 模塊概述 448
23.1.2 功能結構 448
23.1.3 程序預覽 448
23.2 數據庫設計 449
23.2.1 數據庫設計 449
23.2.2 數據錶設計 450
23.2.3 連接數據庫 450
23.3 投票 450
23.3.1 用戶注冊 450
23.3.2 用戶登錄 452
23.3.3 投票主題瀏覽 453
23.3.4 投票內容提交 453
23.4 投票管理 458
23.4.1 投票管理概述 458
23.4.2 動態生成投票主題及選項 458
23.4.3 刪除投票主題與投票內容 461
23.4.4 刷新投票結果 462
23.5 技術提煉 463
23.5.1 通過3D餅形圖分析投票結果 463
23.5.2 通過柱形圖分析投票結果 464
23.5.3 Cookie投票限製 466
23.5.4 通過IP限製重復投票 467
第4篇 Web前端開發
第24章 PHP與Web頁麵交互 470
視頻講解:124分鍾
24.1 錶單 471
24.1.1 創建錶單 471
24.1.2 認識錶單元素 471
24.2 在Web頁中創建錶單 474
24.3 在Web頁中嵌入PHP腳本 475
24.3.1 在HTML標記中嵌入PHP腳本 475
24.3.2 為錶單元素賦值 476
24.4 提交錶單數據 476
24.4.1 POST方法提交錶單數據 476
24.4.2 GET方法提交錶單數據 477
24.4.3 POST方法與GET方法的使用區彆 478
24.5 PHP全局變量 478
24.5.1 $_POST[]全局變量 478
24.5.2 $_GET[]全局變量 480
24.5.3 $_SESSION[]全局變量 480
24.6 對URL傳遞的參數進行編/解碼 480
24.6.1 對URL傳遞的參數進行編碼 480
24.6.2 對URL編碼的字符串進行解碼 481
24.7 實戰 481
24.7.1 發布和查看公告信息 482
24.7.2 圖書藉閱 483
24.7.3 設計一個用戶注冊錶單並獲取用戶
注冊信息 484
24.7.4 限製多行文本域輸入的字符個數 485
24.7.5 獲取用戶的個人信息 486
24.7.6 用戶登錄 489
24.7.7 設置文本框的隻讀屬性 490
24.7.8 對超鏈接傳遞的數據進行編碼 491
24.8 本章小結 491
24.9 學習成果檢驗 491
第25章 PHP與JavaScript交互 492
視頻講解:81分鍾
25.1 瞭解JavaScript 493
25.1.1 JavaScript是什麼 493
25.1.2 JavaScript能做什麼 493
25.2 JavaScript語言基礎 493
25.2.1 JavaScript數據類型 493
25.2.2 JavaScript變量 494
25.2.3 JavaScript注釋 495
25.3 自定義函數 496
25.4 JavaScript腳本嵌入方式 496
25.4.1 在HTML中嵌入JavaScript腳本 496
25.4.2 應用JavaScript事件調用自定義函數 497
25.4.3 在PHP動態網頁中引用JS文件 498
25.4.4 解決瀏覽器不支持JavaScript的問題 499
25.5 實戰 501
25.5.1 應用JavaScript腳本製作樹狀導航菜單 501
25.5.2 PHP與JavaScript腳本的交互應用 503
25.5.3 用JavaScript腳本實現年月日的聯動 506
25.5.4 用JavaScript腳本實現幾秒後跳轉頁麵 507
25.5.5 確認框confirm()的應用 509
25.6 本章小結 511
25.7 學習成果檢驗 511
第26章 XML技術 512
視頻講解:79分鍾
26.1 XML概述 513
26.2 XML語法 513
26.2.1 XML文檔結構 513
26.2.2 XML聲明 513
26.2.3 XML處理指令 514
26.2.4 XML注釋 514
26.2.5 XML元素 514
26.2.6 XML屬性 516
26.3 創建XML文檔 516
26.4 SimpleXML 517
26.4.1 創建SimpleXML對象 517
26.4.2 遍曆所有子元素 518
26.4.3 遍曆所有屬性 519
26.4.4 訪問特定節點元素和屬性 520
26.4.5 修改XML數據 520
26.4.6 保存XML文檔 521
26.5 實戰 522
26.5.1 動態創建XML文檔 522
26.5.2 動態讀取XML文檔 524
26.5.3 通過XPath查詢XML中的數據 525
26.5.4 動態添加XML中的數據 527
26.5.5 動態刪除XML中的數據 528
26.6 本章小結 531
26.7 學習成果檢驗 531
第27章 Ajax技術 532
視頻講解:77分鍾
27.1 Ajax概述 533
27.1.1 什麼是Ajax 533
27.1.2 Ajax的開發模式 533
27.1.3 Ajax的優點 533
27.2 Ajax技術的組成 534
27.2.1 JavaScript腳本語言 534
27.2.2 XMLHttpRequest對象 534
27.2.3 XML語言 537
27.2.4 DOM 538
27.2.5 CSS 538
27.3 Ajax與PHP的交互 538
27.3.1 通過GET方式與PHP進行交互 538
27.3.2 通過POST方式與PHP進行交互 540
27.4 Ajax開發常見問題 542
27.5 實戰 543
27.5.1 在PHP中應用Ajax技術檢測用戶名 543
27.5.2 在PHP中應用Ajax技術實現博客
文章類彆添加 544
27.5.3 使用jQuery製作級聯下拉列錶框 546
27.5.4 應用Ajax技術刪除數據 548
27.5.5 應用Ajax技術製作分類列錶框 550
27.6 本章小結 552
27.7 學習成果檢驗 552
第28章 綜閤實例(四)--購物車 553
視頻講解:45分鍾
28.1 購物車模塊概述 554
28.1.1 功能概述 554
28.1.2 購物車操作流程 554
28.1.3 程序預覽 554
28.2 數據庫設計 555
28.2.1 創建數據庫 555
28.2.2 創建數據錶 555
28.3 首頁設計 556
28.3.1 首頁概述 556
28.3.2 首頁實現過程 557
28.4 登錄模塊設計 558
28.4.1 登錄模塊概述 558
28.4.2 用戶注冊 558
28.4.3 用戶登錄 560
28.5 商品展示模塊設計 561
28.5.1 商品展示模塊概述 561
28.5.2 商品展示模塊 562
28.6 購物車模塊設計 563
28.6.1 購物車模塊概述 563
28.6.2 購物車展示 564
28.6.3 更改商品數量 565
28.6.4 刪除商品 566
28.6.5 保存購物車 567
28.7 技術提煉 569
28.7.1 數據庫連接、管理和分頁類文件 569
28.7.2 Smarty模闆配置類文件 571
28.7.3 執行類的實例化文件 571
28.7.4 Smarty模闆頁中的框架技術 572
28.7.5 Ajax無刷新驗證技術 572
28.7.6 分頁技術 574
28.7.7 購物車中商品添加技術 574
第5篇 框 架 應 用
第29章 Smarty模闆技術 578
視頻講解:102分鍾
29.1 Smarty簡介 579
29.1.1 Smarty模闆引擎 579
29.1.2 開發模式與運行流程 579
29.2 Smarty的安裝配置 580
29.2.1 Smarty下載和安裝 580
29.2.2 Smarty配置 580
29.2.3 第一個Smarty程序 581
29.3 Smarty模闆設計 582
29.3.1 Smarty模闆文件 583
29.3.2 注釋 583
29.3.3 變量 583
29.3.4 修飾變量 585
29.3.5 流程控製 586
29.3.6 內建函數 588
29.4 Smarty程序設計 590
29.4.1 Smarty中的常用方法 590
29.4.2 Smarty的配置變量 591
29.5 實戰 591
29.5.1 通過Smarty實現網頁的動靜分離 591
29.5.2 Smarty分頁類 593
29.5.3 網站公告 596
29.5.4 Smarty模闆truncate()方法截取字符串 597
29.5.5 輸齣會員信息 600
29.6 本章小結 603
29.7 學習成果檢驗 603
第30章 ThinkPHP框架 604
視頻講解:150分鍾
30.1 ThinkPHP簡介 605
30.1.1 ThinkPHP框架的特點 605
30.1.2 環境要求 605
30.1.3 下載ThinkPHP框架 605
30.2 ThinkPHP架構 606
30.2.1 ThinkPHP的目錄結構 606
30.2.2 自動生成目錄 606
30.2.3 項目目錄部署方案 607
30.2.4 命名規範 608
30.2.5 項目構建流程 608
30.3 ThinkPHP的配置 610
30.3.1 配置格式 610
30.3.2 調試配置 611
30.4 ThinkPHP的控製器 611
30.4.1 控製器 611
30.4.2 跨模塊調用 612
30.5 ThinkPHP的模型 615
30.5.1 模型的命名 615
30.5.2 實例化模型 616
30.5.3 屬性訪問 619
30.5.4 連接數據庫 619
30.5.5 創建數據 622
30.5.6 連貫操作 623
30.5.7 CURD操作 624
30.6 ThinkPHP的視圖 626
30.6.1 模闆定義 627
30.6.2 模闆賦值 627
30.6.3 指定模闆文件 627
30.6.4 特殊字符串替換 628
30.7 內置ThinkTemplate模闆引擎 629
30.8 實戰 631
30.8.1 用戶信息的查詢、更新和刪除 631
30.8.2 用戶登錄 633
30.8.3 商品信息的分頁輸齣 636
30.8.4 新聞發布 637
30.8.5 帶查詢條件的分頁 641
30.9 本章小結 645
30.10 學習成果檢驗 645
第31章 綜閤實例(五)--明日導航網 646
視頻講解:39分鍾
31.1 需求分析 647
31.2 係統設計 647
31.2.1 係統功能結構 647
31.2.2 係統預覽 647
31.3 數據庫設計 648
31.3.1 數據庫設計 648
31.3.2 數據錶設計 648
31.3.3 連接數據庫 649
31.4 ThinkPHP架設項目結構 649
31.4.1 下載ThinkPHP框架 650
31.4.2 自動生成項目目錄 650
31.5 明日導航前颱頁麵設計 650
31.5.1 頁麵設計概述 651
31.5.2 控製器的創建 652
31.5.3 視圖中應用到的模闆標簽 653
31.5.4 在視圖中創建模闆文件 655
31.6 明日導航後颱管理設計 656
31.6.1 後颱管理概述 656
31.6.2 通過係統配置文件存儲後颱登錄數據 656
31.6.3 後颱管理架構解析 657
31.6.4 ThinkPHP框架中的分頁技術 657
31.6.5 後颱管理視圖中應用的模闆標簽 658
31.6.6 後颱登錄 659
31.6.7 後颱管理主頁 660
31.6.8 高級類彆管理 661
31.6.9 判斷訪問用戶的權限 664
31.6.10 操作提示頁麵 664
31.7 項目發布 665
31.8 本章小結 666
第6篇 項 目 實 戰
第32章 博客管理係統 668
視頻講解:169分鍾
32.1 項目描述 669
32.2 係統分析 669
32.2.1 需求分析 669
32.2.2 係統目標 669
32.2.3 係統功能結構 670
32.2.4 係統流程圖 670
32.3 軟件開發環境 670
32.4 數據庫與數據錶的設計 671
32.4.1 數據庫分析 671
32.4.2 數據庫E-R圖設計 671
32.4.3 創建數據庫和數據錶 672
32.5 首頁設計 673
32.5.1 首頁概述 673
32.5.2 首頁技術分析 674
32.5.3 首頁的實現過程 675
32.6 用戶管理模塊設計 676
32.6.1 用戶管理模塊概述 676
32.6.2 用戶注冊 676
32.6.3 用戶登錄 678
32.6.4 查詢用戶信息 679
32.6.5 瀏覽用戶信息 680
32.7 文章管理模塊設計 682
32.7.1 文章管理模塊概述 682
32.7.2 文章管理模塊技術分析 682
32.7.3 添加文章的實現過程 683
32.7.4 文章列錶的實現過程 684
32.7.5 查看、評論文章的實現過程 686
32.7.6 刪除文章或評論的實現過程 688
32.8 圖片上傳模塊設計 688
32.8.1 圖片上傳模塊概述 689
32.8.2 圖片上傳模塊技術分析 689
32.8.3 圖片上傳的實現過程 692
32.8.4 圖片瀏覽的實現過程 694
32.8.5 刪除圖片的實現過程 696
32.9 朋友圈模塊設計 696
32.9.1 朋友圈模塊概述 697
32.9.2 朋友圈模塊技術分析 697
32.9.3 查詢好友的實現過程 697
32.10 項目發布 699
32.10.1 通過個人服務器發布項目 699
32.10.2 通過租用空間發布項目 699
32.11 開發常見問題與解決 700
32.12 本章小結 701
第33章 應用Smarty模闆開發
電子商務平颱 702
視頻講解:281分鍾
33.1 項目描述 703
33.2 係統分析 703
33.2.1 需求分析 703
33.2.2 編寫項目計劃書 703
33.3 係統設計 703
33.3.1 係統目標 703
33.3.2 係統功能結構 704
33.3.3 係統流程圖 704
33.4 係統開發環境 705
33.5 數據庫與數據錶的設計 705
33.5.1 數據庫分析 705
33.5.2 創建數據庫和數據錶 706
33.6 搭建係統框架 707
33.7 公共文件設計 708
33.7.1 數據庫連接文件 708
33.7.2 Smarty配置文件 708
33.7.3 XMLHttpRequest對象文件 709
33.7.4 錶單樣式文件 709
33.8 前颱首頁設計 711
33.9 登錄模塊設計 712
33.9.1 用戶注冊 713
33.9.2 用戶登錄 717
33.9.3 找迴密碼 719
33.10 會員信息模塊設計 723
33.10.1 會員中心 723
33.10.2 安全退齣 725
33.11 商品展示模塊 726
33.11.1 創建PHP頁 726
33.11.2 創建模闆頁 726
33.11.3 JavaScript腳本頁麵 727
33.12 購物車模塊設計 728
33.12.1 添加商品 728
33.12.2 顯示購物車 730
33.12.3 更改商品數量 731
33.12.4 刪除商品 732
33.12.5 保存購物車 734
33.13 收銀颱模塊設計 735
33.13.1 顯示訂單 736
33.13.2 填寫訂單 736
33.13.3 處理訂單 737
33.13.4 反饋訂單 739
33.13.5 查詢訂單 739
33.14 後颱首頁設計 741
33.14.1 後颱首頁布局 742
33.14.2 DIV+JavaScript+CSS實現樹狀菜單 742
33.15 類彆管理模塊設計 743
33.15.1 添加類彆 743
33.15.2 查看類彆 745
33.16 訂單管理模塊設計 749
33.17 開發的常見問題 751
33.17.1 解決Ajax的亂碼問題 751
33.17.2 使用JS腳本獲取、輸齣標簽內容 751
33.17.3 使用浮動框架做關聯菜單 752
33.17.4 禁用頁麵緩存 752
33.17.5 在新窗口中使用Session 752
33.17.6 防止站外鏈接 753
33.17.7 判斷上傳文件格式 753
33.18 網站運行錯誤分析 753
33.18.1 數據庫導緻的錯誤 754
33.18.2 Smarty模闆的配置錯誤 754
33.19 本章小結 755
附錄A PHP編碼規則 756
· · · · · · (
收起)