PHP動態網站開發教程
賈如春 總主編;何南,朱江平,譚衛東 主編;蔣華,譚良熠,常祖國 副主編
相關主題
商品描述
"本書面向初學者,從實際應用出發,詳細介紹了PHP腳本語言及各種常用動態功能系統的開發。全書共13章,由淺入深地介紹了PHP及相關技術,通過大量實際項目案例,詳盡地講解了PHP的技術要點和開發過程,精選動態功能模塊實例幫助讀者理解PHP+MySQL的動態開發方法,通過留言板、電子商務系統等經典案例和實例化項目案例,幫助初學者快速入門。 本書所有知識點都結合具體實例和程序講解,便於讀者理解和掌握。本書適合作為高等院校計算機應用、雲計算、信息安全、大數據技術及相關專業的教材,也適合作為動態網站開發入門者的自學用書。 "
作者簡介
賈如春,男,副教授,CISP信息安全高級講師,信息安全國賽技能大賽裁判,《全國高等教育信息安全人才培養規劃叢書》編委會主任,先後發表國家級核心期刊論文80余篇,獲得國家發明軟著專利20余項,主持、參與省市級科研項目8項,獨著、主編《網絡安全實用教程》、《數據安全與災備管理》、《信息安全基礎》、《計算機病毒與防禦》等20余本國家高等教育信息安全人才培養專業規劃系列教材。
目錄大綱
目錄
第1章初識PHP1
1.1PHP簡介1
1.1.1PHP的發展歷史1
1.1.2PHP的運行模式3
1.1.3PHP的特點3
1.1.4PHP的資源4
1.2PHP開發環境的搭建5
1.2.1在Windows下搭建PHP開發環境5
1.2.2在Linux下搭建PHP開發環境7
1.3PHP的安裝和配置9
1.3.1在Windows下安裝PHP9
1.3.2在Linux下安裝PHP9
1.4應用集成包快速搭建PHP環境12
1.4.1phpStudy調試環境集成包安裝12
1.4.2XAMPP建站集成軟件包安裝13
1.5第一個PHP程序21
1.5.1使用Adobe Dreamweaver編寫源程序21
1.5.2運行PHP程序21
學習成果達成與測評22
學習成果實施報告書23
第2章PHP基礎24
2.1PHP語法基礎24
2.1.1PHP標記風格24
2.1.2PHP的註釋25
2.2PHP的數據類型25
2.2.1標量數據類型25
2.2.2復合數據類型27
2.2.3特殊數據類型28
2.2.4數據類型轉換29
2.2.5數據類型檢測30
2.3PHP的常量31
2.3.1聲明和使用常量31
2.3.2預定義常量31
2.4PHP的變量32
2.4.1變量聲明及使用32
2.4.2變量的作用域33
2.4.3可變變量36
2.4.4超級全局變量36
2.4.5變量的生命周期40
2.5PHP的運算符41
2.5.1算術運算符41
2.5.2字符串運算符42
2.5.3賦值運算符42
2.5.4遞增遞減運算符44
2.5.5位運算符44
2.5.6邏輯運算符46
2.5.7比較運算符47
2.5.8數組運算符48
2.5.9條件運算符48
2.5.10運算符的優先級和結合性49
2.6PHP的函數50
2.6.1定義和調用函數51
2.6.2在函數間傳遞參數51
2.6.3從函數中返回值52
2.6.4變量函數52
2.6.5對函數的引用53
2.6.6取消引用54
2.7輸出語句54
2.7.1應用print語句輸出字符54
2.7.2應用echo語句輸出字符55
2.7.3應用printf()函數格式化輸出字符56
2.7.4應用sprintf()函數格式化輸出字符56
2.8引用文件57
2.8.1應用include語句和require語句引用文件57
2.8.2應用include_once語句和require_once語句引用文件61
2.9實戰61
2.9.1判斷閏年的方法61
2.9.2通過自定義函數防止新聞主題信息出現中文亂碼62
2.9.3應用include語句構建在線音樂網站主頁64
2.9.4隨機組合的生日祝福語64
2.9.5計算器66
學習成果達成與測評68
學習成果實施報告書69
第3章PHP流程控制語句70
3.1條件控制語句70
3.1.1if語句70
3.1.2switch語句72
3.2循環控制語句73
3.2.1while語句74
3.2.2do…while語句74
3.2.3for語句76
3.2.4foreach語句76
3.3跳轉控制語句77
3.3.1break語句77
3.3.2continue語句78
3.4實戰79
3.4.1執行指定次數的循環79
3.4.2數據輸出中跳過指定的記錄81
3.4.3控制頁面中數據的輸出數量82
3.4.4動態改變頁面中單元格的背景顏色83
3.4.5使用for循環動態創建表格83
學習成果達成與測評85
學習成果實施報告書86
第4章字符串操作與正則表達式87
4.1了解字符串87
4.2單引號與雙引號87
4.3定界符88
4.4連接字符串89
4.5轉義、還原字符串89
4.5.1手動轉義、還原字符串89
4.5.2自動轉義、還原字符串89
4.6獲取字符串長度90
4.7截取字符串90
4.8比較字符串90
4.8.1按字節比較90
4.8.2按自然排序法比較91
4.8.3按指定長度比較91
4.9檢索字符串出現的位置91
4.9.1檢索指定的關鍵字92
4.9.2檢索字符串出現的次數92
4.10替換字符串93
4.11正則表達式93
4.11.1正則表達式語法規則93
4.11.2PCRE庫函數95
4.12實戰96
4.12.1超長文本的分頁顯示96
4.12.2規範用戶註冊信息99
4.12.3計算密碼強度100
4.12.4去除用戶註冊信息中的空格103
學習成果達成與測評105
學習成果實施報告書106
第5章數組107
5.1數組概念107
5.2創建數組107
5.2.1數組命名規則107
5.2.2通過PHP函數創建數組108
5.2.3通過為數組元素賦值創建數組108
5.3數組的類型108
5.3.1數字索引數組108
5.3.2關聯數組108
5.4輸出數組108
5.5數組的構造109
5.6遍歷數組109
5.6.1使用foreach結構遍歷數組109
5.6.2使用list()函數遍歷數組110
5.6.3使用for語句遍歷數組110
5.7PHP全局數組111
5.7.1$_GET[ ]和$_POST[ ]111
5.7.2$_COOKIE[]111
5.7.3$_ENV[ ]112
5.7.4$_SESSION[ ]112
5.7.5$_FILES[ ]112
5.8PHP的數組函數113
5.8.1向數組中添加元素113
5.8.2獲取數組中的最後一個元素114
5.8.3刪除數組中的重復元素114
5.8.4獲取數組中指定元素的鍵名115
5.9實戰115
5.9.1獲取上傳文件的數據115
5.9.2投票管理系統117
5.9.3獲取用戶註冊信息120
5.9.4車牌搖號124
學習成果達成與測評127
學習成果實施報告書128
第6章MySQL數據庫129
6.1MySQL簡介129
6.2MySQL的安裝和配置130
6.2.1MySQL的安裝130
6.2.2MySQL的配置132
6.3啟動、連接、斷開和停止MySQL服務135
6.3.1啟動MySQL服務135
6.3.2連接和斷開MySQL服務136
6.3.3停止MySQL服務138
6.4phpMyAdmin圖形化管理工具138
6.4.1數據庫操作管理138
6.4.2管理數據庫和數據表138
6.4.3管理數據記錄143
6.4.4導入和導出數據145
6.4.5設置編碼格式146
6.4.6添加服務器新用戶146
6.4.7重置MySQL服務器登錄密碼147
學習成果達成與測評148
學習成果實施報告書149
第7章MySQL存儲引擎與運算符150
7.1MySQL存儲引擎150
7.1.1什麼是MySQL存儲引擎150
7.1.2查詢MySQL中支持的存儲引擎150
7.1.3MyISAM存儲引擎151
7.1.4InnoDB存儲引擎151
7.1.5MEMORY存儲引擎152
7.1.6如何選擇存儲引擎152
7.1.7設置數據表的存儲引擎153
7.2MySQL的數據類型153
7.2.1數字類型153
7.2.2字符串類型154
7.2.3日期/時間類型155
7.3MySQL的運算符155
7.3.1算術運算符155
7.3.2比較運算符156
7.3.3邏輯運算符156
7.3.4位運算符156
7.3.5運算符的優先級157
7.4實戰157
7.4.1查詢存儲引擎和創建數據庫157
7.4.2位運算158
7.4.3邏輯運算159
7.4.4浮點型數據160
學習成果達成與測評162
學習成果實施報告書163
第8章MySQL的常用函數164
8.1MySQL函數164
8.2數學函數164
8.2.1ABS()函數164
8.2.2FLOOR()函數165
8.2.3RAND()函數165
8.2.4PI()函數165
8.2.5TRUNCATE()函數165
8.2.6ROUND()函數165
8.2.7SQRT()函數166
8.3字符串函數166
8.3.1INSERT函數166
8.3.2UPPER()函數和UCASE()函數166
8.3.3LEFT()函數167
8.3.4RTRIM()函數167
8.3.5SUBSTRING()函數167
8.3.6REVERSE()函數167
8.3.7FIELD()函數168
8.4日期/時間函數168
8.4.1CURDATE()函數和CURRENT_DATE()函數168
8.4.2CURTIME()函數和CURRENT_TIME()函數168
8.4.3NOW()函數169
8.4.4DATEDIFF()函數169
8.4.5ADDDATE()函數169
8.4.6SUBDATE()函數170
8.5條件判斷函數170
8.6系統信息函數170
8.6.1VERSION()、CONNECTION_ID()和DATABASE()函數171
8.6.2USER()函數171
8.6.3CHARSET()和COLLATION()函數171
8.7加密函數171
8.7.1PASSWORD()函數172
8.7.2MD5()函數172
8.8其他函數172
8.8.1FORMAT()函數172
8.8.2CONVERT()函數172
8.8.3CAST()函數173
8.9實戰173
8.9.1字符串函數的使用173
8.9.2查看當前數據庫版本號173
8.9.3生成隨機整數174
8.9.4數字函數的使用174
8.9.5加密函數的使用174
學習成果達成與測評175
學習成果實施報告書176
第9章MySQL基本操作177
9.1MySQL數據庫操作177
9.1.1創建數據庫177
9.1.2查看數據庫179
9.1.3選擇數據庫179
9.1.4刪除數據庫179
9.2MySQL數據表操作180
9.2.1創建表180
9.2.2查看表結構182
9.2.3修改表結構183
9.2.4重命名表185
9.2.5刪除表185
9.3MySQL數據操作187
9.3.1插入記錄187
9.3.2查詢記錄189
9.3.3修改記錄189
9.3.4刪除記錄190
9.4實戰191
9.4.1操作teacher表191
9.4.2登錄數據庫系統192
9.4.3讀取MySQL數據庫中的數據192
9.4.4備份和恢復MySQL數據庫196
9.4.5查看表的詳細結構197
學習成果達成與測評198
學習成果實施報告書199
第10章MySQL數據查詢200
10.1基本查詢語句200
10.2單表查詢201
10.2.1查詢所有字段201
10.2.2查詢指定字段203
10.2.3查詢指定記錄204
10.2.4帶IN關鍵字的查詢205
10.2.5指定範圍的查詢206
10.2.6字符串匹配查詢206
10.2.7查詢空值209
10.2.8帶AND的多條件查詢210
10.2.9帶OR的多條件查詢211
10.2.10去除查詢結果中的重復行212
10.2.11對查詢結果進行排序213
10.2.12分組查詢215
10.2.13限制查詢結果的數量219
10.3集合函數查詢221
10.3.1COUNT()函數221
10.3.2SUM()函數222
10.3.3AVG()函數222
10.3.4MAX()函數223
10.3.5MIN()函數224
10.4連接查詢225
10.4.1內連接查詢225
10.4.2外連接查詢226
10.4.3復合連接查詢228
10.5子查詢228
10.5.1帶IN關鍵字的子查詢228
10.5.2帶比較運算符的子查詢229
10.5.3帶EXISTS關鍵字的子查詢230
10.5.4帶ANY關鍵字的子查詢231
10.5.5帶ALL關鍵字的子查詢232
10.6合並查詢結果233
10.7表和字段的別名234
10.7.1為表取別名234
10.7.2為字段取別名234
10.8使用正則表達式查詢235
10.8.1匹配指定字符中的任意一個235
10.8.2使用和+匹配多個字符235
10.9實戰236
10.9.1使用集合函數SUM()對學生成績進行匯總236
10.9.2查詢大於指定條件的記錄236
10.9.3使用比較運算符進行子查詢237
10.9.4GROUP BY與HAVING關鍵字237
學習成果達成與測評238
學習成果實施報告書239
第11章綜合實例——留言本240
11.1留言本概述240
11.2系統分析流程240
11.2.1程序業務流程240
11.2.2系統預覽241
11.3數據庫設計243
11.3.1數據庫概念設計243
11.3.2數據庫邏輯設計244
11.4公共模塊設計244
11.4.1數據庫連接文件244
11.4.2將文本中的字符轉換為HTML標識符245
11.4.3JavaScript腳本245
11.5首頁模塊設計246
11.5.1首頁設計概述246
11.5.2session機制和GET方法247
11.5.3首頁的實現247
11.6用戶註冊模塊設計249
11.6.1用戶註冊模塊概述249
11.6.2使用JavaScript腳本和正則表達式驗證表單元素249
11.6.3用戶註冊模塊的實現250
11.7添加留言模塊設計255
11.7.1添加留言模塊概述255
11.7.2mysqli_query()函數執行SQL語句256
11.7.3添加留言模塊的實現256
11.8查看留言模塊設計259
11.8.1查看留言模塊概述259
11.8.2取整和explode()函數260
11.8.3查看留言模塊的實現260
11.9編輯留言模塊設計264
11.9.1編輯留言模塊概述264
11.9.2利用JavaScript腳本控制彈出對話框並進行數據驗證264
11.9.3編輯留言模塊的實現265
11.10查詢留言模塊設計266
11.10.1查詢留言模塊概述266
11.10.2通過mysqli_fetch_array()函數返回結果集266
11.10.3查詢留言模塊的實現267
11.11管理員模塊設計268
11.11.1管理員模塊概述268
11.11.2驗證登錄用戶是否為管理員268
11.11.3管理員模塊的實現268
學習成果達成與測評271
學習成果實施報告書272
第12章綜合實例——聊天室系統273
12.1需求分析273
12.2系統功能描述273
12.3系統設計274
12.3.1系統流程274
12.3.2數據庫設計275
12.4系統設計及功能實現275
12.4.1聊天室系統設計概述275
12.4.2公共文件276
12.4.3用戶管理子系統277
12.4.4聊天功能子系統281
學習成果達成與測評285
學習成果實施報告書286
第13章綜合實例——電子商務網站購物車模塊的實現287
13.1需求分析287
13.1.1需求目標287
13.1.2系統分析288
13.2數據庫設計288
13.2.1數據庫概念設計288
13.2.2數據庫邏輯設計289
13.3系統設計及功能實現291
13.3.1頁面結構設計291
13.3.2數據庫連接292
13.3.3商品列表頁面設計293
13.3.4商品詳細信息頁面設計296
13.3.5實現購物車功能297
13.3.6修改購物車中的商品數量300
13.3.7購物車訂單提交功能設計301
13.3.8訂單信息顯示311
學習成果達成與測評313
學習成果實施報告書314
參考文獻315