內容簡介
本書面向PHP 初學者設計編寫,通過通俗易懂的語言和大量生動、典型的實例,由淺入深、循序漸進地介紹了利用PHP 進行網路編程的常用技術和方法。全書共14 章,第1~5 章主要介紹了PHP 環境的安裝與配置,PHP 語言基礎知識;第6~7 章主要介紹了MySQL 資料庫的安裝,MySQL 中的SQL 語句用法;第8~14 章主要介紹了PHP 高級編程與套用,手機APP 套用開發等,以及綜合實例和實驗指導,以充分滿足教師課堂教學需要。
本書循序漸進、內容完整、實用性強,以教材方式組織內容,可作為套用型本科、高職高專院校計算機專業或PHP 培訓班的教學教材,也可作為PHP 愛好者和動態網站開發維護人員理想的學習參考書。
圖書目錄
第1章 PHP 概述及其運行環境的配置 1
1.1 動態Web 站點 1
1.1.1 什麼是動態Web 站點 1
1.1.2 從靜態網站到動態網站的演變 1
1.2 PHP 基本原理及由來 2
1.2.1 PHP 的概念 2
1.2.2 PHP的產生與發展 2
1.2.3 PHP 原理 3
1.3 PHP 的運行環境 4
1.3.1 PHP項目開發框架的組成 4
1.3.2 幾種PHP Web 開發環境配置方法的比較 5
1.3.3 如何安裝AppServ 5
1.3.4 php.ini 檔案的配置 8
1.3.5 測試PHP運行環境 9
1.4 常用的PHP程式編輯工具 10
1.4.1 PHP代碼開發工具 10
1.4.2 網頁設計工具 11
1.4.3 文本編輯工具 11
1.5 本章小結 12
1.6 練習題 12
1.7 上機實戰 12
第2章 HTML基礎 13
2.1 HTML 文檔的基本結構 13
2.1.1 HTML 檔案結構 13
2.1.2 標題標記<title></title>及主體標記<body></body> 14
2.2 文本格式標記 14
2.2.1 標題字型標記<hn></hn> 14
2.2.2 字型風格標記<b><i><u><sup><sub><em><strong><big> 15
2.2.3 字型標記<font></font> 15
2.2.4 段落標記<p></p>與換行標記<br> 15
2.2.5 區域標記<div> 16
2.2.6 列表標記<ul></ul><ol></ol><dl></dl> 16
2.2.7 水平線標記<hr/> 18
2.2.8 轉義字元與其他特殊符號 18
2.3 超連結標記<a></a> 18
2.3.1 連結的定義 19
2.3.2 超連結的種類 19
2.4 圖像標記<img> 19
2.4.1 圖像的基本格式20
2.4.2 圖像的對齊方式<img src = "" "" align="" ""/> 21
2.4.3 圖像的大小<img src = "" "" width=""""height=""""/> 21
2.5 表格標記 21
2.5.1 表格定義標記<table></table><tr></tr><th></th><td></td> 22
2.5.2 表格體標記<tbody> 25
2.6 表單標記 25
2.6.1 表單的定義語法 25
2.6.2 在文本框中輸入文字和密碼 26
2.6.3 複選框(CheckBox)和單選按鈕(RadioButton) 26
2.6.4 列表框(Selectable Menu) 27
2.6.5 文本區域(textarea) 28
2.6.6 表單中的按鈕 29
2.6.7 隱藏表單的元素 29
2.7 在HTML 中嵌入PHP 代碼 30
2.8 HTML 5新增表單元素和屬性 31
2.9 案例剖析:製作網上問卷調查表單 32
2.9.1 程式功能介紹 32
2.9.2 程式代碼分析 32
2.10 本章小結 34
2.11 練習題 35
2.12 上機實戰 35
第3章 PHP 的基本語法 36
3.1 PHP 語法綜述 36
3.1.1 PHP程式語言的特點 36
3.1.2 PHP無可比擬的優勢 37
3.2 數據類型 38
3.2.1 布爾數據類型 38
3.2.2 整數數據類型 40
3.2.3 浮點數數據類型 42
3.2.4 字元串數據類型 43
3.2.5 轉義字元串 46
3.2.6 數組數據類型 47
3.2.7 對象數據類型 48
3.2.8 資源數據類型 50
3.2.9 NULL數據類型 50
3.3 PHP 的變數與常數 50
3.3.1 變數的定義與賦值 50
3.3.2 變數的參考指定 51
3.3.3 常數的聲明 52
3.3.4 保留字 53
3.3.5 可變變數(動態變數)53
3.3.6 變數的作用域 55
3.3.7 運算符優先權 56
3.3.8 算術運算符 57
3.3.9 賦值運算符 58
3.3.10 位運算符 59
3.3.11 遞增/遞減運算符 60
3.3.12 邏輯運算符 61
3.3.13 字元串運算符 61
3.3.14 強制類型轉換運算符 62
3.3.15 執行運算符 63
3.3.16 PHP常量與表達式 63
3.4 PHP 程式中的流程控制 64
3.4.1 if…else…語句 65
3.4.2 if…else if…語句 66
3.4.3 while 循環結構 66
3.4.4 do…while循環結構 67
3.4.5 for 循環結構 69
3.4.6 foreach 循環 70
3.4.7 break 與continue 語句 70
3.4.8 switch 語句 71
3.5 案例剖析:九九乘法口訣表的實現 72
3.5.1 程式功能介紹 72
3.5.2 程式代碼分析 73
3.6 本章小結 74
3.7 練習題 74
3.8 上機實戰 74
第4章 PHP 中的函式與內置數組 75
4.1 PHP 內置函式概述 75
4.1.1 PHP標準函式與擴展函式 75
4.1.2 啟用擴展函式館 76
4.2 PHP 內置數組 76
4.2.1 PHP 5內置數組簡介 77
4.2.2 接收表單數據和URL附加數據 77
4.2.3 用Session 和Cookie 實現用戶登錄 79
4.3 PHP 數組函式 83
4.3.1 數組函式總覽 83
4.3.2 array()函式 85
4.3.3 count()函式 86
4.3.4 each()函式 86
4.3.5 current()、reset()、end()、next()、prev()函式 87
4.3.6 添加數組元素的函式 88
4.3.7 獲取數組的最後一個元素 88
4.4 字元串處理函式 89
4.4.1 字元處理函式總覽 89
4.4.2 去除空格函式 90
4.4.3 HTML 處理相關函式 92
4.4.4 改變字元串大小寫 93
4.4.5 字元串拆分與連線 94
4.4.6 字元串查找 96
4.4.7 字元串替換 98
4.4.8 字元串加密 100
4.5 時間日期函式 101
4.5.1 時間日期函式總覽101
4.5.2 date()函式和time()函式 101
4.5.3 strtotime()函式 103
4.5.4 getdate()函式 104
4.6 數學函式 105
4.6.1 數學函式總覽 105
4.6.2 求隨機數的rand()函式 107
4.6.3 最大值函式與最小值函式 107
4.6.4 ceil()、floor()和round()函式 107
4.7 圖像處理函式 108
4.7.1 用圖像處理函式繪製PNG圖形 109
4.7.2 用圖像處理函式製作水印效果 110
4.8 自定義函式 111
4.8.1 函式的命名規則 111
4.8.2 函式的定義與調用 111
4.8.3 函式的參數傳遞 112
4.8.4 函式的嵌套調用與遞歸調用 114
4.8.5 用函式的同名變數實現可變函式 115
4.8.6 變數在函式中的使用 116
4.9 案例剖析:圖像驗證碼的實現 118
4.9.1 程式功能介紹 118
4.9.2 程式代碼分析 118
4.10 本章小結 120
4.11 練習題 120
4.12 上機實戰 121
第5章 與檔案操作 122
5.1 檔案操作 122
5.1.1 檔案的基本操作方法 122
5.1.2 檔案操作的重要函式 125
5.1.3 檔案操作函式的綜合案例 126
5.2 操作 127
5.2.1 獲取磁碟驅動器信息 127
5.2.2 創建和刪除 129
5.2.3 獲取和更改當前 130
5.2.4 讀取內容 131
5.2.5 解析路徑信息 133
5.3 檔案上傳的實現 134
5.3.1 創建檔案域 134
5.3.2 單個檔案的上傳 134
5.3.3 多個檔案的上傳 136
5.4 案例剖析:基於檔案名稱的搜尋 138
5.4.1 程式功能介紹 138
5.4.2 程式代碼分析 138
5.5 本章小結 139
5.6 練習題 140
5.7 上機實戰 140
第6章 MySQL 資料庫的安裝與使用 141
6.1 MySQL資料庫簡介 141
6.1.1 Web 開發與資料庫 141
6.1.2 MySQL資料庫概述 142
6.2 MySQL資料庫的安裝、測試及性能特點 142
6.2.1 下載MySQL安裝包 142
6.2.2 測試MySQL 143
6.2.3 MySQL資料庫性能特點 144
6.3 MySQL資料庫支持的數據類 144
6.3.1 數值類型 145
6.3.2 日期和時間類型 146
6.3.3 字元串類型 146
6.4 結構化查詢語言(SQL)簡介 147
6.4.1 結構化查詢語言簡介 147
6.4.2 常用的SQL語句用法 147
6.5 常用的可視化MySQL 資料庫管理工具 153
6.5.1 phpMyAdmin的安裝與使用 153
6.5.2 Navicat MySQL的安裝與使用 156
6.6 案例剖析:學生成績資料庫規劃與實現 157
6.6.1 程式功能介紹 157
6.6.2 程式代碼分析 158
6.7 本章小結 159
6.8 練習題 159
6.9 上機實戰 159
第7章 PHP 與MySQL 的珠聯璧合 161
7.1 運用PHP 和MySQL聯合開發Web 的優勢 161
7.2 連線MySQL資料庫的前期準備工作 161
7.2.1 修改php.ini檔案中的有關配置選項 161
7.2.2 PHP 操作MySQL資料庫的基本步驟 162
7.3 PHP 操作MySQL 資料庫常用方法 163
7.3.1 連線資料庫 164
7.3.2 選擇資料庫 164
7.3.3 對資料庫進行操作 165
7.3.4 其他常用的MySQL函式 167
7.3.5 從結果集中獲取一行作為對象 171
7.4 案例剖析:網上學生成績查詢系統的實現 173
7.4.1 程式功能介紹 173
7.4.2 程式代碼分析 174
7.5 本章小結 175
7.6 練習題 175
7.7 上機實戰 176
第8章 PHP 中的正則表達式及式樣匹配 177
8.1 正則表達式簡介 177
8.1.1 正則表達式的概念 177
8.1.2 常用的正則表達式及舉例 181
8.2 模式匹配函式 183
8.2.1 匹配字元串 183
8.2.2 替換字元串 185
8.2.3 用正則表達式分割字元串 186
8.2.4 轉義正則表達式字元 187
8.3 案例剖析:新用戶註冊程式 188
8.3.1 程式功能介紹 188
8.3.2 程式代碼分析 188
8.4 本章小結 190
8.5 練習題 190
8.6 上機實戰 190
第9章 PHP 中的對象 191
9.1 類與對象 191
9.1.1 類的概念 191
9.1.2 對象 192
9.1.3 面向對象編程思想的特點 193
9.1.4 面向對象編程的幾條原則 193
9.2 使用類 194
9.2.1 定義類和類的實例化 194
9.2.2 顯示對象的信息 195
9.2.3 類成員和作用域 196
9.2.4 構造函式與析構函式 197
9.2.5 繼承 198
9.3 PHP 的對象特性 199
9.3.1 final類和方法 199
9.3.2 靜態成員 200
9.3.3 複製對象 201
9.3.4 接口類和抽象類 201
9.3.5 方法重載 204
9.4 案例剖析:一個課程管理類及其對象的實現 206
9.4.1 程式功能介紹 206
9.4.2 程式代碼分析 206
9.5 本章小結 208
9.6 練習題 208
9.7 上機實戰 208
第10章 Smarty 模板技術 209
10.1 Smarty 技術簡介 209
10.1.1 MVC軟體開發框架 209
10.1.2 Smarty模板 210
10.2 Smarty 的安裝配置 210
10.2.1 Smarty下載和安裝 211
10.2.2 Smarty配置 211
10.2.3 第一個Smarty 程式 212
10.3 Smarty 模板設計 214
10.3.1 Smarty模板檔案 214
10.3.2 Smarty中的注釋 214
10.3.3 Smarty中的變數 214
10.3.4 修飾變數 218
10.3.5 流程控制 220
10.3.6 內建函式 224
10.4 Smarty 程式設計 225
10.4.1 Smarty中的常用方法 225
10.4.2 Smarty的配置變數 226
10.5 案例剖析:利用Smarty 製作登錄頁面模板 226
10.5.1 程式功能介紹 227
10.5.2 程式代碼分析 227
10.6 本章小結 229
10.7 練習題 229
10.8 上機實戰 229
第11章 Dreamweaver CS6中的PHP程式設計 230
11.1 Dreamweaver CS6 概述 230
11.2 利用Dreamweaver 建立PHP動態網站站點 231
11.2.1 站點的建立 231
11.2.2 在Dreamweaver 中創建MySQL連線 234
11.2.3 資料庫連線的管理與套用 236
11.3 數據集的創建與套用 237
11.3.1 利用Dreamweaver 創建記錄集 237
11.3.2 分頁顯示查詢結果 241
11.3.3 搜尋/結果頁的創建 243
11.3.4 主/詳細記錄頁的創建 245
11.4 記錄的添加、刪除與更新 247
11.4.1 數據記錄的添加 247
11.4.2 刪除數據 251
11.4.3 數據記錄的更新 252
11.5 案例剖析:網上留言簿的實現 254
11.5.1 程式功能介紹 254
11.5.2 程式代碼分析 256
11.6 本章小結 259
11.7 練習題 259
11.8 上機實戰 259
第12章 利用PHP 技術構建跨平台的移動APP 261
12.1 jQuery 與jQuery Mobile簡介 261
12.1.1 jQuery Web 開發框架261
12.1.2 jQuery Mobile 移動套用開發框架 262
12.2 jQuery Mobile 開發環境配置 263
12.2.1 jQuery Mobile 下載和安裝 263
12.2.2 jQuery Mobile 開發環境的配置與測試 264
12.3 jQuery Mobile 框架的構成 268
12.3.1 頁面和對話框 268
12.3.2 連結和按鈕的使用 270
12.3.3 工具列的使用 271
12.3.4 表單元素的使用 273
12.3.5 列表控制項 274
12.3.6 jQuery Mobile 的布局 276
12.4 案例剖析:手機版袖珍英語辭彙速記本APP的設計與開發 277
12.4.1 程式功能介紹 277
12.4.2 程式代碼分析 278
12.5 本章小結 281
12.6 練習題 282
12.7 上機實戰 282
第13章 PHP 程式開發綜合實例——網路留言板 283
13.1 系統概述 283
13.1.1 需求分析 283
13.1.2 流程設計 284
13.2 資料庫設計 284
13.2.1 需求分析及邏輯結構設計 284
13.2.2 資料庫及數據表的建立 285
13.3 系統公用模組設計及代碼編寫 287
13.3.1 用戶類公用模組代碼的設計與實現 287
13.3.2 留言內容類(Content)公用模組代碼的設計與實現 288
13.3.3 IP 地址類公用模組代碼的設計與實現 290
13.3.4 用戶驗證公用模組代碼的設計與實現 291
13.3.5 保存用戶留言公用模組代碼的設計與實現 292
13.3.6 刪除用戶留言公用模組代碼的設計與實現 293
13.4 各功能頁面的設計及代碼編寫 293
13.4.1 網站首頁的設計與實現 293
13.4.2 用戶註冊頁面的設計與實現 298
13.4.3 添加新留言頁面的設計與實現 300
13.4.4 問卷調查內容設定功能頁面的設計與實現301
13.4.5 網路投票頁面的設計與實現 305
13.4.6 網路投票結果查詢頁面的設計與實現 308
13.5 本章小結 309
13.6 練習題 310
13.7 上機實戰 310
第14章 實驗指導 311
14.1 實驗一:利用Smarty 模板技術進行網站建設 311
14.1.1 實驗項目設計目的 311
14.1.2 需求分析及功能描述 311
14.1.3 資料庫設計 312
14.1.4 代碼設計 313
14.2 實驗二:成績管理系統的設計與實現 318
14.2.1 實驗項目設計目的 318
14.2.2 需求分析及功能描述 318
14.2.3 資料庫設計 319
14.2.4 代碼設計 320
14.3 實驗三:用戶管理系統的設計與實現 331
14.3.1 實驗項目設計目的 331
14.3.2 需求分析及功能描述 331
14.3.3 資料庫設計 332
14.3.4 代碼設計 332
14.4 實驗項目設計總結與提高 338
參考文獻 339