PHP MySQL 和 JavaScript 入門經典, 6/e (PHP, MySQL & JavaScript All in One, Sams Teach Yourself, 6/e)
內容描述
本書針對PHP、MySQL和JavaScript的新版本,結合Web開發的實際需求,介紹了編程和應用開發技能,並通過一些典型的項目案例,幫助讀者開發出功能強大的Web應用。
本書分為5個部分和4個附錄。第1部分“Web應用基礎知識”,包括前5章,幫助讀者理解Web上的通信,以便能夠編寫基本的PHP腳本,還介紹了HTML、CSS和JavaScript的基礎知識。第2部分“動態Web站點基礎”,包括第6章到第10章,主要介紹JavaScript的語法和用法。第3部分“提高Web應用程序的層級”,包括第11章到第15章,主要介紹PHP語言的基礎知識,以及如何使用cookies和用戶會話。第4部分“將數據庫整合到應用程序中”,包括第16章到第18章,介紹了使用數據庫的通用知識,包括SQL基礎知識,以及MySQL專有的函數以及其他信息。第5部分“應用開發基礎”,包括第19章到第22章,專門介紹使用PHP和MySQL來執行一個特定的任務,綜合應用了本書中的所有知識。附錄部分介紹了XAMPP、MySQL、Apache和PHP的安裝和配置。在每一章的最後,都有測驗問題和額外的練習,幫助讀者鞏固所學的知識。
本書內容全面,講解詳細,由淺入深,實例豐富,可作為PHP、MySQL、JavaScript初學者的學習指南,也可作為Web開發技術人員的參考用書。
目錄大綱
第1部分:Web應用基礎知識
第1章理解Web的工作方式3
1.1 HTML和WWW簡史4
1.2創建Web內容4
1.3理解Web內容遞送5
1.4選擇Web託管提供商7
1.5利用多種Web瀏覽器執行測試8
1.6創建一個示例文件9
1.7使用FTP傳輸文件10
1.7.1選擇FTP客戶端10
1.7.2使用FTP客戶端11
1.8了解在Web服務器上放置文件的位置13
1.8.1基本的文件管理14
1.8 .2使用索引頁面15
1.9小結16
1.10問與答16
1.11測驗17
1.11.1問題17
1.11.2解答17
1.11.3練習17
第2章構造HTML文檔19
2.1從一個簡單的Web頁面開始20
2.2每個Web頁面都必須具有的HTML標籤22
2.3在Web頁面中使用超鏈接24
2.3.1使用錨點鏈接到一個頁面內部25
2.3.2鏈接到外部Web內容25
2.3.3鏈接到一個E-mail地址26
2.4利用段落和換行符組織頁面26
2.5利用標題組織內容28
窺探其他設計師的頁面?30
2.6理解語義元素30
2.6.1以多種方式使用元素35
2.6.2理解元素36
2.6.3正確地使用元素37
2.6.4實現元素37
2.6.5何時使用元素38
2.6.6有效地使用元素39
2.7 CSS的工作方式40
2.8基本的樣式表41
2.9 CSS樣式的基礎知識46
2.9.1基本的佈局屬性46
2.9.2基本的格式化屬性47
2.10使用樣式類49
2.11使用樣式ID 51
2.12內部樣式表和內聯樣式52
驗證樣式表53
2.13小結54
2.14問與答55
2.15測驗56
2.15.1問題56
2.15.2解答57
2.15.3練習57
第3章理解CSS方框模型和定位58
3.1 CSS方框模型59
3.2詳解定位61
3.3控制元素的堆疊方式65
3.4管理文本流67
3.5理解固定佈局67
3.6理解流動佈局69
3.7創建固定/流動混合佈局70
3.7.1從基本的佈局結構開始71
3.7.2在固定/流動混合佈局中定義兩欄72
3.7.3設置佈局的最小寬度74
3.7.4在固定/流動混合佈局中處理欄高度74
3.8考慮響應性Web設計79
3.9小結80
3.10問與答80
3.11測驗81
3.11.1問題81
3.11.2解答81
3.11.3練習81
第4章理解JavaScript 82
4.1學習Web腳本編程的基礎知識83
腳本和程序83
4.2 JavaScript如何適應Web頁面84
4.2.1使用單獨的JavaScript文件85
4.2.2使用基本的JavaScript事件85
4.3探索JavaScript的能力86
4.3.1驗證表單86
4.3.2特殊效果86
4.3.3遠程腳本調用(AJAX) 86
4.4基本概念87
4.4.1語句87
4.4.2把任務與函數相結合88
4.4.3變量88
4.4.4了解對象88
4.4.5條件語句89
4.4.6循環語句89
4.4.7事件處理程序90
4.4.8首先運行哪個腳本91
4.5 JavaScript語法規則92
4.5.1大小寫敏感性92
4.5.2變量、對象和函數名稱92
4.5.3保留字92
4.5.4空白92
4.6使用註釋93
4.7關於JavaScript的最佳實踐93
4.8理解JSON 94
4.9使用JavaScript控制台調試JavaScript錯誤95
4.10小結96
4.11問與答96
4.12測驗97
4.12.1問題97
4.12.2解答98
4.12.3練習98
第5章PHP簡介99
5.1 PHP是如何與Web服務器協作的99
5.2 PHP腳本基礎100
5.2.1開始和結束一個PHP語句塊101
5.2.2 echo語句和print()函數102
5.2.3組合HTML和PHP 103
5.2.4為PHP代碼添加註釋104
5.3代碼塊和瀏覽器輸出104
5.4小結107
5.5問與答107
5.6測驗107
5.6.1問題107
5.6.2解答108
5.6.3練習108
第2部分:動態Web站點基礎
第6章理解動態Web站點和HTML5應用程序111
6.1理解不同類型的腳本112
6.2顯示隨機內容112
6.3理解文檔對像模型116
6.4使用window對象116
6.5處理document對象117
6.5.1獲取關於文檔的信息117
6.5.2在文檔中編寫文本118
6.5.3使用鏈接和錨119
6.6訪問瀏覽器的歷史記錄119
6.7使用location對象121
6.8關於DOM結構的更多知識122
6.8.1節點123
6.8.2父對象與子對象123
6.8.3兄弟對象123
6.9處理DOM節點123
6.9.1基本的節點屬性123
6.9.2節點的關係屬性124
6.9.3文檔方法124
6.9.4節點方法125
6.10創建可定位的元素(圖層) 125
利用JavaScript控制定位126
6.11隱藏和顯示對象129
6.12修改頁面內的文本131
6.13向頁面中添加文本132
6.14基於用戶交互更改圖像134
6.15提前考慮開發HTML5應用程序135
6.16小結136
6.17問與答136
6.18測驗137
6.18.1問題137
6.18.2解答137
6.18.3練習137
第7章JavaScript基礎:變量、字符串和數組138
7.1使用變量138
7.1.1選擇變量名139
7.1.2使用局部變量和全局變量139
7.1.3給變量賦值140
7.2了解表達式和運算符141
7.2.1使用JavaScript運算符141
7.2. 2運算符優先級142
7.3 JavaScript中的數據類型143
7.4在數據類型之間轉換143
7.5使用String對象144
7.5.1創建String對象144
7.5.2賦值145
7.5.3計算字符串的長度146
7.5.4轉換字符串的大小寫146
7.6處理子串147
7.6.1使用字符串的一部分147
7.6.2獲取單個字符148
7.6.3查找子串148
7.7使用數值型數組149
7.7.1創建數值型數組149
7.7.2理解數組長度149
7.7.3訪問數組元素150
7.8使用字符串數組150
7.8.1創建字符串數組150
7.8.2拆分字符串151
7.8.3對字符串數組進行排序151
7.9對數值型數組進行排序151
7.10小結154
7.11問與答154
7.12測驗155
7.12.1問題155
7.12.2解答156
7.12.3練習156
第8章JavaScript基礎:函數、對象和流程控制157
8.1使用函數158
8.1.1定義函數158
8.1.2調用函數159
8.1.3返回值161
8.2對像簡介163
8.2.1創建對象163
8.2.2理解方法163
8.3使用對像簡化腳本編程164
8.3.1定義對象164
8.3.2定義對象的方法165
8.3.3創建對象的實例166
8.4擴展內置對象168
8.5使用Math對象169
8.5.1四捨五入和截尾170
8.5.2生成隨機數170
8.5.3其他Math方法170
8.6使用Math方法171
8.7處理Date對象173
8.7.1創建Date對象173
8.7.2設置Date值173
8.7.3讀取Date值174
8.7.4處理時區174
8.7.5在日期格式之間轉換175
8.8 if語句175
8.8.1條件運算符176
8.8.2利用邏輯運算符把條件結合起來176
8.8.3 else關鍵字177
8.9使用簡寫的條件表達式178
8.10利用if和else測試多個條件179
8.10.1 HTML文件179
8.10.2 JavaScript文件180
8.11利用switch使用多個條件181
8.12使用for循環182
8.13使用while循環184
8.14使用do...while循環185
8.15使用循環185
8.15.1創建無限循環185
8.15.2退出循環186
8.15.3繼續執行循環186
8.16遍歷對象屬性187
8.17小結189
8.18問與答190
8.19測驗190
8.19.1問題190
8.19.2解答191
8.19.3練習191
第9章理解JavaScript事件處理192
9.1理解事件處理程序192
9.1.1對象和事件193
9.1.2創建事件處理程序193
9.1.3用JavaScript定義事件處理程序194
9.1.4支持多個事件處理程序194
9.1.5使用Event對象195
9.2使用鼠標事件196
9.2.1移入和移出196
9.2.2按下和釋放(以及單擊) 197
9.3使用鍵盤事件199
9.4使用load和unload事件201
9.5使用click更改的外觀202
9.6小結207
9.7問與答207
9.8測驗207
9.8.1問題207
9.8.2解答208
9.8.3練習208
第10章使用jQuery的基礎知識209
10.1使用第三方JavaScript庫209
10.2 jQuery應運而生210
10.3準備使用jQuery 211
10.4熟悉$().ready處理程序212
10.5選擇DOM和CSS內容213
10.6操作HTML內容214
10.6.1顯示和隱藏元素215
10.6.2製作元素的動畫216
10.7結合使用各種方法來創建jQuery動畫218
10.8利用jQuery處理事件221
10.9小結222
10.10問與答222
10.11測驗222
10.11 .1問題222
10.11.2解答223
10.11.3練習223
第3部分:提高Web應用程序的層級
第11章AJAX:遠程腳本編程227
11.1 AJAX簡介227
11.1.1 JavaScript客戶(前端) 228
11.1.2服務器端腳本(後端) 228
11.1.3 XML 229
11.1.4流行的AJAX示例229
11.2使用XMLHttpRequest 229
11.2.1創建請求230
11.2.2打開URL 230
11.2.3發送請求230
11.2.4等待響應230
11.2. 5解釋響應數據231
11.3創建簡單的AJAX庫231
11.3.1 ajaxRequest函數232
11.3.2 ajaxResponse函數232
11.3.3使用庫232
11.4使用庫創建AJAX測驗233
11.4.1 HTML文件233
11.4.2 XML文件234
11.4.3 JavaScript文件234
11.4.4測試示例236
11.5調試基於AJAX的應用程序236
11.5.1 HTML表單237
11.5.2 PHP後端238
11.5.3 JavaScript前端238
11.5.4使之工作240
11.6將jQuery的內置函數用於AJAX 240
11.7小結241
11.8問與答241
11.9測驗242
11.9.1問題242
11.9.2解答242
11.9.3練習242
第12章PHP基礎:變量、字符串和數組243
12.1變量243
12.1.1全局變量244
12.1.2超全局變量245
12.2數據類型245
12.2.1使用settype()來改變變量的數據類型247
12.2.2通過類型轉換改變變量的數據類型248
12.2.3為何測試類型250
12.3操作符和表達式250
12.3.1賦值操作符251
12.3.2算術操作符251
12.3.3連接操作符252
12.3.4複合賦值操作符252
12.3.5自動增加和減少一個整型變量253
12.3.6比較操作符254
12.3.7使用邏輯操作符創建複雜的測試表達式255
12.3.8操作符優先級256
12.4常量257
預定義常量258
12.5理解數組258
12.6創建數組258
12.6.1創建關聯數組260
12.6.2創建多維數組260
12.7一些和數組相關的函數262
12.8小結263
12.9問與答264
12.10測驗264
12.10.1問題264
12.10.2解答265
12.10.3練習265
第13章PHP基礎:函數、對象和
流程控制266
13.1調用函數267
13.2定義一個函數268
13.3從用戶定義的函數返回值270
13.4理解變量作用域271
使用global語句訪問變量272
13.5使用static語句在函數調用之間
保存狀態273
13.6關於參數的更多內容275
13.6.1為參數設置默認值275
13.6.2把變量引用傳遞給函數276
13.7測試函數是否存在277
13.8創建一個對象278
13.8.1對象的屬性280
13.8.2對象方法281
13.8.3構造方法283
13.9對象繼承283
13.10轉換流程284
13.10.1 if語句284
13.10.2使用else子句的if語句285
13.10.3使用帶有elseif子句的if
語句286
13.10.4 switch語句287
13.10.5使用?:運算符288
13.11實現循環289
13.11.1 while語句289
13.11.2 do…while語句290
13.11.3 for語句291
13.11.4用break語句跳出循環292
13.11.5用continue語句跳過迭代293
13.11.6嵌套循環294
13.12小結296
13.13問與答296
13.14測驗296
13.14.1問題297
13.14.2解答297
13.14.3練習297
第14章使用cookie和用戶會話298
14.1 cookie簡介298
14.1.1深入了解一個cookie 299
14.1.2訪問cookies 299
14.2設置一個cookie 300
14.3刪除一個cookie 302
14.4會話函數概覽303
14.5使用會話變量304
14.6銷毀會話和重置變量308
14.7在一個帶有註冊用戶的環境中
使用會話308
14.7.1使用註冊的用戶309
14.7.2使用用戶偏好309
14.7.3理解瀏覽器中的本地存儲和
會話存儲309
14.8小結310
14.9問與答310
14.10測驗310
14.10.1問題311
14.10.2解答311
14.10.3練習311
第15章處理基於Web的表單312
15.1 HTML表單的工作方式313
15.2創建表單313
15.3接受文本輸入317
15.4命名各種表單數據317
15.5標記各種表單數據318
15.6組合表單元素319
在表單中包括隱藏的數據319
15.7探索表單輸入控件320
15.7.1複選框320
15.7.2單選按鈕322
15.7.3選擇列表323
15.7.4文本框、文本區及其他輸入
類型325
15.8使用HTML5表單驗證326
15.9提交表單數據328
為表單事件使用JavaScript 329
15.10利用JavaScript訪問表單元素329
顯示來自表單的數據330
15.11創建一個簡單的輸入表單331
15.11.1使用用戶定義數組訪問表單
輸入332
15.11.2在單個頁面上組合HTML和
PHP代碼333
15.12使用隱藏字段來保存狀態336
15.13根據表單提交發送郵件337
15.13.1 mail()函數的系統配置337
15.13.2創建表單338
15.13.3創建發送郵件的腳本339
15.14小結341
15.15問與答342
15.16測驗342
15.16.1問題342
15.16.2解答343
15.16.3練習343
第4部分:將數據庫整合到應用程序中
第16章理解數據庫設計過程347
16.1良好的數據庫設計的重要性347
16.2表關係的類型348
16.2.1一對一關係349
16.2.2一對多關係349
16.2.3多對多關係350
16.3理解規範化351
16.3.1平錶帶來的問題351
16.3.2第一範式352
16.3.3第二範式352
16.3.4第三範式353
16.4遵從設計過程353
16.5小結354
16.6問與答355
16.7測驗355
16.7.1問題355
16.7.2解答355
16.7.3練習355
第17章SQL基本命令356
17.1 MySQL數據類型357
17.1.1數字數據類型357
17.1.2日期和時間類型358
17.1.3字符串類型359
17.2表的創建語法360
17.3使用INSERT命令360
進一步學習INSERT語句361
17.4使用SELECT命令362
17.4.1排序SELECT結果363
17.4.2限制結果364
17.5在查詢中使用WHERE 365
17.5.1在WHERE子句中使用
操作符366
17.5.2使用LIKE比較字符串366
17.6從多個表中查詢367
17.6.1使用JOIN 369
17.6.2使用子查詢371
17.7使用UPDATE命令來修改記錄372
17.7.1條件式UPDATE 374
17.7.2在UPDATE中使用已有的
列值375
17.8使用REPLACE命令375
17.9使用DELETE命令376
條件式DELETE 377
17.10 MySQL中常用的字符串函數378
17.10.1長度和連接函數379
17.10.2截斷和填充函數381
17.10.3定位和位置函數383
17.10.4子字符串函數383
17.10.5字符串修改函數384
17.11在MySQL中使用日期和時間
函數386
17.11.1操作日期386
17.11 .2操作月份和年份388
17.11.3操作週390
17.11.4操作小時、分鐘和秒391
17.11.5使用MySQL格式化日期和
時間392
17.11.6使用MySQL執行日期
算術394
17.11.7特殊函數和轉換函數396
17.12小結398
17.13問與答399
17.14測驗400
17.14.1問題400
17.14.2解答400
17.14.3練習401
第18章使用PHP和MySQL交互402
18.1 MySQL函數和MySQLi函數402
18.2使用PHP連接MySQL 402
18.2.1進行連接403
18.2.2執行查詢404
18.2.3獲取錯誤消息405
18.3使用MySQL數據406
18.3.1避免SQL注入406
18.3.2使用PHP插入數據407
18.3. 3使用PHP獲取數據409
18.3.4 PHP中其他的MySQL函數411
18.4小結411
18.5問與答412
18.6測驗412
18.6.1問題412
18.6.2解答412
18.6.3練習412
第5部分:應用開發基礎
第19章創建一個簡單的討論論壇415
19.1設計數據庫表415
19.2為共同函數創建一個包含文件416
19.3創建輸入表單和腳本417
19.4顯示主題列表420
19.5顯示一個主題中的帖子423
19.6向主題添加帖子426
19.7用JavaScript修改論壇的顯示429
19.8小結431
19.9問與答431
19.10測驗431
19.10.1問題431
19.10.2解答431
19.10.3練習432
第20章創建一個在線商店433
20.1規劃和創建數據庫表433
20.1.1向store_categories表插入
記錄435
20.1.2向store_items表插入記錄435
20.1.3向store_item_size表中插入
記錄436
20.1.4向store_item_color表插入
記錄436
20.2顯示商品分類436
20.3顯示商品439
20.4對在線商店前端使用
JavaScript 442
20.5小結445
20.6問與答445
20.7測驗446
20.7.1問題446
20.7.2解答446
20.7.3練習446
第21章創建一個簡單的日曆447
21.1構建一個簡單的顯示日曆447
21.1.1檢查用戶輸入447
21.1.2構建HTML表單448
21.1.3創建日曆表格450
21.1.4向日曆添加事件453
21.2用JavaScript創建一個日曆庫461
21.2.1創建日曆的HTML 461
21.2.2構建接受用戶輸入的表單462
21.2.3創建日曆463
21.3小結467
21.4問與答467
21.5測驗467
21.5.1問題467
21.5.2解答467
21.5 .3練習467
第22章管理Web應用程序468
22.1理解Web應用開發中的一些最佳
實踐468
22.1.1將邏輯和內容分離開469
22.1.2原型470
22.1.3測試470
22.2編寫可維護的代碼471
22.2.1確定命名慣例471
22.2.2用註釋作為代碼文檔472
22.2.3清晰地縮進代碼473
22.2.4分解代碼474
22.3在工作中實現版本控制474
使用版本控制系統475
22.4理解代碼框架的價值和用法476
22.4.1使用JavaScript框架477
22.4.2使用PHP框架478
22.5小結479
22.6問與答479
22.7測驗480
22.7.1問題480
22.7.2解答480
22.7.3練習480
附錄A使用XAMPP的安裝入門指南482
A.1使用第三方的安裝包482
A.2 Linux/UNIX下的安裝483
A.3在Windows上安裝XAMPP 484
A.4在Mac OS X上安裝XAMPP 487
A. 5讓XAMPP更安全490
A.6故障排除490
附錄B安裝和配置MySQL 492
B.1 MySQL的當前版本和未來版本492
B.2如何獲取MySQL 493
B.3在Linux/UNIX上安裝MySQL 493
B. 4在Mac OS X上安裝MySQL 495
B.5在Windows上安裝MySQL 496
B.6安裝故障排除499
B.7基本安全規則500
B.7.1啟動MySQL 500
B.7.2增強MySQL連接的安全501
B.8 MySQL權限系統簡介501
B.8.1兩步身份驗證過程502
B.8.2添加用戶503
B.8.3移除權限505
附錄C安裝和配置Apache 506
C.1 Apache的當前版本506
C.2選擇合適的安裝方法507
C.2.1從源代碼安裝507
C.2.2安裝一個二進制代碼版本507
C.3在Linux/UNIX上安裝Apache 507
C.3.1下載Apache源代碼508
C.3.2解壓源代碼508
C.3.3準備編譯Apache 508
C.3.4編譯和安裝Apache 509
C.4在Mac OS X上安裝Apache 510
C.5在Windows上安裝Apache 510
C.6 Apache配置文件結構512
C.6.1指令512
C.6.2容器513
C.6.3條件評估513
C. 6.4 ServerRoot指令514
C.6.5 per-directory配置文件514
C.7 Apache日誌文件515
C.7.1 access_log文件515
C.7.2 error_log文件516
C.7.3其他文件516
C.8 Apache相關命令516
C.8.1 Apache服務器二進製程序516
C.8.2 Apache控制腳本517
C.9第一次啟動Apache 517
C.9.1檢查你的配置文件518
C.9.2啟動Apache 518
C.10故障排除519
C.10.1未安裝Visual C庫
(在Windows上) 519
C.10.2已經存在一個Web服務器519
C.10.3不允許綁定到端口519
C.10.4拒絕訪問520
C.10.5錯誤組設置520
附錄D安裝和配置PHP 521
D. 1 PHP的當前版本和未來版本521
D.2在帶有Apache的Linux/UNIX上
編譯PHP 521
D.2.1額外的Linux/UNIX配置
選項524
D.2.2在Linux/UNIX上集成PHP和
Apache 524
D. 3在Mac OS X上安裝PHP 525
D.4在Windows上安裝PHP 525
在Windows上集成PHP和
Apache 526
D.5 php.ini基礎527
D.6測試安裝527
D.7 獲取安裝幫助528
作者介紹
作者:[美]朱莉·C·梅洛尼(Julie·C·Meloni)譯者:李軍
朱莉·C·梅洛尼(Julie·C·Meloni)是一位諮詢師,她從Web誕生之初就開始從事基於Web的應用開發。她是眾多關於Web應用程序開發、HTML、CSS的圖書和文章的作者,其作品被翻譯為18種語言。