關(guān)于我們
書單推薦
新書推薦
|
PHP編程基礎(chǔ)與實例教程(第2版)
PHP簡單易學且功能強大,是開發(fā)Web應用程序理想的腳本語言。本書由淺入深、循序漸進,系統(tǒng)地介紹了PHP的相關(guān)知識及其在Web應用程序開發(fā)中的實際應用,并通過具體案例,使讀者鞏固所學知識,更好地進行開發(fā)實踐。本書共分為13章,涵蓋了PHP開發(fā)環(huán)境的搭建、PHP語法、FORM表單、數(shù)據(jù)庫設(shè)計、MySQL數(shù)據(jù)庫、PHP與數(shù)據(jù)庫連接、會話控制、界面設(shè)計等內(nèi)容。
本書內(nèi)容豐富、講解深入,適用于初、中級PHP用戶,可以作為各類院校相關(guān)專業(yè)的教材,同時也是一本面向廣大PHP愛好者的PHP實用參考書。
1、配套資料全:微視頻、源代碼、貫穿全書的案例、習題答案等
2、實用性、實效性都很強,適合初學者入門與提高的需要
3、與同類書籍相比,對基本概念的講解透徹,條理清晰,步驟詳細,非常適合自學
孔祥盛,長期從事網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)、網(wǎng)頁設(shè)計與制作、PHP教學與培訓等工作,具有豐富的教學與研究開發(fā)經(jīng)驗,積累了大量的開發(fā)案例。編寫的PHP教材語言通俗易懂,言簡意賅,用極其短小精干的案例講述技術(shù)知識,受到廣大初學者的推崇。
第1章 PHP入門 1
1.1 PHP概況 1
1.1.1 PHP的優(yōu)勢 1
1.1.2 PHP的應用領(lǐng)域 2
1.1.3 HTML內(nèi)嵌式的腳本語言 2
1.2 PHP腳本程序工作流程 3
1.2.1 Web瀏覽器 3
1.2.2 HTML代碼 3
1.2.3 PHP預處理器 3
1.2.4 Web服務(wù)器 3
1.2.5 HTTP協(xié)議 3
1.2.6 數(shù)據(jù)庫服務(wù)器 4
1.2.7 PHP程序的工作流程 5
1.3 PHP服務(wù)器的構(gòu)建 6
1.3.1 服務(wù)器安裝前的準備工作 6
1.3.2 安裝服務(wù)器 8
1.3.3 啟動與停止服務(wù) 10
1.3.4 第一個PHP程序 12
1.3.5 配置服務(wù)器 12
習題 17
第2章 PHP基礎(chǔ) 18
2.1 PHP代碼基本語法 18
2.1.1 PHP開始標記與結(jié)束標記 18
2.1.2 PHP注釋 20
2.1.3 PHP語句及語句塊 21
2.2 PHP程序的組成 22
2.2.1 關(guān)于PHP數(shù)據(jù) 23
2.2.2 PHP數(shù)據(jù)類型 23
2.2.3 瀏覽器端的數(shù)據(jù)采集 28
2.2.4 PHP程序的數(shù)據(jù)采集 29
2.2.5 PHP數(shù)據(jù)處理 29
2.2.6 PHP數(shù)據(jù)的輸出 30
2.3 編碼規(guī)范 32
2.3.1 書寫規(guī)范 32
2.3.2 命名規(guī)范 33
2.3.3 為代碼添加注釋 34
習題 34
第3章 PHP表達式 35
3.1 常量 35
3.1.1 自定義常量 35
3.1.2 常量的內(nèi)存分配 36
3.1.3 預定義常量 36
3.2 變量 37
3.2.1 變量的基本概念 37
3.2.2 變量的內(nèi)存分配 38
3.2.3 變量的賦值方式 39
3.2.4 可變變量 41
3.3 有關(guān)變量或常量狀態(tài)的函數(shù) 41
3.3.1 數(shù)據(jù)類型查看函數(shù) 41
3.3.2 檢查常量或變量是否定義函數(shù) 42
3.3.3 取消變量定義unset()函數(shù) 44
3.3.4 檢查變量是否為“空” 45
3.3.5 數(shù)據(jù)類型檢查函數(shù) 48
3.4 PHP運算符 49
3.4.1 算術(shù)運算符 49
3.4.2 遞增/遞減運算符 49
3.4.3 賦值運算符 50
3.4.4 比較運算符 51
3.4.5 邏輯運算符 51
3.4.6 字符串連接運算符 52
3.4.7 錯誤抑制運算符 53
3.4.8 條件運算符 53
3.4.9 類型運算符 54
3.4.10 執(zhí)行運算符 54
3.4.11 位運算符 54
3.4.12 運算符優(yōu)先級 55
3.5 數(shù)據(jù)類型的轉(zhuǎn)換 55
3.5.1 類型自動轉(zhuǎn)換 56
3.5.2 類型強制轉(zhuǎn)換 58
習題 60
第4章 PHP流程控制語句 65
4.1 條件控制結(jié)構(gòu) 65
4.1.1 if語句 65
4.1.2 if…else語句 66
4.1.3 switch語句 68
4.2 循環(huán)結(jié)構(gòu) 70
4.2.1 while循環(huán)語句 70
4.2.2 do…while循環(huán)語句 70
4.2.3 for循環(huán)語句 71
4.2.4 循環(huán)結(jié)構(gòu)應用 72
4.3 程序跳轉(zhuǎn)和終止語句 73
4.3.1 continue語句 73
4.3.2 break語句 74
4.3.3 終止PHP程序運行 74
習題 75
第5章 PHP數(shù)組 77
5.1 數(shù)組的基本概念 77
5.1.1 為什么引入數(shù)組 77
5.1.2 數(shù)組的分類 78
5.2 一維數(shù)組的創(chuàng)建 78
5.2.1 直接將變量聲明為數(shù)組元素 78
5.2.2 使用array()語言結(jié)構(gòu)創(chuàng)建數(shù)組 80
5.2.3 創(chuàng)建數(shù)組的注意事項 80
5.2.4 數(shù)組元素“值”的訪問 81
5.3 二維數(shù)組 83
5.3.1 二維數(shù)組的創(chuàng)建 84
5.3.2 二維數(shù)組元素“值”的訪問 85
5.4 數(shù)組處理函數(shù)及應用 86
5.4.1 快速創(chuàng)建數(shù)組的函數(shù) 86
5.4.2 數(shù)組統(tǒng)計函數(shù) 88
5.4.3 數(shù)組指針函數(shù) 91
5.4.4 數(shù)組和變量間的轉(zhuǎn)換函數(shù) 96
5.4.5 數(shù)組遍歷語言結(jié)構(gòu) 98
5.4.6 數(shù)組檢索函數(shù) 101
5.4.7 數(shù)組排序函數(shù) 103
5.4.8 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 106
5.4.9 數(shù)組集合運算函數(shù) 107
習題 109
第6章 PHP的數(shù)據(jù)采集 113
6.1 瀏覽器端數(shù)據(jù)的提交方式 113
6.1.1 GET提交方式 113
6.1.2 POST提交方式 115
6.1.3 GET和POST混合提交方式 116
6.1.4 兩種提交方式的比較 116
6.2 相對路徑和絕對路徑 117
6.2.1 絕對路徑 117
6.2.2 相對路徑 117
6.2.3 相對路徑其他概念 118
6.3 使用FORM表單實現(xiàn)瀏覽器端的
數(shù)據(jù)采集 118
6.3.1 表單標簽
119
6.3.2 表單控件 119
6.3.3 在表單控件中使用數(shù)組 123
6.3.4 表單按鈕 123
6.3.5 FORM表單綜合應用 125
6.4 使用$_GET和$_POST“采集”
表單數(shù)據(jù) 127
6.5 上傳文件的“數(shù)據(jù)采集” 128
6.5.1 與上傳相關(guān)的配置 128
6.5.2 PHP文件上傳流程 129
6.5.3 預定義變量$_FILES 131
6.5.4 PHP文件上傳的實現(xiàn) 131
6.6 Web服務(wù)器端其他數(shù)據(jù)采集方法 133
6.6.1 預定義變量$_REQUEST 133
6.6.2 預定義變量$_SERVER 134
習題 135
第7章 自定義函數(shù) 137
7.1 PHP文件間的引用 137
7.1.1 include語言結(jié)構(gòu) 137
7.1.2 require與include語言結(jié)構(gòu)的
比較 138
7.1.3 include_once和require_once
語言結(jié)構(gòu) 139
7.2 函數(shù)概述 140
7.2.1 函數(shù)的概念 140
7.2.2 函數(shù)的分類 140
7.3 自定義函數(shù) 140
7.3.1 自定義函數(shù)的定義 141
7.3.2 自定義函數(shù)的聲明和調(diào)用 143
7.3.3 自定義函數(shù)的參數(shù)賦值 143
7.3.4 變量的作用域和global關(guān)鍵字 147
7.3.5 變量的生存周期和static關(guān)鍵字 149
7.3.6 變量函數(shù) 152
7.4 自定義函數(shù)綜合示例 153
7.5 return語言結(jié)構(gòu) 154
習題 156
第8章 MySQL數(shù)據(jù)庫 160
8.1 數(shù)據(jù)庫概述 160
8.1.1 數(shù)據(jù)庫 160
8.1.2 關(guān)系數(shù)據(jù)庫管理系統(tǒng)
(RDBMS) 161
8.1.3 結(jié)構(gòu)化查詢語言(SQL) 161
8.2 數(shù)據(jù)庫規(guī)范化設(shè)計 161
8.2.1 E-R模型 162
8.2.2 主鍵(Primary Key) 164
8.2.3 實體間的關(guān)系與外鍵(Foreign
Key) 165
8.2.4 約束(Constraint) 166
8.3 MySQL簡介 167
8.3.1 MySQL服務(wù)的啟動 167
8.3.2 MySQL客戶機 167
8.3.3 連接MySQL服務(wù)器 169
8.3.4 MyISAM和InnoDB存儲引擎 170
8.4 字符集 172
8.4.1 字符集與字符序 173
8.4.2 MySQL字符集與字符序 173
8.4.3 MySQL的字符集轉(zhuǎn)換過程 175
8.4.4 設(shè)置MySQL字符集 176
8.4.5 SQL腳本文件 176
8.5 MySQL數(shù)據(jù)庫管理 177
8.5.1 創(chuàng)建數(shù)據(jù)庫 177
8.5.2 選擇當前操作的數(shù)據(jù)庫 177
8.5.3 顯示數(shù)據(jù)庫結(jié)構(gòu) 178
8.5.4 刪除數(shù)據(jù)庫 178
8.6 數(shù)據(jù)庫表的管理 178
8.6.1 數(shù)據(jù)類型 178
8.6.2 MySQL中的附加屬性 179
8.6.3 創(chuàng)建數(shù)據(jù)庫表 180
8.6.4 顯示數(shù)據(jù)庫表結(jié)構(gòu) 182
8.6.5 刪除數(shù)據(jù)庫表結(jié)構(gòu) 183
8.7 表記錄的更新操作 183
8.7.1 表記錄的添加 183
8.7.2 表記錄的修改 185
8.7.3 表記錄的刪除 186
8.8 表記錄的查詢操作 186
8.8.1 指定字段列表及列別名 187
8.8.2 使用謂詞限制記錄的行數(shù) 187
8.8.3 使用from子句指定多個數(shù)據(jù)源 188
8.8.4 使用where子句過濾記錄 191
8.8.5 使用order by子句對記錄排序 193
8.8.6 使用聚合函數(shù)返回匯總值 194
8.8.7 使用group by子句對記錄分組
統(tǒng)計 194
8.8.8 使用having子句提取符合條件
的分組 194
8.9 MySQL特殊字符序列 195
習題 196
第9章 PHP與MySQL數(shù)據(jù)庫 200
9.1 PHP中常用的MySQL操作函數(shù) 200
9.1.1 連接MySQL服務(wù)器 200
9.1.2 設(shè)置數(shù)據(jù)庫字符集 201
9.1.3 關(guān)閉MySQL服務(wù)器連接 201
9.1.4 選擇當前操作的數(shù)據(jù)庫 201
9.1.5 發(fā)送SQL語句或MySQL命令 202
9.1.6 遍歷結(jié)果集中的數(shù)據(jù) 204
9.1.7 MySQL服務(wù)器連接與關(guān)閉最佳
時機 206
9.1.8 MySQL服務(wù)器連接與關(guān)閉函數(shù)的
制作 207
9.2 PHP中其他MySQL操作函數(shù) 207
9.2.1 數(shù)據(jù)庫表操作函數(shù) 207
9.2.2 選擇當前操作的數(shù)據(jù)庫并發(fā)送
SQL語句 208
9.2.3 表字段操作函數(shù) 209
9.2.4 其他常用函數(shù) 210
9.3 用戶注冊系統(tǒng)的實現(xiàn) 212
9.3.1 用戶注冊系統(tǒng)文件組織結(jié)構(gòu) 212
9.3.2 用戶注冊界面的實現(xiàn) 212
9.3.3 數(shù)據(jù)庫的實現(xiàn) 214
9.3.4 制作用戶注冊系統(tǒng)所需的函數(shù) 214
9.3.5 用戶注冊功能的實現(xiàn) 214
9.3.6 用戶登錄頁面的實現(xiàn) 217
9.3.7 用戶登錄功能的簡單實現(xiàn) 217
9.3.8 功能測試 218
9.4 SQL注入 219
習題 220
第10章 新聞發(fā)布系統(tǒng)的開發(fā) 222
10.1 新聞發(fā)布系統(tǒng)的開發(fā)流程 222
10.1.1 MIS的開發(fā)流程 222
10.1.2 新聞發(fā)布系統(tǒng)的開發(fā)流程 222
10.2 新聞發(fā)布系統(tǒng)的系統(tǒng)規(guī)劃 222
10.2.1 新聞發(fā)布系統(tǒng)的目標 223
10.2.2 新聞發(fā)布系統(tǒng)的可行性分析 223
10.2.3 新聞發(fā)布系統(tǒng)的項目進度表 223
10.2.4 新聞發(fā)布系統(tǒng)的人員分工 223
10.3 新聞發(fā)布系統(tǒng)的系統(tǒng)分析 223
10.3.1 新聞發(fā)布系統(tǒng)的功能需求 224
10.3.2 新聞發(fā)布系統(tǒng)的技術(shù)需求 225
10.3.3 新聞發(fā)布系統(tǒng)中使用的模型 226
10.3.4 新聞發(fā)布系統(tǒng)的E-R模型 226
10.3.5 新聞發(fā)布系統(tǒng)的數(shù)據(jù)流程圖 227
10.3.6 數(shù)據(jù)字典(Data Dictionary) 230
10.4 新聞發(fā)布系統(tǒng)的系統(tǒng)設(shè)計 231
10.4.1 系統(tǒng)流程圖 231
10.4.2 程序流程圖 232
10.4.3 數(shù)據(jù)庫規(guī)范化設(shè)計 233
10.4.4 圖形用戶界面設(shè)計 233
10.5 新聞發(fā)布系統(tǒng)系統(tǒng)實施 234
10.5.1 文件組織結(jié)構(gòu) 234
10.5.2 數(shù)據(jù)庫的實施 235
10.5.3 新聞管理和評論管理功能的
實施 235
10.6 分頁原理及實現(xiàn) 246
10.6.1 分頁原理 246
10.6.2 PHP分頁的最簡單實現(xiàn) 247
10.6.3 帶有“分頁導航條”分頁的
實現(xiàn) 247
10.6.4 顯示分頁導航條的函數(shù)制作 249
10.7 新聞發(fā)布系統(tǒng)的軟件測試 251
10.8 新聞發(fā)布系統(tǒng)的系統(tǒng)支持 251
習題 252
第11章 PHP會話控制 253
11.1 HTTP無狀態(tài)特性 253
11.1.1 HTTP通信機制 253
11.1.2 HTTP無狀態(tài)與TCP長連接
之間的關(guān)系 255
11.1.3 HTTP請求信息 255
11.1.4 HTTP響應信息 257
11.2 頁面間的參數(shù)傳遞 258
11.2.1 利用重定向?qū)崿F(xiàn)參數(shù)傳遞 259
11.2.2 使用JavaScript實現(xiàn)重定向 260
11.2.3 使用PHP實現(xiàn)重定向 260
11.3 Cookie會話技術(shù) 261
11.3.1 瀏覽器的Cookie設(shè)置 261
11.3.2 Cookie的工作原理 261
11.3.3 Cookie的內(nèi)容 262
11.3.4 Cookie分類及典型應用 263
11.3.5 使用Cookie的步驟 264
11.3.6 創(chuàng)建Cookie 265
11.3.7 預定義變量$_COOKIE 266
11.3.8 刪除瀏覽器端的Cookie 268
11.3.9 新聞發(fā)布系統(tǒng)用戶管理功能的
實現(xiàn)(一) 268
11.3.10 Cookie數(shù)組的使用 271
11.3.11 使用Cookie的其他注意事項 272
11.4 Session會話技術(shù) 273
11.4.1 Session的工作原理 273
11.4.2 使用Session的步驟 274
11.4.3 php.ini有關(guān)Session的配置 276
11.4.4 開啟Session 276
11.4.5 預定義變量$_SESSION 277
11.4.6 刪除和銷毀Session 278
11.4.7 Session的綜合應用 278
11.4.8 Session ID、Session name和SID 280
11.4.9 禁用Cookie后Session的實現(xiàn) 283
11.4.10 Session和Cookie的對比 284
11.4.11 新聞發(fā)布系統(tǒng)用戶管理功能的
實現(xiàn)(二) 285
11.4.12 新聞發(fā)布系統(tǒng)權(quán)限控制的實現(xiàn) 288
11.4.13 使用Session數(shù)組模擬購物車
功能 290
11.5 header()函數(shù)的使用 291
11.5.1 頁面重定向 292
11.5.2 創(chuàng)建Cookie 293
11.5.3 服務(wù)器響應內(nèi)容的控制 293
11.5.4 完善新聞發(fā)布系統(tǒng)文件下載功能 297
11.5.5 瀏覽器緩存的遠程控制 299
11.5.6 常用的瀏覽器緩存控制函數(shù) 303
習題 305
第12章 字符串處理 307
12.1 字符串的指定方法 307
12.1.1 使用單引號指定字符串 307
12.1.2 使用雙引號指定字符串 307
12.1.3 使用定界符指定字符串 309
12.1.4 字符串中的字符處理 310
12.2 字符串處理函數(shù) 310
12.2.1 字符串修剪函數(shù) 310
12.2.2 字符串長度函數(shù) 320
12.2.3 子字符串操作函數(shù) 322
12.2.4 字符串比較函數(shù) 326
12.2.5 字符串連接和分割函數(shù) 327
12.2.6 字符串替換函數(shù) 328
12.2.7 URL處理函數(shù) 329
12.2.8 其他常用的字符串函數(shù) 334
12.3 新聞發(fā)布系統(tǒng)中的字符串處理函數(shù)
的應用 335
12.3.1 刪除模糊查詢中關(guān)鍵字兩邊的
空格 336
12.3.2 修改文件下載功能的代碼 336
12.3.3 修改發(fā)表評論功能的代碼 336
12.3.4 優(yōu)化新聞列表顯示功能的代碼 337
12.3.5 模糊查詢時關(guān)鍵字以加粗傾斜
格式顯示 337
12.3.6 優(yōu)化分頁函數(shù)代碼 338
習題 339
第13章 新聞發(fā)布系統(tǒng)的頁面
美工 343
13.1 JavaScript腳本語言 343
13.2 FCKeditor在線編輯器 344
13.2.1 FCKeditor使用前的準備工作 344
13.2.2 FCKeditor類的成員變量和成員
方法 345
13.2.3 FCKeditor的高級配置 345
13.2.4 FCKeditor在新聞發(fā)布系統(tǒng)中的
應用 347
13.2.5 FCKeditor的文件管理 349
13.2.6 FCKeditor瘦身 351
13.3 新聞發(fā)布系統(tǒng)頁面布局的實現(xiàn) 351
13.3.1 DIV+CSS概述 352
13.3.2 界面布局圖 352
13.3.3 使用DIV實現(xiàn)頁面布局 353
13.3.4 準備圖片素材 354
13.3.5 CSS熱身 354
13.3.6 header層的實現(xiàn) 357
13.3.7 pagebody層的實現(xiàn) 360
13.3.8 footer層的實現(xiàn) 360
13.4 新聞發(fā)布系統(tǒng)靜態(tài)和動態(tài)頁面的
嵌入 361
13.4.1 將用戶管理功能嵌入到login層 361
13.4.2 修改menu層代碼 361
13.4.3 將主要功能嵌入到
mainfunction層 363
13.4.4 sidebar層和mainbody層的高度
自適應功能 367
13.4.5 防止圖片太寬撐破mainbody層 369
習題 369
參考文獻 370
你還可能感興趣
我要評論
|