圖書簡介:
PHP是目前最流行的Web應用程序開發語言之一。PHP運行效率高、性能穩定、可擴展性強。隨著Web 2.0的流行,Ajax技術得到了廣泛應用。本書內容包括PHP基礎知識、對象、XML、JavaScript、Ajax、Sajax以及使用Sajax實現的考試系統。
本書內容全面,結合大量實例,在向讀者介紹PHP的同時,也介紹JavaScript、Ajax技術,理論與實踐相結合,循序漸進,易學易用,具有較強的可讀性和可操作性。
本書適合高等院校計算機科學、軟件工程、數字媒體技術、網頁設計及相關專業本/專科作為PHP開發相關課程的教材使用,也是學習者和Web應用程序開發人員的優秀教材和參考書籍。
前 言
PHP以運行效率高、性能穩定等特點,成為最流行的HTML嵌入腳本語言。隨著大量的Web 2.0網站的出現,Ajax技術得到廣泛應用,也隨之出現了很多Ajax框架,如Sajax等。本書將介紹PHP與Ajax的運用。
PHP作為的必備技術,當今是非常流行的。通過它,用戶可以快速、高效地開發出動態的Web服務器應用程序,成為開發Web應用程序的強有力的開發語言。
本書共分為5個部分:基礎部分,XML部分,錯誤處理、MySQL部分,JavaScript與Sajax部分以及應用實例部分。基礎部分介紹PHP中變量、數組、字符串、正則表達式以及文件操作等基礎知識;錯誤處理和XML部分介紹PHP 5支持的錯誤處理以及XML文檔操作;MySQL部分介紹MySQL和PHP操作MySQL數據庫的方法;JavaScript與Sajax部分介紹Ajax、Sajax以及所使用的JavaScript知識;應用實例部分把實例與Sajax緊密結合,介紹如何使用PHP和Sajax創建實例。本書把理論與實踐結合起來,通過實例由淺入深地介紹PHP、Ajax等知識點。
本書由13章組成。基礎部分包括第1~6章內容;第7~9章介紹錯誤處理、Web和XML;第10、11章介紹JavaScript和Ajax;第12章介紹MySQL;應用實例部分為第13章的內容。各章的具體內容說明如下
第1章:對PHP進行概述。
第2~6章:介紹PHP的基礎知識、字符串、數組、文件系統、面向對象編程等常用的知識點。
第7章:介紹PHP的錯誤、異常處理。
第8章:介紹Web技術。
第9章:介紹PHP與XML。
第10章:介紹JavaScript知識。
第11章:介紹Ajax和Sajax知識。
第12章:介紹MySQL數據庫和使用PHP操作MySQL的方法。
第13章:介紹使用Sajax開發的考試系統的實例。
本書內容全面,實例豐富,易于理解,每章的內容都不流于表面,而是從最佳實踐的角度入手,為讀者更好地使用PHP和Ajax技術開發Web應用程序提供了很好的指導。本書適合高等院校計算機科學、軟件工程、數字媒體技術、網頁設計及相關專業本/專科作為PHP開發相關課程的教材使用,也是學習者和Web應用程序開發人員的優秀教材和參考書籍。
需要提示一點:PHP中,false、true、null均為大小寫不敏感,例如FALSE、TRUE、NULL或者False、True、Null都是正確的,但變量是區分大小寫的。
本書由滿在龍、陳鳳鳴編著,參加編寫的還有孫更新、賓晟、李宗顏、孫海倫、宮生文、解本巨、李曉娜、黃艷、王萍萍等。
由于作者水平有限,本書的內容難免會有紕漏和不足之處,懇請各位專家、同仁和讀者批評指正。
編 者目 錄
第1章 PHP概述 1
1.1 PHP簡介 2
1.2 PHP 5的新變化 3
第2章 PHP的基本語法 9
2.1 PHP編程基礎 10
2.1.1 PHP標記 10
2.1.2 注釋 11
2.1.3 包含文件 11
2.2 常數 12
2.2.1 內置常數 12
2.2.2 自定義常數 13
2.3 變量 14
2.3.1 變量 14
2.3.2 數據類型 15
2.3.3 變量類型轉換 22
2.3.4 變量的作用域 23
2.3.5 靜態變量 24
2.3.6 預定義變量 25
2.4 運算符 27
2.4.1 算術運算符 27
2.4.2 關系運算符 29
2.4.3 邏輯與位運算符 30
2.4.4 賦值運算符 35
2.4.5 錯誤控制運算符 37
2.4.6 三元運算符 37
2.4.7 運算符的優先級 38
2.5 條件語句 39
2.5.1 條件語句 39
2.5.2 循環語句 43
2.6 上機實訓 47
2.7 本章習題 47
第3章 數組 51
3.1 創建數組 52
3.1.1 創建數組 52
3.1.2 多維數組 56
3.2 數組操作 57
3.2.1 遍歷數組 57
3.2.2 合并數組 59
3.2.3 數組排序 62
3.3 上機實訓 64
3.4 本章習題 64
第4章 函數 67
4.1 編碼 68
4.1.1 編碼 68
4.1.2 PHP字符集的處理 69
4.2 字符串的操作 70
4.2.1 獲取字符串長度 70
4.2.2 字符串的格式化 71
4.2.3 字符串的比較 76
4.2.4 字符串的查找 77
4.2.5 字符串的截取 78
4.3 案例:字符串查找 80
4.3.1 界面 80
4.3.2 處理查找 81
4.3.3 查找函數 82
4.4 正則表達式 87
4.4.1 正則表達式的語法 87
4.4.2 正則表達式例子 89
4.5 案例:長度單位換算 93
4.5.1 界面 94
4.5.2 轉換代碼 95
4.6 案例:數在不同進制間轉換 98
4.6.1 轉換界面 98
4.6.2 獲取轉換的進制 100
4.6.3 檢查數值 100
4.6.4 制數轉換 101
4.7 日期和時間 103
4.7.1 時區設置 103
4.7.2 獲取日期和時間 104
4.8 案例:日歷 110
4.8.1 獲取當前日期 111
4.8.2 輸出表頭 112
4.8.3 產生當前月份的天數 113
4.8.4 輸出日期 113
4.8.5 獲取節日 115
4.9 案例:獲取服務器IP地址 116
4.9.1 界面 116
4.9.2 查詢指定網址的IP地址 117
4.10 上機實訓 119
4.11 本章習題 119
第5章 文件與目錄操作 123
5.1 文件操作 124
5.1.1 打開、關閉文件 124
5.1.2 讀文件 126
5.1.3 寫文件 129
5.1.4 操作文件的其他函數 131
5.2 解析網頁實例 131
5.2.1 解析網頁 131
5.2.2 操作文件 140
5.3 目錄操作 144
5.3.1 瀏覽目錄 145
5.3.2 創建目錄 147
5.3.3 復制目錄 152
5.3.4 刪除目錄 159
5.4 上機實訓 162
5.5 本章習題 162
第6章 面向對象 163
6.1 類 164
6.1.1 定義類 164
6.1.2 訪問屬性和方法的方式 165
6.1.3 構造方法與析構方法 167
6.1.4 類靜態屬性和方法 170
6.1.5 類常量 173
6.2 繼承 174
6.2.1 定義繼承 174
6.2.2 繼承的訪問方式 177
6.2.3 parent和self 183
6.3 復制 184
6.4 類的高級特性 188
6.4.1 抽象類 188
6.4.2 特殊方法 190
6.5 接口(Interfaces) 197
6.6 上機實訓 197
6.7 本章習題 198
第7章 錯誤處理 201
7.1 錯誤信息 202
7.1.1 錯誤類型 202
7.1.2 配置PHP.ini中有關錯誤的
信息 203
7.1.3 有關函數 204
7.2 錯誤類型 210
7.2.1 語法錯誤 211
7.2.2 運行時錯誤 214
7.2.3 邏輯錯誤 222
7.3 異常處理 223
7.3.1 異常 223
7.3.2 Exception 224
7.4 上機實訓 228
7.5 本章習題 228
第8章 Web技術 231
8.1 HTTP基礎 232
8.1.1 表單 232
8.1.2 GET 235
8.1.3 POST 236
8.1.4 獲取表單數據 237
8.2 上機實訓 239
8.3 本章習題 239
第9章 PHP與XML 241
9.1 XML文檔 242
9.1.1 XML簡介 242
9.1.2 XML基本語法規則 243
9.1.3 XML的例子 244
9.2 SAX方式 245
9.2.1 解析XML文檔的過程 245
9.2.2 解析XML文檔的例子 248
9.2.3 DOM 251
9.3 上機實訓 256
9.4 本章習題 256
第10章 JavaScript編程基礎 259
10.1 JavaScript編程基礎 260
10.1.1 在HTML中嵌入
JavaScript 260
10.1.2 變量 261
10.2 運算符 262
10.2.1 算術運算符 263
10.2.2 關系運算符 264
10.2.3 邏輯運算符和位運算符 265
10.2.4 賦值運算符 269
10.2.5 其他運算符 270
10.2.6 運算符的優先級 273
10.3 流程控制語句 274
10.3.1 條件語句 274
10.3.2 循環語句 276
10.3.3 函數 277
10.3.4 消息框 280
10.4 對象 281
10.4.1 數組 282
10.4.2 Date 288
10.4.3 Math 290
10.4.4 String 292
10.4.5 自定義對象 294
10.4.6 prototype 296
10.5 DHTML 299
10.5.1 DHTML對象概述 300
10.5.2 DHTML對象 300
10.5.3 DHTML對象的事件 302
10.6 DHTML內置控件 304
10.6.1 內置控件 305
10.6.2 計算器 305
10.6.3 問卷調查示例 308
10.6.4 下拉列表框 313
10.7 倒計時器 315
10.7.1 把時間數字轉換成圖片 315
10.7.2 顯示時間 316
10.7.3 設置計時器 318
10.7.4 啟動計時器 318
10.8 檢查電子郵件地址 319
10.8.1 界面 319
10.8.2 CheckMailAddress() 320
10.8.3 MatchEmail() 321
10.9 上機實訓 323
10.10 本章習題 323
第11章 Ajax 327
11.1 Ajax技術核心 328
11.1.1 Ajax原理 328
11.1.2 Ajax的優勢和缺陷 329
11.2 Ajax技術核心 330
11.2.1 XMLHttpRequest對象的創建 330
11.2.2 XMLHttpRequest對象的 屬性 332
11.2.3 XMLHttpRequest對象的 事件 334
11.2.4 XMLHttpRequest對象方法 334
11.2.5 XMLHttpRequest對象使用實例 337
11.3 Ajax框架:prototype框架 343
11.3.1 prototype的常用函數 343
11.3.2 prototype對Ajax的支持—— Ajax.Request類 344
11.3.3 Ajax.Updater類 349
11.3.4 Ajax.Responders對象 351
11.3.5 prototype的其他對象 352
11.4 Ajax框架:Sajax包 358
11.4.1 Sajax例子 358
11.4.2 Sajax客戶端函數 362
11.4.3 Sajax服務器端的變量和 函數 365
11.4.4 Sajax的實現過程 369
11.5 Ajax實例:動態樹狀菜單 369
11.5.1 使用XMLHttpRequest實現動態樹狀菜單 370
11.5.2 使用prototype框架實現 動態樹狀菜單 377
11.5.3 使用Sajax框架實現動態樹狀菜單 379
11.6 上機實訓 383
11.7 本章習題 383
第12章 PHP 5與MySQL 385
12.1 MySQL數據庫 386
12.1.1 MySQL數據庫簡介 386
12.1.2 MySQL基本命令 387
12.1.3 多表查詢 397
12.1.4 獲取記錄數目 398
12.1.5 獲取列的相關信息 398
12.2 操作MySQL數據庫 398
12.2.1 連接數據庫 399
12.2.2 提交指定的SQL指令 400
12.2.3 獲取查詢結果 401
12.2.4 關閉與數據庫的連接 407
12.3 上機實訓 407
12.4 本章習題 407
第13章 考試系統 411
13.1 系統總體設計 412
13.1.1 系統功能描述 412
13.1.2 系統實現環境 414
13.2 數據庫設計 414
13.2.1 總體設計 414
13.2.2 表設計 415
13.2.3 關系設計 422
13.3 通用文件 423
13.4 登錄 426
13.4.1 考生登錄 427
13.4.2 管理員登錄 437
13.5 實現考試功能 441
13.5.1 顯示考試信息 442
13.5.2 獲取試卷 446
13.5.3 提交答案 451
13.5.4 結束考試 453
13.6 試題錄入與修改 456
13.6.1 錄入試題 456
13.6.2 修改試題 463
13.7 組卷功能 472
13.7.1 設置試卷結構 473
13.7.2 組卷界面 481
13.7.3 自動組卷 483
13.7.4 人工組卷 488
13.7.5 修改試卷 497
13.8 設置考試課程 502
13.8.1 界面 502
13.8.2 檢查輸入 503
13.8.3 設置考試時間 506
13.9 設置專業和班級 507
13.9.1 專業管理 508
13.9.2 班級管理 512
13.10 設置考生 519
13.10.1 界面 520
13.10.2 添加學生 523
13.10.3 管理考生 526
13.11 查詢成績 537
13.11.1 界面 537
13.11.2 客戶端函數 539
13.11.3 服務器端函數 539
13.12 查詢交卷考生 541
13.12.1 客戶端函數 542
13.12.2 服務器端函數 542
13.13 小結 544