版權資訊
書名:PHP Web程式設計與Ajax技術
ISBN:978-7-302-34473-5
定價:49.5元
出版時間:2013年12月
字數:744千字
頁數:492頁
前 言
PHP目前仍然是開發Web應用程式最理想的語言。相比其他Web程式語言,PHP具有簡單易學,功能強大、成本低廉、安全性較高和運行環境易於配置等優點,是初學者學習Web應用程式設計的理想入門語言,且能夠用來製作企業級的Web應用程式及動態網站。
近幾年來,PHP在國外的發展非常迅速,許多大型的電子商務網站(比如淘寶網等)都採用PHP作為網站開發的語言;同時,通過對眾多軟體企業的調查發現,各種企業對於PHP開發人才的需求缺口很大。但與此不相稱的是,PHP在我國高校教學中並不普遍。我國高校中很多專業都已開設了Web編程方面的課程,但是該門課程的內容以講述ASPNET、ASP或JSP語言為主,可見PHP尚未在高校教學中取得足夠的重視,但PHP的培訓課程卻在大量培訓機構中廣泛開設。
為了能編寫一本適合於高校教學的PHP教材,也為了能方便讀者自學,本書在寫作時注重解決以下一些問題。
(1)對於講解PHP的運行環境來說,本書主要介紹安裝AppServ集成運行環境,而沒有單獨介紹PHP運行環境中幾種軟體的安裝方法,因為單獨安裝和配置各種軟體,對初學者來說比較難,也沒有必要去學習。
(2)本書在體系結構上仿照一些經典的ASP教材進行編寫,如果讀者具有ASP編程基礎,就能夠很快通過體會PHP和ASP的異同,來領會PHP編程的思路。如果讀者不具有任何Web編程經驗,本書也能循序漸進的讓讀者掌握PHP Web開發的基本原理。
(3)對PHP訪問資料庫進行了重點講解。分別介紹了mysql函式、mysqli函式和PDO方法訪問資料庫,並在介紹完每種方法的原理後,都安排了一節的實例內容。
(4)對PHP的傳統內容去粗取精,Web應用程式的功能主要就是查詢、添加、刪除和修改記錄,因此本書對這些功能的實現進行了重點敘述,在普通的PHP程式、生成靜態網頁的PHP程式和Ajax程式中分別實現了查詢、添加、刪除和修改等基本功能模組。
(5)在傳統PHP教材的基礎上,增加了新的流行內容,如分別在資料庫端和Web伺服器端實現分頁程式、用PHP生成靜態HTML檔案的新聞系統,PHP生成XML或RSS檔案,尤其是對基於jQuery的Ajax技術進行了全面的介紹。
(6)Ajax技術已經成為企業開發中套用最廣泛的技術之一,不管採用什麼樣的開發平台,只要開發B/S架構的套用,那么表現層就一定會使用Ajax技術。但對於初學者來說,常常會對原始Ajax程式中冗長的代碼和晦澀的名稱感到畏懼,失去了學習的信心。
目 錄
第1章 Web應用程式開發概述... 12
1.1 網路應用程式結構的演變... 12
1.1.1 B/S結構和C/S結構... 12
1.1.2 Web應用程式... 13
1.1.3 Web的有關概念*. 14
1.2 網頁的類型和工作原理... 17
1.2.1 靜態網頁和動態網頁... 17
1.2.2 為什麼需要動態網頁... 18
1.2.3 PHP動態網頁的工作原理... 19
1.3 安裝PHP的運行環境... 20
1.3.1 AppServ的安裝... 20
1.3.2 運行第一個PHP程式... 24
1.3.3 Apache的配置... 26
1.3.4在IIS中集成PHP運行環境*. 28
1.3.5 配置DW開發PHP程式... 31
1.4 Web程式語言和運行環境... 33
1.4.1 Web程式語言... 33
1.4.2 Web伺服器軟體... 35
1.5 Web編程的新趨勢... 36
習題... 37
第2章HTML與CSS. 37
2.1 什麼是HTML. 37
2.1.1 HTML文檔的結構... 38
2.1.2認識Dreamweaver 38
2.1.3使用DW新建HTML檔案... 39
2.2 HTML標記... 40
2.2.1 HTML標記的分類和結構... 40
2.2.2 HTML元素的概念和分類... 40
2.2.3 文本格式標記... 42
2.2.4 列表標記... 43
2.2.5 圖像標記<img>. 44
2.2.6 超連結標記<a>. 45
2.3 表格標記(<table>、<tr>、<td>)... 46
2.3.1 <table>標記及其屬性... 47
2.3.2 <tr>、<td>、<th>標記的屬性... 48
2.3.3 單元格的合併屬性(colspan、rowspan)... 50
2.4 表單標記(<form>、<input>、<select>) 50
2.4.1 表單標記<form>. 51
2.4.2 <input>標記... 53
2.4.3 <select>和<option>標記... 55
2.4.4 多行文本域標記<textarea>. 55
2.4.5 表單數據的傳遞過程... 56
2.5 HTML與XHTML. 57
2.5.1 文檔類型的含義和選擇... 57
2.5.2 XHTML與HTML的重要區別... 58
2.6 CSS基礎... 59
2.6.1 CSS的語法... 59
2.6.2 在HTML中引入CSS的方法... 60
2.6.3 選擇器的分類... 61
2.6.4 偽類選擇器及其套用... 62
2.7 CSS的盒子模型... 63
習題... 66
第3章 PHP基礎... 67
3.1 PHP語言基礎... 67
3.1.1 PHP代碼的基本語法... 67
3.1.2 PHP的常量和變數... 70
3.1.3變數的作用域和生存期... 71
3.1.4可變變數和引用賦值... 72
3.1.5 運算符和表達式... 73
3.1.6 PHP的字元串... 75
3.1.7 PHP的數據類型和類型轉換... 77
3.2 PHP的語句... 79
3.2.1 條件控制語句... 79
3.2.2 循環控制語句... 80
3.2.3 檔案包含語句... 83
3.3 數組... 84
3.3.1 數組的創建... 84
3.3.2 訪問數組元素或數組... 85
3.3.3 多維數組... 86
3.3.4 運算元組的內置函式... 86
3.4 PHP的內置函式... 91
3.4.1 字元串相關函式... 91
3.4.2 日期和時間函式... 93
3.4.3 檢驗函式... 94
3.4.4 數學函式... 96
3.5 自定義函式及使用... 97
3.5.1 函式的定義和調用... 97
3.5.2 變數函式和匿名函式... 100
3.5.3 傳值賦值和傳地址賦值... 100
3.6 面向對象編程... 101
3.6.1 類和對象... 102
3.6.2 類的繼承和多態... 104
習題... 106
第4章 Web互動編程... 112
4.1 接收表單數據... 112
4.1.1使用$_POST[]獲取表單數據... 112
4.1.2使用$_GET[]獲取表單數據... 116
4.1.3使用$_GET[]獲取URL字元串信息... 117
4.1.4傳送HTTP請求的基本方法... 119
4.1.5 使用$_SERVER[]獲取環境變數信息... 120
4.2 傳送數據給瀏覽器... 121
4.2.1 使用echo方法輸出信息... 121
4.2.2 使用header()函式重定向網頁... 122
4.2.2 操作緩衝區... 123
4.3 使用$_SESSION設定和獲取Session. 125
4.3.1 存儲和讀取Session信息... 125
4.3.2 Session的創建過程和有效期... 126
4.3.3 利用Session限制未登錄用戶的訪問... 128
4.3.4 刪除和銷毀Session. 129
4.4 使用$_COOKIE讀取Cookie. 130
4.4.1 創建和修改Cookie. 130
4.4.2 讀取Cookie. 131
4.4.3 Cookie數組... 132
4.4.4 刪除Cookie. 132
4.4.5 Cookie程式設計舉例... 132
4.4.6 Cookie和Session的比較... 135
4.5 使用$_FILES獲取上傳檔案信息... 136
4.5.1 添加上傳檔案的表單... 136
4.5.2使用$_FILES獲取上傳檔案信息... 137
4.5.3保存上傳檔案到指定目錄... 137
4.5.4同時上傳多個檔案... 139
習題... 140
第5章 PHP訪問資料庫... 143
5.1 資料庫的基本知識... 143
5.1.1 資料庫的基本術語... 143
5.1.2使用phpMyAdmin管理MySQL資料庫... 144
5.1.3 SQL語言簡介... 147
5.1.4 Select語句... 148
5.1.5 添加、刪除、更新記錄的語句... 150
5.1.6 SQL字元串中含有變數的書寫方法... 151
5.2 訪問MySQL資料庫... 152
5.2.1 連線MySQL資料庫... 153
5.2.2 創建結果集並輸出記錄... 154
5.2.3 使用mysql_query方法操縱資料庫... 157
5.3 添加、刪除、修改記錄的綜合實例... 158
5.3.1管理記錄主頁面的設計... 159
5.3.2 添加記錄的實現... 160
5.3.3 刪除記錄的實現... 162
5.3.4 同時刪除多條記錄的實現... 162
5.3.5 修改記錄的實現... 164
5.3.6 查詢記錄的實現... 166
5.4 分頁顯示數據... 167
5.4.1 分頁程式的基本實現... 168
5.4.2 對查詢結果進行分頁... 171
5.4.3 將分頁程式寫成函式... 173
5.4.4 可設定每頁顯示記錄數的分頁程式... 175
5.5 mysqli擴展函式的使用... 176
5.5.1 連線mysql資料庫... 177
5.5.2 執行SQL語句創建結果集... 178
5.5.3 從結果集中獲取數據... 178
5.5.4 同時執行多條SQL語句... 179
5.6 新聞網站綜合實例... 181
5.6.1 為網站引用後台程式和資料庫... 181
5.6.2 在首頁顯示數據表中的新聞... 183
5.6.3 製作動態圖片輪顯效果... 186
5.6.4 製作顯示新聞詳細頁面... 188
5.6.5 製作欄目首頁... 190
5.6.6 FCKeditor的使用... 191
5.7 資料庫接口層PDO.. 194
5.7.1 PDO的安裝... 195
5.7.2 創建PDO對象連線資料庫... 195
5.7.3 使用query()方法執行查詢... 196
5.7.4 使用exec()方法執行增、刪、改命令... 197
5.7.5 使用prepare()方法執行預處理語句... 197
5.8 用PDO製作留言板實例... 199
習題... 201
第6章 PHP檔案訪問技術... 203
6.1 檔案訪問函式... 203
6.1.1打開和關閉檔案... 203
6.1.2 讀取檔案... 204
6.1.3 移動檔案指針... 206
6.1.4文本檔案的寫入和追加... 207
6.1.5 讀寫檔案的套用——製作計數器... 208
6.2 檔案及目錄的基本操作... 210
6.2.1 複製、移動和刪除檔案... 210
6.2.2 獲取檔案屬性... 210
6.2.3目錄的基本操作... 212
6.2.4 統計目錄和磁碟大小... 215
6.3製作生成靜態頁面的新聞系統... 215
6.3.1 資料庫設計和製作模板頁... 216
6.3.2 新聞添加頁面和程式的製作... 217
6.3.3 新聞後台管理頁面的製作... 219
6.3.4 新聞修改頁面的製作... 220
6.3.5 新聞刪除頁面的製作... 222
6.3.6網站首頁和欄目首頁的靜態化... 223
6.4 利用FSO生成RSS檔案... 226
6.4.1 XML語法概述... 226
6.4.2 RSS概述... 227
6.4.3 用PHP輸出RSS文檔... 229
習題... 230
第7章 JavaScript 231
7.1 JavaScript簡介... 231
7.1.1 JavaScript的特點... 231
7.1.2 JavaScript的用途... 231
7.1.3 網頁中插入JavaScript腳本的方法... 232
7.1.4 開發和調試JavaScript的工具... 234
7.2 JavaScript語言基礎... 234
7.2.1 JavaScript的變數... 235
7.2.2 JavaScript的運算符... 235
7.2.3 JavaScript數據類型... 238
7.2.4 數組(array)... 240
7.2.5 JavaScript語句... 242
7.2.6 函式... 245
7.3 對象... 246
7.3.1 JavaScript對象... 246
7.3.2 with語句... 248
7.3.3 this關鍵字... 248
7.3.4 JavaScript的內置對象... 249
7.4 瀏覽器對象模型BOM.. 250
7.4.1 window對象... 250
7.4.2 使用定時操作函式製作動畫效果... 252
7.4.3 location對象... 255
7.4.4 history對象... 256
7.4.5 document對象... 256
7.4.6 screen對象... 259
7.5 文檔對象模型DOM.. 259
7.5.1 網頁中的DOM模型... 259
7.5.2 訪問指定節點... 260
7.5.3 訪問和設定元素的HTML屬性... 263
7.5.4 訪問和設定元素的內容... 264
7.5.5 訪問和設定元素的CSS屬性... 265
7.5.6 創建和替換元素節點... 268
7.5.7 用DOM控制表單... 269
7.6 事件處理... 271
7.6.1 事件流... 271
7.6.2 處理事件的兩種方法... 272
7.6.3 瀏覽器中的常用事件... 274
7.6.4 事件對象... 277
7.6.5 DOM和事件編程實例... 279
習 題... 284
第8章 jQuery框架... 287
8.1 jQuery框架使用入門... 287
8.1.1 jQuery框架的功能... 287
8.1.2下載並使用jQuery. 288
8.1.3 jQuery中的“$”及其作用... 288
8.1.4 jQuery對象與DOM對象... 291
8.2 jQuery的選擇器... 293
8.2.1 支持的CSS選擇器... 293
8.2.2 過濾選擇器... 294
8.3 遍歷和篩選DOM元素... 297
8.3.1 遍歷DOM元素的方法... 297
8.3.2?用slice()方法實現表格分頁... 298
8.4 jQuery對DOM文檔的操作... 301
8.4.1 創建元素... 301
8.4.2 插入到指定元素的內部... 301
8.4.3 插入到指定元素的外部... 303
8.4.4 刪除元素... 303
8.4.5 包裹元素... 304
8.2.6 替換和複製元素... 305
8.5 DOM屬性操作... 306
8.5.1 獲取和設定元素屬性... 306
8.5.2 獲取和設定元素的內容... 307
8.5.3獲取和設定元素的CSS屬性... 307
8.6 事件處理... 308
8.6.1 頁面載入時執行任務... 308
8.6.2 jQuery中的常見事件... 309
8.6.3 附加事件處理程式... 311
8.7 jQuery動畫效果... 314
8.7.1 顯示與隱藏元素的三對方法... 314
8.7.2 製作漸變背景色的下拉選單... 316
8.8 jQuery的套用舉例... 318
8.8.1 製作摺疊式選單(Accordion)... 318
8.8.2 製作Tab面板... 321
8.8.3製作圖片輪顯效果... 322
習 題... 324
第9章 基於jQuery的Ajax技術... 325
9.1 Ajax技術的基本原理... 325
9.1.1 瀏覽器傳送HTTP請求的三種方式... 325
9.1.2 基於Ajax技術的Web應用程式模型... 326
9.1.3 載入頁面的傳統方法... 328
9.1.4 用原始的Ajax技術載入文檔... 328
9.1.5 解決IE瀏覽器的快取問題... 332
9.1.6 載入PHP文檔... 332
9.1.7 XMLHttpRequest對象傳送數據給伺服器... 333
9.2 jQuery中的Ajax方法與載入文檔... 335
9.2.1 使用load方法載入HTML文檔... 335
9.2.2 JSON數據格式... 337
9.2.3 使用$.getJSON方法載入JSON文檔... 339
9.2.4 使用$.getScript方法載入JS文檔... 341
9.2.5 使用$.get方法載入XML文檔... 342
9.2.6 各種數據格式的優缺點分析... 346
9.3 傳送數據給伺服器... 347
9.3.1 使用$.get()方法執行GET請求... 347
9.3.2 使用$.post()方法執行POST請求... 351
9.3.3 使用load方法傳送請求數據... 352
9.3.4 使用$.ajax()方法設定Ajax的細節... 353
9.3.5 全局設定Ajax. 354
9.4 表單的序列化方法... 355
9.5 使用JSONP傳送跨域Ajax請求... 357
習題... 359
第10章Ajax方式訪問資料庫... 359
10.1 Ajax方式顯示數據... 360
10.1.1 以原有格式顯示數據... 360
10.1.2 以自定義的格式顯示數據... 361
10.2 Ajax方式查詢數據... 364
10.2.1 無刷新查詢數據的實現... 364
10.2.2 查詢數據的套用舉例... 365
10.3 Ajax方式添加記錄... 384
10.3.1 基本的添加記錄程式... 384
10.3.2 在伺服器端和客戶端分別添加記錄... 386
10.3.3 製作無刷新評論系統... 386
10.3.4 製作無刷新購物車程式... 389
10.4 Ajax方式修改記錄... 392
10.4.1 基本的Ajax方式修改記錄程式... 392
10.4.2 製作無刷新投票系統... 396
10.5 Ajax方式刪除記錄... 399
10.5.1 基本的刪除記錄程式... 399
10.5.2 同時刪除多條記錄的程式... 400
10.6 Ajax方式進行記錄集分頁... 401
10.6.1 基本的Ajax分頁程式... 401
10.6.2 可設定每頁顯示記錄數的分頁程式... 403
10.6.3 添加、刪除記錄程式的分頁顯示... 405
10.7 Ajax程式的轉換與調試技巧... 407
10.7.1 將原始Ajax程式轉換成jQuery Ajax程式... 407
10.7.2 調試Ajax程式的方法... 408
習題... 409
附錄A:MySQL資料庫的遷移和轉換... 410
A.1 使用phpMyAdmin導出導入數據... 410
A.2使用Navicat for MySQL管理資料庫... 410
A.3 部署一個網站程式... 412
附錄B:實 驗... 413
B.1 實驗1:搭建PHP運行和開發環境... 413
B.2 實驗2:PHP語言基礎... 413
B.3 實驗3:函式的定義和調用... 414
B.4 實驗4:面向對象程式設計... 414
B.5 實驗5:獲取表單及URL參數中的數據... 415
B.6 實驗6:Session和Cookie的使用... 415
B.7 實驗7:MySQL資料庫的管理... 416
B.8 實驗8:在PHP中訪問MySQL資料庫... 416
B.9 實驗9:分頁程式的設計... 417
B.10 實驗10:使用mysqli函式訪問資料庫... 417
B.11 實驗11:編寫簡單的Ajax程式... 417
附錄C:PHP與ASP的區別... 418