內容簡介
《PHP從入門到精通(第3版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用PHP進行網路開發應該掌握的各方面技術。
圖書目錄
第1篇基礎知識
第1章初識PHP 3
視頻講解:23分鐘
1.1PHP概述 4
1.1.1什麼是PHP 4
1.1.2PHP語言的優勢 4
1.1.3PHP5的新特性 5
1.1.4PHP的發展趨勢 5
1.1.5PHP的套用領域 6
1.2擴展庫 7
1.3如何學好PHP 9
1.4學習資源 10
1.4.1常用軟體資源 10
1.4.2常用網上資源 11
1.4.3主要圖書網站 11
1.5網站建設的基本流程 12
1.6小結 12
第2章PHP環境搭建和開發工具 13
視頻講解:36分鐘
2.1在Windows下使用AppServ
組合包 14
2.2在Linux下的安裝配置 16
2.2.1安裝Apache伺服器 17
2.2.2安裝MySQL資料庫 18
2.2.3安裝PHP5語言 18
2.3PHP常用開發工具 20
2.4第一個PHP實例 21
2.5小結 23
2.6練習與實踐 23
第3章PHP語言基礎 25
視頻講解:1小時55分鐘
3.1PHP標記風格 26
3.2PHP注釋的套用 27
3.3PHP的數據類型 28
3.3.1標量數據類型 28
3.3.2複合數據類型 33
3.3.3特殊數據類型 33
3.3.4轉換數據類型 35
3.3.5檢測數據類型 36
3.4PHP常量 37
3.4.1聲明和使用常量 37
3.4.2預定義常量 38
3.5PHP變數 39
3.5.1變數聲明及使用 39
3.5.2變數作用域 41
3.5.3可變變數 43
3.5.4PHP預定義變數 43
3.6PHP運算符 44
3.6.1算術運算符 44
3.6.2字元串運算符 45
3.6.3賦值運算符 46
3.6.4位運算符 46
3.6.5邏輯運算符 47
3.6.6比較運算符 48
3.6.7錯誤控制運算符 49
3.6.8三元運算符 49
3.6.9運算符的優先順序和結合規則 50
3.7PHP的表達式 50
3.8PHP函式 51
3.8.1定義和調用函式 51
3.8.2在函式間傳遞參數 52
3.8.3從函式中返回值 54
3.8.4變數函式 54
3.8.5對函式的引用 55
3.8.6取消引用 55
3.9PHP編碼規範 56
3.9.1什麼是編碼規範 56
3.9.2PHP書寫規則 57
3.9.3PHP命名規則 58
3.10小結 60
3.11練習與實踐 60
第4章流程控制語句 61
視頻講解:46分鐘
4.1條件控制語句 62
4.1.1if語句 62
4.1.2if…else語句 63
4.1.3elseif語句 64
4.1.4switch…case多重判斷語句 65
4.2循環控制語句 67
4.2.1while循環語句 68
4.2.2do…while循環語句 68
4.2.3for循環語句 69
4.2.4foreach循環語句 70
4.2.5流程控制的另一種書寫格式 71
4.2.6使用break/continue語句跳出循環 72
4.3小結 75
4.4練習與實踐 75
第5章字元串操作 77
視頻講解:1小時13分鐘
5.1字元串簡介 78
5.2單引號和雙引號的區別 78
5.3字元串的連線符 79
5.4字元串操作 80
5.4.1去除字元串首尾空格和特殊字元 80
5.4.2轉義、還原字元串數據 82
5.4.3獲取字元串的長度 85
5.4.4截取字元串 86
5.4.5比較字元串 87
5.4.6檢索字元串 90
5.4.7替換字元串 91
5.4.8格式化字元串 94
5.4.9分割字元串 94
5.4.10合成字元串 95
5.5小結 96
5.6練習與實踐 96
第6章正則表達式 97
視頻講解:43分鐘
6.1什麼是正則表達式 98
6.2正則表達式語法規則 98
6.2.1行定位符(^和$) 99
6.2.2單詞定界符(\b、\B) 99
6.2.3字元類([]) 99
6.2.4選擇字元(|) 100
6.2.5連字元(-) 100
6.2.6排除字元([^]) 101
6.2.7限定符(?*+{n,m}) 101
6.2.8點號字元(.) 101
6.2.9轉義字元(\) 102
6.2.10反斜線(\) 102
6.2.11括弧字元(()) 103
6.2.12反向引用 103
6.2.13模式修飾符 104
6.3POSIX擴展正則表達式函式 104
6.3.1ereg()函式和eregi()函式 105
6.3.2ereg_replace()函式和eregi_replace()
函式 105
6.3.3split()函式和spliti()函式 105
6.4PCRE兼容正則表達式函式 106
6.4.1preg_grep()函式 106
6.4.2preg_match()函式和preg_match_all()
函式 107
6.4.3preg_quote()函式 107
6.4.4preg_replace()函式 108
6.4.5preg_replace_callback()函式 109
6.4.6preg_split()函式 109
6.5套用正則表達式對用戶註冊信息
進行驗證 109
6.6小結 112
6.7練習與實踐 112
第7章PHP數組 113
視頻講解:1小時23分鐘
7.1什麼是數組 114
7.2聲明數組 114
7.3數組的類型 116
7.3.1數字索引數組 116
7.3.2關聯數組 116
7.4輸出數組 117
7.5數組的構造 118
7.5.1一維數組 118
7.5.2二維數組 118
7.6遍歷數組 119
7.7字元串與數組的轉換 121
7.8統計數組元素個數 123
7.9查詢數組中指定元素 124
7.10獲取數組中最後一個元素 125
7.11向數組中添加元素 126
7.12刪除數組中重複元素 127
7.13綜合運用數組函式——實現多檔案
上傳 127
7.14小結 129
7.15練習與實踐 129
第8章PHP與Web頁面互動 131
視頻講解:58分鐘
8.1表單 132
8.1.1創建表單 132
8.1.2表單元素 133
8.2在普通的Web頁中插入表單 136
8.3獲取表單數據的兩種方法 138
8.3.1使用POST()方法提交表單 138
8.3.2使用GET()方法提交表單 139
8.4PHP參數傳遞的常用方法 140
8.4.1$_POST[]全局變數 140
8.4.2$_GET[]全局變數 141
8.4.3$_SESSION[]變數 141
8.5在Web頁中嵌入PHP腳本 141
8.5.1在HTML標記中添加PHP腳本 141
8.5.2對表單元素的value屬性進行賦值 142
8.6在PHP中獲取表單數據 142
8.6.1獲取文本框、密碼域、隱藏域、按鈕、
文本域的值 142
8.6.2獲取單選按鈕的值 143
8.6.3獲取複選框的值 144
8.6.4獲取下拉列表框/選單列表框的值 145
8.6.5獲取檔案域的值 148
8.7對URL傳遞的參數進行編/解碼 149
8.7.1對URL傳遞的參數進行編碼 149
8.7.2對URL傳遞的參數進行解碼 150
8.8PHP與Web表單的綜合套用 150
8.9小結 151
8.10練習與實踐 152
第9章PHP與JavaScript互動 153
視頻講解:1小時05分鐘
9.1了解JavaScript 154
9.1.1什麼是JavaScript 154
9.1.2JavaScript的功能 154
9.2JavaScript語言基礎 154
9.2.1JavaScript數據類型 155
9.2.2JavaScript變數 155
9.2.3JavaScript注釋 156
9.3自定義函式 157
9.4JavaScript流程控制語句 158
9.4.1條件語句 158
9.4.2循環語句 162
9.4.3跳轉語句 163
9.5JavaScript事件 165
9.6調用JavaScript腳本(JavaScript腳本
嵌入方式) 166
9.6.1在HTML中嵌入JavaScript腳本 166
9.6.2套用JavaScript事件調用自定義函式 167
9.6.3在PHP動態網頁中引用JS檔案 167
9.6.4解決瀏覽器不支持JavaScript的問題 168
9.7在PHP中調用JavaScript腳本 171
9.7.1套用JavaScript腳本驗證表單元素是否
為空 171
9.7.2套用JavaScript腳本製作二級導航
選單 172
9.7.3套用JavaScript腳本控制文本域和
複選框 174
9.8小結 176
9.9練習與實踐 176
第10章日期和時間 177
視頻講解:30分鐘
10.1系統時區設定 178
10.1.1時區劃分 178
10.1.2時區設定 178
10.2PHP日期和時間函式 178
10.2.1獲得本地化時間戳 179
10.2.2獲取當前時間戳 180
10.2.3獲取當前日期和時間 180
10.2.4獲取日期信息 181
10.2.5檢驗日期的有效性 182
10.2.6輸出格式化的日期和時間 183
10.2.7顯示本地化的日期和時間 184
10.2.8將日期和時間解析為UNIX時間戳 187
10.3日期和時間的套用 188
10.3.1比較兩個時間的大小 188
10.3.2實現倒計時功能 189
10.3.3計算頁面腳本的運行時間 190
10.4小結 191
10.5練習與實踐 191
第2篇核心技術
第11章Cookie與Session 195
視頻講解:1小時08分鐘
11.1Cookie管理 196
11.1.1了解Cookie 196
11.1.2創建Cookie 197
11.1.3讀取Cookie 198
11.1.4刪除Cookie 199
11.1.5Cookie的生命周期 200
11.2Session管理 200
11.2.1了解Session 200
11.2.2創建會話 201
11.2.3Session設定時間 203
11.2.4通過Session判斷用戶的操作許可權 204
11.3Session高級套用 207
11.3.1Session臨時檔案 207
11.3.2Session快取 208
11.3.3Session資料庫存儲 209
11.4小結 212
11.5練習與實踐 212
第12章圖形圖像處理技術 213
視頻講解:46分鐘
12.1在PHP中載入GD庫 214
12.2Jpgraph的安裝與配置 215
12.2.1Jpgraph的安裝 215
12.2.2Jpgraph的配置 215
12.3圖形圖像的典型套用 216
12.3.1創建一個簡單的圖像 216
12.3.2使用GD2函式在照片上添加文字 216
12.3.3使用圖像處理技術生成驗證碼 217
12.3.4使用柱形圖統計圖書月銷售量 219
12.3.5使用折線圖統計圖書月銷售額 220
12.3.6使用3D餅形圖統計各類商品的年銷售
額比率 222
12.4小結 223
12.5練習與實踐 223
第13章檔案系統 225
視頻講解:49分鐘
13.1檔案處理 226
13.1.1打開/關閉檔案 226
13.1.2讀寫檔案 227
13.1.3操作檔案 232
13.2目錄處理 233
13.2.1打開/關閉目錄 233
13.2.2瀏覽目錄 234
13.2.3操作目錄 234
13.3檔案處理的高級套用 235
13.3.1遠程檔案的訪問 235
13.3.2檔案指針 235
13.3.3鎖定檔案 237
13.4檔案上傳 238
13.4.1配置php.ini檔案 238
13.4.2預定義變數$_FILES 238
13.4.3檔案上傳函式 239
13.4.4多檔案上傳 240
13.5小結 242
13.6練習與實踐 242
第14章面向對象 243
視頻講解:27分鐘
14.1面向對象的基本概念 244
14.1.1類 244
14.1.2對象 244
14.1.3面向對象編程的三大特點 245
14.2PHP與對象 245
14.2.1類的定義 245
14.2.2成員方法 246
14.2.3類的實例化 246
14.2.4成員變數 247
14.2.5類常量 248
14.2.6構造方法和析構方法 249
14.2.7繼承和多態的實現 251
14.2.8“$this->”和“::”的使用 254
14.2.9數據隱藏 255
14.2.10靜態變數(方法) 257
14.3PHP對象的高級套用 259
14.3.1final關鍵字 259
14.3.2抽象類 260
14.3.3接口的使用 261
14.3.4克隆對象 263
14.3.5對象比較 264
14.3.6對象類型檢測 265
14.3.7魔術方法(__) 266
14.4面向對象的套用——中文字元串的
截取類 270
14.5小結 272
14.6練習與實踐 272
第15章PHP加密技術 273
視頻講解:24分鐘
15.1PHP加密函式 274
15.1.1使用crypt()函式進行加密 274
15.1.2使用md5()函式進行加密 275
15.1.3使用sha1()函式進行加密 277
15.2PHP加密擴展庫 278
15.2.1Mcrypt擴展庫 278
15.2.2Mhash擴展庫 280
15.3小結 282
15.4練習與實踐 282
第16章MySQL資料庫基礎 283
視頻講解:40分鐘
16.1MySQL概述 284
16.2啟動、連線、斷開和停止MySQL
伺服器 285
16.2.1啟動MySQL伺服器 285
16.2.2連線和斷開MySQL伺服器 286
16.2.3停止MySQL伺服器 287
16.3MySQL資料庫操作 288
16.3.1創建資料庫CREATEDATABASE 288
16.3.2查看資料庫SHOWDATABASES 289
16.3.3選擇資料庫USEDATABASE 289
16.3.4刪除資料庫DROPDATABASE 290
16.4MySQL數據表操作 290
16.4.1創建數據表CREATETABLE 291
16.4.2查看錶結構SHOWCOLUMNS或
DESCRIBE 292
16.4.3修改表結構ALTERTABLE 293
16.4.4重命名表RENAMETABLE 294
16.4.5刪除表DROPTABLE 295
16.5MySQL語句操作 295
16.5.1插入記錄insert 295
16.5.2查詢資料庫記錄select 296
16.5.3修改記錄update 297
16.5.4刪除記錄delete 298
16.6MySQL資料庫備份和恢復 298
16.6.1數據的備份 299
16.6.2數據的恢復 300
16.7小結 301
16.8練習與實踐 301
第17章phpMyAdmin圖形化管理工具 303
視頻講解:11分鐘
17.1phpMyAdmin介紹 304
17.2phpMyAdmin的使用 304
17.2.1運算元據庫 304
17.2.2運算元據表 306
17.2.3使用SQL語句運算元據表 307
17.2.4管理數據記錄 309
17.2.5生成和執行mysql資料庫腳本 311
17.3小結 313
17.4練習與實踐 313
第18章PHP操作MySQL資料庫 315
視頻講解:1小時15分鐘
18.1PHP訪問MySQL資料庫的一般
步驟 316
18.2PHP操作MySQL資料庫的方法 317
18.2.1使用mysql_connect()函式連線MySQL
伺服器 317
18.2.2使用mysql_select_db()函式選擇資料庫
檔案 319
18.2.3使用mysql_query()函式執行SQL語句 320
18.2.4使用mysql_fetch_array()函式從數組
結果集中獲取信息 321
18.2.5使用mysql_fetch_object()函式從結果
集中獲取一行作為對象 323
18.2.6使用mysql_fetch_row()函式逐行獲取
結果集中的每條記錄 324
18.2.7使用mysql_num_rows()函式獲取查詢
結果集中的記錄數 326
18.3PHP操作MySQL資料庫 327
18.3.1使用insert語句動態添加公告信息 327
18.3.2使用select語句查詢公告信息 330
18.3.3使用update語句動態編輯公告信息 332
18.3.4使用delete語句動態刪除公告信息 334
18.3.5分頁顯示公告信息 335
18.3.6將資料庫連線、操作、分頁和字元串
截取的方法封裝到類中 337
18.4小結 341
18.5練習與實踐 342
第19章PDO資料庫抽象層 343
視頻講解:50分鐘
19.1什麼是PDO 344
19.1.1PDO概述 344
19.1.2PDO特點 344
19.1.3安裝PDO 344
19.2PDO連線資料庫 345
19.2.1PDO構造函式 345
19.2.2DSN詳解 346
19.3PDO中執行SQL語句 346
19.3.1exec()方法 346
19.3.2query()方法 346
19.3.3預處理語句——prepare()和execute()
方法 347
19.4PDO中獲取結果集 347
19.4.1fetch()方法 347
19.4.2fetchAll()方法 349
19.4.3fetchColumn()方法 350
19.5PDO中捕獲SQL語句中的錯誤 351
19.5.1使用默認模式——PDO::ERRMODE_
SILENT 351
19.5.2使用警告模式——PDO::ERRMODE_
WARNING 352
19.5.3使用異常模式——PDO::ERRMODE_
EXCEPTION 353
19.6PDO中錯誤處理 355
19.6.1errorCode()方法 355
19.6.2errorInfo()方法 356
19.7PDO中事務處理 357
19.8PDO中存儲過程 359
19.9小結 360
19.10練習與實踐 360
第20章ThinkPHP框架 361
視頻講解:2小時31分鐘
20.1ThinkPHP簡介 362
20.1.1ThinkPHP框架的特點 362
20.1.2環境要求 362
20.1.3下載ThinkPHP框架 363
20.2ThinkPHP架構 364
20.2.1ThinkPHP的目錄結構 364
20.2.2自動生成項目目錄 365
20.2.3項目目錄部署方案 366
20.2.4命名規範 367
20.2.5項目構建流程 368
20.3ThinkPHP的配置 370
20.3.1配置格式 370
20.3.2調試配置 371
20.4ThinkPHP的控制器 371
20.4.1控制器 371
20.4.2跨模組調用 373
20.5ThinkPHP的模型 377
20.5.1模型的命名 377
20.5.2實例化模型 378
20.5.3屬性訪問 381
20.5.4連線資料庫 382
20.5.5創建數據 385
20.5.6連貫操作 386
20.5.7CURD操作 387
20.6ThinkPHP的視圖 393
20.6.1模板定義 394
20.6.2模板賦值 394
20.6.3指定模板檔案 395
20.6.4特殊字元串替換 395
20.7內置ThinkTemplate模板引擎 399
20.8小結 404
20.9練習與實踐 405
第3篇高級套用
第21章Smarty模板技術 409
視頻講解:57分鐘
21.1Smarty簡介 410
21.1.1什麼是Smarty 410
21.1.2Smarty與MVC 410
21.1.3Smarty特點 410
21.2Smarty的安裝配置 411
21.2.1Smarty下載和安裝 411
21.2.2第一個Smarty程式 411
21.2.3Smarty配置 413
21.3Smarty模板設計 414
21.3.1Smarty模板檔案 414
21.3.2注釋 415
21.3.3變數 415
21.3.4修飾變數 417
21.3.5流程控制 419
21.4Smarty程式設計 422
21.4.1Smarty中的常用方法 422
21.4.2Smarty的配置變數 424
21.5Smarty模板的套用 424
21.5.1將Smarty的配置方法封裝到類中 424
21.5.2Smarty+ADODB整合套用 426
21.6小結 428
21.7練習與實踐 428
第22章PHP與XML技術 429
視頻講解:23分鐘
22.1XML的概述 430
22.2XML語法 430
22.2.1XML文檔結構 430
22.2.2XML聲明 431
22.2.3處理指令 431
22.2.4注釋 431
22.2.5XML元素 432
22.2.6XML屬性 432
22.2.7使用CDATA標記 432
22.2.8XML命名空間 433
22.3在PHP中創建XML文檔 434
22.4SimpleXML 434
22.4.1創建SimpleXML對象 435
22.4.2遍歷所有子元素 436
22.4.3遍歷所有屬性 436
22.4.4訪問特定節點元素和屬性 437
22.4.5修改XML數據 438
22.4.6保存XML文檔 439
22.5動態創建XML文檔 440
22.6小結 441
22.7練習與實踐 441
第23章PHP與Ajax技術 443
視頻講解:43分鐘
23.1Ajax概述 444
23.1.1什麼是Ajax 444
23.1.2Ajax的開發模式 444
23.1.3Ajax的優點 445
23.2Ajax使用的技術 445
23.2.1JavaScript腳本語言 445
23.2.2XMLHttpRequest 445
23.2.3XML語言 448
23.2.4DOM 448
23.2.5CSS 448
23.3Ajax開發需要注意的幾個問題 449
23.4在PHP中套用Ajax技術的典型
套用 450
23.4.1在PHP中套用Ajax技術檢測用戶名 450
23.4.2在PHP中套用Ajax技術實現部落格文章
類別添加 452
23.5小結 456
23.6練習與實踐 456
第4篇項目實戰
第24章套用Smarty模板開發電子商務
網站 459
視頻講解:2小時19分鐘
24.1開發背景 460
24.2需求分析 460
24.3系統分析 460
24.3.1系統目標 460
24.3.2系統功能結構 461
24.3.3開發環境 462
24.3.4資料夾組織結構 462
24.4資料庫與數據表的設計 462
24.4.1資料庫分析 463
24.4.2創建資料庫和數據表 464
24.5公共檔案設計 466
24.5.1資料庫連線、管理和分頁類檔案 466
24.5.2Smarty模板配置類檔案 469
24.5.3執行類的實例化檔案 469
24.6前台首頁設計 470
24.6.1前台首頁技術分析 471
24.6.2前台首頁實現過程 471
24.7登錄模組設計 473
24.7.1登錄模組概述 473
24.7.2登錄模組技術分析 473
24.7.3用戶註冊 475
24.7.4用戶登錄 477
24.7.5找回密碼 479
24.8會員信息模組設計 484
24.8.1會員信息模組概述 484
24.8.2會員信息模組技術分析 484
24.8.3會員中心 485
24.8.4安全退出 489
24.9商品展示模組 489
24.9.1商品展示模組概述 489
24.9.2商品展示模組技術分析 490
24.9.3商品展示模組的實現過程 491
24.10購物車模組設計 494
24.10.1購物車模組概述 494
24.10.2購物車模組技術分析 494
24.10.3購物車展示 496
24.10.4更改商品數量 498
24.10.5刪除商品 499
24.10.6保存購物車 501
24.11收銀台模組設計 503
24.11.1收銀台模組概述 503
24.11.2收銀台模組技術分析 503
24.11.3顯示訂單 504
24.11.4填寫訂單 504
24.11.5處理訂單 505
24.12後台首頁設計 506
24.12.1後台首頁概述 506
24.12.2後台首頁技術分析 507
24.12.3後台首頁實現過程 509
24.13開發常見問題與解決 510
24.13.1解決Ajax的亂碼問題 511
24.13.2使用JS腳本獲取、輸出標籤內容 511
24.13.3禁用頁面快取 511
24.13.4在新視窗中使用session 511
24.13.5判斷上傳檔案格式 512
24.13.6設定伺服器的時間 512
24.14小結 513
第25章套用ThinkPHP框架開發明日導
航網 515
視頻講解:41分鐘
25.1項目設計思路 516
25.1.1功能闡述 516
25.1.2功能結構 516
25.1.3系統預覽 516
25.2資料庫與數據表設計 518
25.2.1資料庫設計 518
25.2.2數據表設計 518
25.2.3連線資料庫 519
25.3ThinkPHP架設項目結構 520
25.3.1下載ThinkPHP框架 520
25.3.2自動生成項目目錄 520
25.4明日導航前台頁面設計 521
25.4.1頁面設計概述 521
25.4.2控制器的創建 522
25.4.3視圖中套用到的模板標籤 524
25.4.4在視圖中創建模板檔案 527
25.5明日導航後台管理設計 528
25.5.1後台管理概述 528
25.5.2通過系統配置檔案存儲後台登錄數據 528
25.5.3後台管理架構解析 529
25.5.4ThinkPHP框架中的分頁技術 530
25.5.5後台管理視圖中套用的模板標籤 531
25.5.6後台登錄 533
25.5.7後台管理主頁 534
25.5.8高級類別管理 536
25.5.9判斷訪問用戶的許可權 539
25.5.10操作提示頁面 539
25.6小結 540
PHP從入門到精通(第3版)
目錄