PHP開發實戰

內容介紹

《PHP開發實戰》從初學者的角度講述使用PHP語言進行程式開發應該掌握的各項技術,內容突出“基礎”、“全面”、“深入”的特點,同時強調實戰效果。在介紹技術的同時,書中都會提供實例,同時在各章的結尾部分安排實戰內容,通過5~8個實戰來綜合套用本章所講解的知識,做到理論聯繫實際;每篇的最後一章有一個綜合實例,通過一個模組綜合講解本篇所講解的知識內容;在本書的最後兩章中提供了兩個完整的項目實例,講述從前期規劃、設計流程到項目最終實施的整個實現過程。
全書共分33章,主要內容包括初識PHP、PHP環境搭建、PHP語言基礎、流程控制語句、函式、字元串、正則表達式、PHP數組、日期和時間、綜合實例(一)——註冊登錄、MySQL資料庫基本操作、phpMyAdmin圖形化管理工具、使用MySQL函式運算元據庫、ADODB類庫、PDO資料庫抽象層、綜合實例(二)——線上論壇、會話管理、圖形圖像、檔案系統、面向對象、PHP加密技術、程式調試與異常處理、綜合實例(三)——投票系統、PHP與Web頁面互動、PHP與JavaScript互動、XML技術、Ajax技術、綜合實例(四)——購物車、Smarty模板技術、ThinkPHP框架技術、綜合實例(五)——明日導航網、部落格管理系統、套用Smarty模板開發電子商務平台等,最後在附錄中介紹了PHP的編碼規則。所有知識都結合具體實例進行介紹,對涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會PHP程式開發的精髓,快速提高開發技能。本書特色及豐富的學習資源包如下:
黃金學習搭配、專業學習視頻、重難點精確打擊、學習經驗分享、學習測試診斷、有趣實踐任務、專業資源庫、學習排憂解難、獲取源程式、提供習題答案、贈送開發案例。
本書適合有志於從事軟體開發的初學者、高等院校計算機相關專業的學生,也可作為軟體開發人員的參考手冊,或者高等院校的教學參考書。

作品目錄

目 錄
第1篇新 手 入 門
第1章初識PHP 2
視頻講解:7分鐘
1.1PHP概述 3
1.1.1PHP是什麼 3
1.1.2PHP 5的新特性 3
1.1.3PHP的語言優勢 3
1.1.4PHP語言的發展 4
1.2PHP與其他語言的比較 5
1.3PHP語言相關術語 5
1.4資深程式設計師談如何學習PHP 7
1.5常用代碼編輯工具 8
1.6學習資源 9
1.6.1PHP參考手冊 10
1.6.2PHP學習討論 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.2Apache伺服器的安裝和配置 13
2.2.1在Windows下安裝Apache伺服器 13
2.2.2在Linux下安裝Apache伺服器 16
2.3PHP的安裝和配置 17
2.3.1在Windows下安裝PHP 17
2.3.2在Linux下安裝PHP 17
2.4MySQL伺服器的安裝和配置 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.1Apache安裝常見問題 25
2.7.2PHP安裝常見問題 26
2.7.3MySQL安裝常見問題 27
2.8實戰 27
2.8.1輸出系統的當前時間 27
2.8.2輸出"明日科技歡迎你" 29
2.8.3輸出一張漂亮的圖片 29
2.8.4更改Apache伺服器的連線埠號為82 30
2.8.5Apache伺服器的連線埠號修改後運行
第一個PHP程式 30
2.9本章小結 31
2.10學習成果檢驗 31
第3章PHP語言基礎 32
視頻講解:125分鐘
3.1學習語言基礎的重要性 33
3.2PHP語法基礎 33
3.2.1PHP標識符 33
3.2.2PHP的注釋 34
3.3PHP的數據類型 34
3.3.1整型 35
3.3.2布爾型 35
3.3.3浮點型 36
3.3.4字元串型 36
3.3.5null型 38
3.3.6數據類型的轉換 39
3.4PHP常量 40
3.4.1聲明和使用常量 40
3.4.2預定義常量 41
3.5PHP變數 42
3.5.1變數聲明及使用 42
3.5.2變數作用域 44
3.5.3可變變數 45
3.5.4預定義變數 46
3.5.5變數的生存周期 47
3.6PHP運算符 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.7PHP的表達式 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.1if條件語句 62
4.2.2switch...case分支控制語句 64
4.3循環控制語句 65
4.3.1while循環語句 65
4.3.2do...while循環語句 66
4.3.3for循環語句 67
4.3.4foreach循環語句 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.5include語句和require語句的使用區別 90
5.4.6include_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.4POSIX擴展正則表達式函式 130
7.4.1查找字元串 130
7.4.2替換字元串 130
7.4.3分割字元串 130
7.5PCRE兼容正則表達式函式 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.1foreach結構遍歷數組 146
8.6.2each()函式遍歷數組 147
8.6.3list()函式遍歷數組 147
8.6.4for語句遍歷數組 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.2PHP中的時區設定 159
9.2UNIX時間戳 160
9.2.1什麼是時間戳 160
9.2.2UNIX時間戳 160
9.2.3獲取指定日期的時間戳 160
9.2.4獲取當前時間戳 161
9.2.5將英文文本的日期時間描述解析為UNIX
時間戳 162
9.3PHP日期和時間的處理 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.2Ajax無刷新驗證技術 177
10.2.3驗證碼技術 178
10.2.4E-mail激活技術 181
10.2.5套用鍵盤回響事件驗證信息是否合法 181
10.2.6PHP中操作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.1MySQL簡介 203
11.1.1MySQL是什麼 203
11.1.2MySQL特點 203
11.1.3MySQL 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.5MySQL語句操作 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.1phpMyAdmin簡介 217
12.2phpMyAdmin的安裝和配置 217
12.2.1Windows系統下phpMyAdmin的
安裝配置 217
12.2.2Linux系統下phpMyAdmin的安裝配置 218
12.3phpMyAdmin的使用 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.1PHP訪問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.3PHP操作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.1ADODB類庫是什麼 265
14.2ADODB支持的資料庫 265
14.3ADODB下載與安裝 266
14.4ADODB類庫 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.1PDO概述 291
15.1.2PDO特點 291
15.1.3安裝PDO 291
15.2PDO連線資料庫 292
15.2.1PDO構造函式 292
15.2.2DSN詳解 292
15.3PDO中執行SQL語句 292
15.3.1exec()方法 293
15.3.2query()方法 293
15.3.3預處理語句--prepare()和execute() 294
15.4PDO中獲取結果集 295
15.4.1fetch()方法 295
15.4.2fetchAll()方法 296
15.4.3fetchColumn()方法 297
15.5PDO中捕獲SQL語句中的錯誤 299
15.5.1使用默認模式--PDO::
ERRMODE_SILENT 299
15.5.2使用警告模式--PDO::
ERRMODE_WARNING 300
15.5.3使用異常模式--PDO::
ERRMODE_EXCEPTION 301
15.6PDO中錯誤處理 302
15.6.1errorCode()方法 302
15.6.2errorInfo()方法 303
15.7PDO中事務處理 304
15.8PDO中存儲過程 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.1Cookie管理 337
17.1.1了解Cookie 337
17.1.2創建Cookie 338
17.1.3讀取Cookie 339
17.1.4刪除Cookie 340
17.1.5Cookie套用的注意事項 340
17.1.6Cookie的綜合套用--自動登錄 341
17.2Session管理 343
17.2.1了解Session 343
17.2.2啟動Session 343
17.2.3套用Session 344
17.2.4刪除Session 345
17.2.5Session的綜合套用--通過Session
控制頁面訪問許可權 345
17.3Session與Cookie的比較 347
17.4實戰 347
17.4.1通過Cookie實現單點登錄 347
17.4.2Session購物車 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.3Jpgraph類庫 359
18.3.1Jpgraph類庫簡介 360
18.3.2Jpgraph的安裝 360
18.3.3Jpgraph的配置 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.4Jpgraph創建柱狀圖展示年度收支情況 368
18.5.5Jpgraph創建折線圖統計圖書銷售走勢 369
18.5.6Jpgraph創建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.1public(公有成員) 397
20.3.2private(私有成員) 398
20.3.3protected(保護成員) 398
20.4構造函式 399
20.4.1創建構造函式 399
20.4.2調用父類構造函式 400
20.5析構函式 400
20.6使用$this變數訪問方法和屬性 401
20.7static關鍵字 402
20.8final關鍵字 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.1MD5算法 416
21.1.2SHA1算法 417
21.1.3DES算法 417
21.1.4MIME/BASE64的算法 417
21.2PHP內置加密函式 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.3PHP加密擴展庫 420
21.3.1Mcrypt擴展庫 420
21.3.2Mhash擴展庫 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.2PHP中的錯誤類型 432
22.2.1語法錯誤 432
22.2.2語義錯誤 434
22.2.3邏輯錯誤 434
22.2.4注釋錯誤 435
22.2.5運行錯誤 435
22.3PHP錯誤的調試 435
22.3.1PHP的錯誤報告 436
22.3.2啟動錯誤報告 436
22.3.3使用print語句調試程式 436
22.3.4套用前綴字元@禁止PHP腳本錯誤
提示 437
22.3.5使用錯誤處理器記錄日誌 437
22.4SQL錯誤的調試 438
22.4.1PHP與MySQL連線錯誤 438
22.4.2SQL語句錯誤 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.3Cookie投票限制 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.1POST方法提交表單數據 476
24.4.2GET方法提交表單數據 477
24.4.3POST方法與GET方法的使用區別 478
24.5PHP全局變數 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.1JavaScript是什麼 493
25.1.2JavaScript能做什麼 493
25.2JavaScript語言基礎 493
25.2.1JavaScript數據類型 493
25.2.2JavaScript變數 494
25.2.3JavaScript注釋 495
25.3自定義函式 496
25.4JavaScript腳本嵌入方式 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.2PHP與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.1XML概述 513
26.2XML語法 513
26.2.1XML文檔結構 513
26.2.2XML聲明 513
26.2.3XML處理指令 514
26.2.4XML注釋 514
26.2.5XML元素 514
26.2.6XML屬性 516
26.3創建XML文檔 516
26.4SimpleXML 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.1Ajax概述 533
27.1.1什麼是Ajax 533
27.1.2Ajax的開發模式 533
27.1.3Ajax的優點 533
27.2Ajax技術的組成 534
27.2.1JavaScript腳本語言 534
27.2.2XMLHttpRequest對象 534
27.2.3XML語言 537
27.2.4DOM 538
27.2.5CSS 538
27.3Ajax與PHP的互動 538
27.3.1通過GET方式與PHP進行互動 538
27.3.2通過POST方式與PHP進行互動 540
27.4Ajax開發常見問題 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.2Smarty模板配置類檔案 571
28.7.3執行類的實例化檔案 571
28.7.4Smarty模板頁中的框架技術 572
28.7.5Ajax無刷新驗證技術 572
28.7.6分頁技術 574
28.7.7購物車中商品添加技術 574
第5篇框 架 應 用
第29章Smarty模板技術 578
視頻講解:102分鐘
29.1Smarty簡介 579
29.1.1Smarty模板引擎 579
29.1.2開發模式與運行流程 579
29.2Smarty的安裝配置 580
29.2.1Smarty下載和安裝 580
29.2.2Smarty配置 580
29.2.3第一個Smarty程式 581
29.3Smarty模板設計 582
29.3.1Smarty模板檔案 583
29.3.2注釋 583
29.3.3變數 583
29.3.4修飾變數 585
29.3.5流程控制 586
29.3.6內建函式 588
29.4Smarty程式設計 590
29.4.1Smarty中的常用方法 590
29.4.2Smarty的配置變數 591
29.5實戰 591
29.5.1通過Smarty實現網頁的動靜分離 591
29.5.2Smarty分頁類 593
29.5.3網站公告 596
29.5.4Smarty模板truncate()方法截取字元串 597
29.5.5輸出會員信息 600
29.6本章小結 603
29.7學習成果檢驗 603
第30章ThinkPHP框架 604
視頻講解:150分鐘
30.1ThinkPHP簡介 605
30.1.1ThinkPHP框架的特點 605
30.1.2環境要求 605
30.1.3下載ThinkPHP框架 605
30.2ThinkPHP架構 606
30.2.1ThinkPHP的目錄結構 606
30.2.2自動生成目錄 606
30.2.3項目目錄部署方案 607
30.2.4命名規範 608
30.2.5項目構建流程 608
30.3ThinkPHP的配置 610
30.3.1配置格式 610
30.3.2調試配置 611
30.4ThinkPHP的控制器 611
30.4.1控制器 611
30.4.2跨模組調用 612
30.5ThinkPHP的模型 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.7CURD操作 624
30.6ThinkPHP的視圖 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.4ThinkPHP架設項目結構 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.4ThinkPHP框架中的分頁技術 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.2Smarty配置檔案 708
33.7.3XMLHttpRequest對象檔案 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.3JavaScript腳本頁面 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.2DIV+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.2Smarty模板的配置錯誤 754
33.19本章小結 755
附錄APHP編碼規則 756

相關詞條

相關搜尋

熱門詞條

聯絡我們