內容簡介
本書針對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)是一位諮詢師,她從Web誕生之初就開始從事基於Web的套用開發。她是眾多關於Web應用程式開發、HTML、CSS的圖書和文章的作者,其作品被翻譯為18種語言。