第1章 簡介 1
1.1 從靜態(tài)到動態(tài)站點 1
1.1.1 靜態(tài)Web站點 1
1.1.2 動態(tài)Web站點 2
1.1.3 什么是開放源碼 3
1.2 關于PHP 3
1.3 關于MySQL 6
1.3.1 在哪里獲得MySQL和文檔 6
1.3.2 MySQL特性 7
1.3.3 如何安裝MySQL和PHP 7
1.3.4 MySQL和PHP的優(yōu)點 8
1.4 本章小結 9
1.4.1 應該掌握的內容 9
1.4.2 下一步 9
第2章 入門 10
2.1 Web頁面的生存周期 10
2.2 PHP腳本剖析 11
2.3 需要考慮的一些事情 16
2.3.1 PHP和HTML是不同的語言 16
2.3.2 語句、空白和換行 17
2.3.3 注釋 19
2.3.4 使用PHP函數 21
2.4 復習 24
2.4.1 在命令行運行PHP 24
2.4.2 確定PHP的版本 25
2.4.3 在命令行執(zhí)行腳本 25
2.4.4 以交互方式運行PHP 26
2.4.5 命令行PHP的選項 26
2.4.6 Php.ini文件 27
2.5 本章小結 29
2.5.1 應該掌握的內容 29
2.5.2 下一步 29
第3章 PHP快速入門 31
3.1 快速入門、快速參考 31
3.1.1 對于程序員 31
3.1.2 對于非程序員 31
3.1.3 PHP語法和結構 31
3.2 本章小結 44
第4章 構件:數據類型、文字、變量和常數 45
4.1 數據類型 45
4.1.1 數值 46
4.1.2 字符串 47
4.1.3 布爾值 52
4.1.4 特殊數據類型 52
4.2 變量 54
4.2.1 定義和賦值 54
4.2.2 變量名 54
4.2.3 變量聲明和初始化 55
4.2.4 顯示變量 57
4.2.5 變量和混合數據類型 60
4.2.6 串接和變量 61
4.2.7 引用 62
4.2.8 可變變量(動態(tài)變量) 63
4.2.9 變量的作用域 64
4.2.10 管理變量 65
4.2.11 表單變量簡介 69
4.3 常數 76
4.3.1 常數是什么 76
4.3.2 利用define()函數創(chuàng)建常數 76
4.3.3 constant()函數 77
4.3.4 預定義常數和一些“神奇”常數 78
4.4 本章小結 79
4.4.1 應該掌握的內容 79
4.4.2 下一步 80
第5章 操作符 82
5.1 關于PHP操作符和表達式 82
5.1.1 賦值 83
5.1.2 優(yōu)先與結合 83
5.1.3 算術操作符 86
5.1.4 短路賦值操作符 87
5.1.5 自動增量和自動減量操作符 88
5.1.6 一些常用數學函數 90
5.1.7 強制轉化操作符 91
5.1.8 串接操作符 93
5.1.9 比較操作符 94
5.1.10 數字比較 96
5.1.11 比較字符串 97
5.1.12 邏輯操作符 98
5.1.13 條件操作符 106
5.1.14 比特操作符 108
5.1.15 執(zhí)行操作符 110
5.1.16 錯誤控制操作符 111
5.1.17 類型操作符 112
5.2 本章小結 112
5.2.1 應該掌握的內容 112
5.2.2 下一步 113
第6章 字符串 114
6.1 字符串是什么 114
6.1.1 引號 115
6.1.2 字符串操作符 117
6.2 字符串函數 119
6.2.1 字符串的格式化和顯示 119
6.2.2 數字和貨幣的格式化 123
6.2.3 字符串長度 124
6.2.4 字符串里的單詞數量 125
6.2.5 改變字符串大小寫 126
6.2.6 字符串比較 128
6.2.7 字符串相似性 133
6.2.8 分解字符串 137
6.2.9 重復字符串 138
6.2.10 字符串剪裁與填充 139
6.2.11 查找和替換 142
6.2.12 字符定位 145
6.2.13 提取字符串片斷——子串 146
6.2.14 特殊字符和字符串 153
6.2.15 處理HTML特殊字符 161
6.3 其他字符串函數 164
6.4 本章小結 167
6.4.1 應該掌握的內容 167
6.4.2 下一步 167
第7章 條件與循環(huán) 169
7.1 控制結構、語句塊和復合語句 169
7.2 循環(huán) 177
7.2.1 while循環(huán) 177
7.2.2 do/while循環(huán) 179
7.2.3 for循環(huán) 180
7.2.4 foreach循環(huán) 183
7.2.5 用break和continue控制循環(huán) 183
7.3 本章小結 187
7.3.1 應該掌握的內容 187
7.3.2 下一步 187
第8章 數組 190
8.1 什么是數組 190
8.1.1 創(chuàng)建和命名數組 193
8.1.2 訪問數組的元素(值) 197
8.1.3 顯示數組內容 201
8.1.4 利用循環(huán)訪問數組元素 204
8.1.5 檢查數組是否存在 210
8.1.6 從數組創(chuàng)建字符串和從字符串創(chuàng)建數組 212
8.1.7 數組的大小 214
8.1.8 從數組提取關鍵字和值 216
8.1.9 從數組元素創(chuàng)建變量 221
8.1.10 多維數組 226
8.1.11 數組排序 230
8.1.12 隨機處理數組 237
8.2 修改數組(清除、刪除、添加和改變元素) 240
8.2.1 刪除數組及其元素 241
8.2.2 向數組添加元素 244
8.2.3 拷貝數組的元素 248
8.2.4 結合與合并數組 250
8.2.5 數組操作符 254
8.2.6 其他數組函數 257
8.3 本章小結 260
8.3.1 應該掌握的內容 260
8.3.2 下一步 261
第9章 自定義函數 262
9.1 什么是函數 262
9.1.1 函數聲明、定義和調用 263
9.1.2 傳遞變元 265
9.1.3 返回值 273
9.1.4 使用回調函數 279
9.1.5 作用域 282
9.1.6 嵌套函數 286
9.1.7 遞歸函數 288
9.1.8 函數庫——要求與包含 290
9.2本章小結 293
9.2.1 應該掌握的內容 293
9.2.2 下一步 294
第10章 PHP表單 295
10.1 簡介 295
10.2 復習HTML表單 295
10.2.1 瀏覽器擔當的角色 295
10.2.2 服務器擔當的角色 298
10.2.3 創(chuàng)建HTML表單 299
10.3 PHP與表單 303
10.3.1 register_globals指令 304
10.3.2 使用超全局數組獲取表單數據 305
10.3.3 請求方法 306
10.3.4 表單字段名稱及用戶輸入里的怪字符 306
10.3.5 表單參數:$_REQUEST數組 308
10.3.6 表單參數和中樣式 311
10.3.7 表單參數和長(舊)樣式 316
10.3.8 處理具有多選項的表單 317
10.3.9 使用圖像按鈕的表單 320
10.3.10 自處理HTML表單 322
10.3.11 使用隱藏字段 324
10.3.12 用戶的重定向 326
10.3.13 上傳文件 329
10.3.14 粘性表單 333
10.3.15 何處獲取關于超全局數組的信息 337
10.3.16 如何獲取服務器信息 337
10.3.17 如何獲取環(huán)境的信息 340
10.4 本章小結 341
10.4.1 應該掌握的內容 341
10.4.2 下一步 342
第11章 文件和目錄 344
11.1 文件 344
11.1.1 文件權限和所有權 344
11.1.2 UNIX/Linux權限 344
11.1.3 Windows權限 346
11.2 Web服務程序、PHP和權限 348
11.2.1 PHP內置函數 348
11.2.2 文件句柄 349
11.2.3 打開文件 350
11.2.4 打開文件進行讀取 351
11.2.5 文件指針的定位 358
11.2.6 打開URL進行讀取 361
11.2.7 不使用文件名稱讀取文件內容 362
11.2.8 打開文件進行寫入和添加 367
11.2.9 文件檢查 371
11.2.10 創(chuàng)建、拷貝、重命名和刪除文件 375
11.3 目錄 376
11.3.1 打開和讀取目錄 377
11.3.2 獲取路徑信息 378
11.3.3 改變和獲取當前目錄 379
11.4 利用包含文件管理內容 380
11.5 本章小結 385
11.5.1 應該掌握的內容 386
11.5.2 下一步 386
第12章 正則表達式和式樣匹配 387
12.1 什么是正則表達式 387
12.2 式樣匹配函數 388
12.2.1 查找式樣 389
12.2.2 查找和替換 394
12.2.3 獲得控制——正則表達式元字符 403
12.2.4 在文本文件里查找式樣 431
12.2.5 利用PHP實現表單檢驗 433
12.2.6 獲取Web上的幫助 438
12.3 本章小結 439
12.3.1 應該掌握的內容 439
12.3.2 下一步 440
第13章 MySQL簡介 442
13.1 關于數據庫 442
13.1.1 客戶端/服務器數據庫 443
13.1.2 與數據庫通信 443
13.1.3 MySQL的優(yōu)缺點 443
13.2 剖析關系型數據庫 444
13.2.1 數據庫服務程序 445
13.2.2 數據庫 445
13.2.3 表 446
13.2.4 記錄和字段 446
13.2.5 主鍵和索引 448
13.2.6 數據庫規(guī)劃 448
13.3 連接到數據庫 449
13.3.1 MySQL命令行選項 450
13.3.2 圖形用戶工具 452
13.4 MySQL授權系統(tǒng) 455
13.4.1 登錄到數據庫服務程序 455
13.4.2 查找數據庫 456
13.4.3 “user”表 457
13.4.4 “db”表 458
13.4.5 “host”表 459
13.4.6 實際范例 460
13.4.7 Grant與Revoke命令 461
13.4.8 創(chuàng)建和清除數據庫 462
13.4.9 一些有用的MySQL函數 463
13.5 本章小結 464
13.5.1 應該掌握的內容 464
13.5.2 下一步 465
第14章 SQL語言指南 466
14.1 SQL是什么 466
14.1.1 SQL的標準化 466
14.1.2 執(zhí)行SQL語句 467
14.1.3 關于SQL命令/查詢 468
14.1.4 SQL與數據庫 470
14.1.5 SQL數據庫表 471
14.2 SQL數據操作語言(DML) 473
14.2.1 SELECT命令 474
14.2.2 INSERT命令 484
14.2.3 UPDATE命令 484
14.2.4 DELETE語句 485
14.3 SQL數據定義語言 486
14.3.1 創(chuàng)建數據庫 486
14.3.2 SQL數據類型 487
14.3.3 創(chuàng)建表 488
14.3.4 創(chuàng)建關鍵字 490
14.3.5 關系 492
14.3.6 改變表 495
14.3.7 刪除表 496
14.3.8 刪除數據庫 496
14.4 SQL函數 496
14.4.1 數值函數 497
14.4.2 字符串函數 499
14.4.3 日期和時間函數 500
14.5 本章小結 503
14.5.1 應該掌握的內容 503
14.5.2 下一步 504
第15章 PHP與MySQL 的集成 507
15.1 導言 507
15.1.1 連接到數據庫服務程序 507
15.1.2 選擇數據庫 509
15.1.3 執(zhí)行SQL語句(INSERT、UPDATE、DELETE) 510
15.1.4 獲取查詢結果(SELECT) 512
15.1.5 其他常用MySQL函數 515
15.2 留言簿范例 520
15.2.1 第1步:設計數據庫 520
15.2.2 第2步:創(chuàng)建消息頁面 521
15.2.3 第3步:列出全部消息 524
15.2.4 范例小結 525
15.3 本章小結 526
15.3.1 應該掌握的內容 526
15.3.2 下一步 526
第16章 Cookie和會話 528
16.1 什么是無狀態(tài) 528
16.2 什么是Cookie 528
16.2.1 Cookie的成分 529
16.2.2 Cookie的屬性 530
16.3 PHP與Cookie 531
16.3.1 使用setcookie()函數創(chuàng)建Cookie 531
16.3.2 利用Cookie追蹤用戶 536
16.3.3 延長Cookie的生命 539
16.3.4 緩存與HTTP頭標 540
16.3.5 刪除Cookie 543
16.4 什么是會話 544
16.4.1 在哪里保存會話 546
16.4.2 啟動基于Cookie的會話 548
16.4.3 注冊會話 549
16.4.4 在會話里保存數組 551
16.4.5 會話Cookie函數和配置選項 554
16.4.6 利用會話設置偏愛 555
16.4.7 命名會話 560
16.4.8 沒有Cookie的會話 562
16.4.9 利用鏈接傳遞會話ID 565
16.4.10 修改會話ID 569
16.4.11 終止會話 570
16.4.12 會話運行時間配置 572
16.4.13 利用會話實現一個登錄系統(tǒng) 573
16.5 本章小結 577
16.5.1 應該掌握的內容 577
16.5.2 下一步 578
第17章 對象 579
17.1 什么是對象? 579
17.2 使用類 580
17.2.1 定義類 580
17.2.2 類的實例化 581
17.2.3 創(chuàng)建一個完整的類 584
17.2.4 顯示一個對象 586
17.2.5 獲取類信息的函數 587
17.2.6 封裝和信息隱藏 587
17.2.7 類成員和作用域 588
17.2.8 特殊方法 590
17.2.9 繼承 598
17.2.10 覆蓋方法 601
17.2.11 訪問受保護的成員 602
17.3 PHP 5的一些對象特性 605
17.3.1 final類和方法 605
17.3.2 靜態(tài)成員 606
17.3.3 類常數 607
17.3.4 類的重用 608
17.4 本章小結 612
附錄A 建立一個藝術圖庫 614
A.1 項目概述 614
A.2 公共和私有 614
A.3 創(chuàng)建Web站點 615
A.3.1 創(chuàng)建數據庫 615
A.3.2 管理頁面 616
A.3.3 公共頁面 625
A.3.4 利用登錄保護頁面 631
A.4 安裝藝術畫廊站點 632
A.4.1 Canvas Gallery站點的文件在哪里 632
A.4.2 安裝MySQL數據庫 632
A.4.3 編輯PHP頁面 634
A.5 小結 634
附錄B PHP與電子郵件 635
B.1 郵件服務程序 635
B.2 MIME(多用途互聯(lián)網郵件擴展) 636
B.3 運行時間配置選項 636
B.4 mail()函數 636
B.5 發(fā)送一個簡單的電子郵件消息 637
B.6 范例:發(fā)送一個HTML消息 638
附錄C PHP與日期/時間 643
C.1 格式化日期和時間 643
C.1.1 date()函數 643
C.1.2 strftime()函數 645
C.2 獲取時標 647
C.2.1 time()函數 647
C.2.2 mktime()函數 648
C.2.3 從字符串創(chuàng)建UNIX時標 650
C.3 獲取日期和時間 651
附錄D 安全與調試 655
D.1 關于安全 655
D.1.1 網絡安全與SSL 655
D.1.2 操作系統(tǒng)、Web服務程序和文件系統(tǒng)的安全 656
D.2 保護PHP和MySQL 656
D.3 調試 661
D.3.1 啟動錯誤報告 661
D.3.2 首先糾正解析錯誤 662
D.3.3 用于調試的顯示語句 662
D.3.4 糾正SQL錯誤 665
D.3.5 更多調試技巧 666
附錄E 安裝過程 667
E.1 關于Web服務程序 667
E.2 在Windows上安裝Apache 667
E.3 在Windows上安裝PHP 668
E.4 在Linux/UNIX上安裝PHP 669
E.5 在Mac OS X上安裝PHP 669
E.6 配置Apache使用PHP模塊(各種平臺) 669
E.7 配置php.ini(各種平臺) 670
E.8 在Windows上安裝MySQL 671
E.9 在Linux/UNIX上安裝MySQL 671
E.10 在Mac OS X上安裝MySQL 672
E.11 閱讀手冊 672