本書從Adobe Dreamweaver CS6可視化設計與手工編碼的結合上詳細地介紹了基于PHP語言和MySQL數據庫的動態(tài)網站開發(fā)技術。本書采用項目引領、任務驅動的教學方法,共分10個項目,包括:配置PHP開發(fā)環(huán)境、PHP語言快速入門、PHP面向對象編程、PHP數據處理、PHP與Web交互、PHP文件處理、PHP圖像處理、MySQL數據庫管理、PHP數據庫編程、新聞發(fā)布系統設計。
隨著計算機網絡技術的迅猛發(fā)展和日益普及,計算機程序設計的重點已經從傳統的桌面程序設計轉移到Web應用程序設計,各種動態(tài)網站開發(fā)正在受到越來越多的關注。在各種動態(tài)網站開發(fā)技術中,Apache+MySQL+PHP組合以其開源性和跨平臺性而著稱,被譽為黃金組合并得到廣泛應用。本書從Dreamweaver CS6可視化設計與手工編碼的結合上詳細地講述了基于Apache服務器、PHP語言及MySQL數據庫的動態(tài)網站開發(fā)技術。
傳統的PHP動態(tài)網站開發(fā)通常都是采用手寫代碼方式來進行的,這種編程模式不僅效率低,而且代碼不規(guī)范,難以調試,無法滿足企業(yè)應用的實際需要。Adobe Dreamweaver CS6對PHP技術提供了很好的支持,使用它不僅可以方便快捷地進行Web頁面設計,而且很容易創(chuàng)建數據庫連接,并在同一站點的所有PHP頁中使用;通過HTML 5新功能和各種Spry表單驗證控件可以對提交的表單數據進行有效性檢查,或者通過可視化操作可以快速生成記錄集并分頁顯示數據庫記錄,添加記錄集導航條和記錄集計數器;通過各種功能強大的服務器行為可以快速生成具有查詢記錄、添加記錄、更新記錄和刪除記錄的PHP數據訪問頁,也可以快速生成具有用戶注冊、登錄及限制訪問等功能的PHP動態(tài)網頁。本書從可視化編輯與手工編碼的結合上講述使用Adobe Dreamweaver CS6開發(fā)基于PHP技術和MySQL數據庫的動態(tài)網站,既可以通過各種可視化設計工具提高開發(fā)效率,也可以通過手工編碼靈活控制程序的執(zhí)行流程。
本書根據教育部頒布的《中等職業(yè)學校專業(yè)教學標準(試行)信息技術類(第一輯)》中的相關教學內容和要求編寫。本書結合現代職業(yè)教育的特點和社會用人需求,采用項目引領和任務驅動的教學方法,通過大量的實戰(zhàn)演練詳細地講述了PHP動態(tài)網站開發(fā)技術及其應用。在編寫過程中,堅持以就業(yè)為導向、以能力為本位的原則,力求突出教材的實用性、適用性和先進性。
本書共10個項目,詳細地講述了使用PHP技術開發(fā)動態(tài)網站的基本知識和設計技巧。項目1介紹用于PHP開發(fā)的各個組件并通過phpStudy套件部署PHP開發(fā)環(huán)境;項目2講述PHP語言的基礎性內容,包括PHP基本知識、數據類型、變量與常量、運算符與表達式、流程控制語句及函數;項目3介紹PHP面向對象編程方面的內容;項目4講述PHP數據處理,包括字符串、日期/時間及數組處理;項目5討論如何構建PHP交互網頁,內容包括獲取表單變量、表單驗證、獲取URL參數、頁面跳轉、會話管理及Cookie應用;項目6討論了如何通過PHP代碼進行文件操作、目錄操作和文件上傳;項目7講述PHP圖像處理方面的內容,包括配置GD庫、圖像基本操作、繪制基本圖形及在圖像中寫入文本;項目8介紹MySQL數據庫管理方面的內容,包括MySQL應用基礎、創(chuàng)建和維護數據庫、創(chuàng)建和維護表、數據查詢與操作、其他數據庫對象及安全性管理;項目9介紹如何通過PHP訪問MySQL數據庫,首先介紹如何創(chuàng)建數據庫連接,然后介紹如何通過編程方式或Dreamweaver服務器行為實現PHP數據訪問功能,包括查詢記錄、添加記錄、更新記錄和刪除記錄;作為前面各個項目技能的綜合應用,項目10給出一個新聞發(fā)布系統項目的完整開發(fā)過程,首先介紹系統功能分析、數據庫設計與創(chuàng)建和PHP動態(tài)站點的構建,然后講解網站導航條的制作和各個系統功能模塊的實現。
本書中的所有源代碼均在Apache 2.4.23 Web服務器上測試通過,所用操作系統平臺為Windows 7旗艦版Service Pack 1,Web編程語言為PHP 5.4.45,PHP動態(tài)網站開發(fā)工具為Dreamweaver CS6,后臺數據庫服務器為MySQL 5.5.53,MySQL管理工具為MySQL Front5.3等。
本書中用到的一些人名、電話號碼和電子郵件地址均屬虛構,如有雷同,實屬巧合。
本書由趙增敏主編。參加本書編寫、資料收集、代碼測試和文字錄入排版的還有朱粹丹、趙朱曦、余霞、盧捷、郭宏、吳潔、彭輝、王慶建、連靜、李嫻、王靜、劉穎、趙玉霞等。
由于作者水平所限,書中疏漏和錯誤之處在所難免,歡迎廣大讀者提出寶貴意見。
為了方便教師教學,本書還配有教學指南、電子教案和習題答案(電子版)。請有此需要的教師登錄華信教育網(www.huaxin.edu.cn或www.hxedu.com.cn)免費注冊后進行下載,有問題時請在網站留言板留言或與電子工業(yè)出版社聯系(E-mail:hxedu@phei.com.cn)。
本教材主編趙增敏為河南信息工程學校教授,河南省中等職業(yè)教育學科帶頭人,河南省教育廳學術帶頭人,長期從事數據庫應用開發(fā)、Visual Basic/Visual C#可視化編程、HTML網頁設計、移動網頁設計、JavaScript/jQuery動態(tài)網頁編程、ASP/PHP/JSP/ASP.NET動態(tài)網站開發(fā)、Web應用開發(fā)等方面的教學與研究,有豐富的計算機教學經驗和教材開發(fā)編寫經驗,迄今為止撰寫了數十種計算機專著及教材,其中有多本國家規(guī)劃教材,還有版權輸出到臺灣出版繁體中文版,被電子工業(yè)出版社授予優(yōu)秀作者稱號。
項目1 配置PHP開發(fā)環(huán)境1
任務1.1 安裝phpStudy1
1.1.1 PHP開發(fā)環(huán)境的組成2
1.1.2 phpStudy的安裝5
任務1.2 配置phpStudy7
1.2.1 設置phpStudy運行模式7
1.2.2 切換PHP版本8
1.2.3 站點域名管理9
1.2.4 創(chuàng)建虛擬目錄9
1.2.5 配置MySQL服務器10
任務1.3 創(chuàng)建PHP MySQL站點13
1.3.1 設置PHP MySQL站點13
1.3.2 創(chuàng)建PHP動態(tài)網頁15
項目思考17
項目實訓18
項目2 PHP語言快速入門19
任務2.1 了解PHP基本知識19
2.1.1 PHP動態(tài)網頁的組成20
2.1.2 創(chuàng)建PHP代碼塊20
2.1.3 編寫PHP注釋22
2.1.4 PHP與HTML混合編寫22
2.1.5 PHP與JavaScript協同工作23
任務2.2 使用PHP數據類型24
2.2.1 使用整型數25
2.2.2 使用浮點數25
2.2.3 使用字符串25
2.2.4 使用布爾型27
2.2.5 使用特殊類型27
2.2.6 數據類型轉換28
任務2.3 使用變量與常量30
2.3.1 定義變量30
2.3.2 檢查變量是否被設置31
2.3.3 可變變量與變量引用33
2.3.4 使用常量34
任務2.4 使用運算符與表達式36
2.4.1 使用算術運算符36
2.4.2 使用賦值運算符37
2.4.3 使用遞增/遞減運算符38
2.4.4 使用字符串運算符39
2.4.5 使用位運算符39
2.4.6 使用比較運算符40
2.4.7 使用條件運算符40
2.4.8 使用邏輯運算符42
2.4.9 使用表達式43
2.4.10 運算符優(yōu)先級43
任務2.5 使用流程控制語句44
2.5.1 使用選擇語句44
2.5.2 使用循環(huán)語句47
2.5.3 使用跳轉語句50
2.5.4 包含文件語句51
任務2.6 使用函數54
2.6.1 了解PHP內部函數54
2.6.2 使用自定義函數56
2.6.3 傳遞函數的參數58
2.6.4 設置函數的返回值60
2.6.5 使用變量作用域61
2.6.6 使用可變函數62
2.6.7 使用匿名函數63
項目思考64
項目實訓65
項目3 PHP面向對象編程66
任務3.1 使用類和對象66
3.1.1 創(chuàng)建類和對象67
3.1.2 為類添加成員68
3.1.3 為類添加構造方法和析構方法70
3.1.4 為類添加靜態(tài)成員71
3.1.5 自動加載對象73
3.1.6 迭代對象74
3.1.7 克隆對象75
3.1.8 比較對象76
任務3.2 實現繼承與多態(tài)78
3.2.1 實現類的繼承78
3.2.2 使用抽象類80
3.2.3 使用final關鍵字82
3.2.4 使用接口82
項目思考84
項目實訓85
項目4 PHP數據處理86
任務4.1 字符串處理86
4.1.1 字符串的格式化輸出87
4.1.2 了解常用字符串函數89
4.1.3 HTML文本格式化91
4.1.4 連接和分割字符串93
4.1.5 查找和替換字符串95
4.1.6 從字符串中取子串97
任務4.2 日期/時間處理99
4.2.1 設置默認時區(qū)99
4.2.2 獲取日期和時間100
4.2.3 格式化日期/時間102
任務4.3 數組處理103
4.3.1 創(chuàng)建數組104
4.3.2 遍歷數組106
4.3.3 使用預定義數組107
4.3.4 使用數組函數110
項目思考112
項目實訓113
項目5 構建PHP交互網頁114
任務5.1 獲取表單變量114
5.1.1 創(chuàng)建HTML表單115
5.1.2 添加表單控件116
5.1.3 讀取表單變量118
任務5.2 驗證表單數據121
5.2.1 基于JavaScript實現表單驗證121
5.2.2 基于Spry框架實現表單驗證124
5.2.3 基于HTML 5實現表單驗證129
任務5.3 獲取URL參數132
5.3.1 生成URL參數133
5.3.2 讀取URL參數133
5.3.3 實現頁面重定向135
任務5.4 會話管理137
5.4.1 了解會話137
5.4.2 創(chuàng)建會話變量138
5.4.3 銷毀會話變量139
任務5.5 使用Cookie143
5.5.1 了解Cookie143
5.5.2 設置Cookie144
5.5.3 讀取Cookie145
項目思考149
項目實訓150
項目6 PHP文件處理152
任務6.1 文件操作152
6.1.1 打開和關閉文件153
6.1.2 向文件中寫入內容154
6.1.3 從文件中讀取內容156
6.1.4 在文件中定位159
6.1.5 檢查文件屬性161
6.1.6 其他文件操作163
任務6.2 目錄操作165
6.2.1 創(chuàng)建目錄165
6.2.2 讀取目錄166
6.2.3 刪除目錄168
6.2.4 解析路徑信息170
6.2.5 檢查磁盤空間172
任務6.3 上傳文件173
6.3.1 創(chuàng)建文件上傳表單173
6.3.2 上傳單個文件174
6.3.3 上傳多個文件177
項目思考180
項目實訓181
項目7 PHP圖像處理182
任務7.1 配置GD庫182
7.1.1 加載GD庫183
7.1.2 檢測GD庫信息183
任務7.2 圖像基本操作185
7.2.1 創(chuàng)建圖像186
7.2.2 輸出圖像188
7.2.3 分配顏色189
任務7.3 繪制圖形191
7.3.1 繪制像素191
7.3.2 繪制輪廓圖形192
7.3.3 繪制填充圖形195
任務7.4 繪制文本197
7.4.1 繪制單個字符198
7.4.2 繪制字符串201
7.4.3 繪制中文文本202
項目思考205
項目實訓206
項目8 MySQL數據庫管理207
任務8.1 使用MySQL管理工具207
8.1.1 使用MySQL命令工具208
8.1.2 使用phpMyAdmin210
8.1.3 使用MySQL-Front211
任務8.2 創(chuàng)建和管理數據庫212
8.2.1 創(chuàng)建數據庫212
8.2.2 顯示數據庫列表213
8.2.3 刪除數據庫213
任務8.3 創(chuàng)建和維護表214
8.3.1 了解數據類型215
8.3.2 創(chuàng)建表216
8.3.3 查看表信息219
8.3.4 修改表220
8.3.5 重命名表221
8.3.6 刪除表221
任務8.4 數據操作與查詢221
8.4.1 插入記錄222
8.4.2 查詢記錄225
8.4.3 更改記錄228
8.4.4 刪除記錄229
任務8.5 使用其他數據庫對象231
8.5.1 使用索引231
8.5.2 使用視圖232
8.5.3 使用存儲過程234
8.5.4 使用存儲函數237
8.5.5 使用觸發(fā)器239
任務8.6 安全性管理241
8.6.1 管理用戶241
8.6.2 管理權限243
項目思考246
項目實訓247
項目9 通過PHP訪問MySQL248
任務9.1 創(chuàng)建MySQL數據庫連接248
9.1.1 以編程方式創(chuàng)建MySQL連接249
9.1.2 在DW中創(chuàng)建MySQL連接251
9.1.3 數據庫連接的應用與管理253
任務9.2 查詢記錄253
9.2.1 以編程方式創(chuàng)建記錄集254
9.2.2 在DW中創(chuàng)建記錄集257
9.2.3 分頁顯示記錄集263
9.2.4 創(chuàng)建搜索/結果頁267
9.2.5 創(chuàng)建主/詳細頁271
任務9.3 添加記錄276
9.3.1 以編程方式實現添加記錄276
9.3.2 快速生成記錄添加頁278
任務9.4 更新記錄282
9.4.1 以編程方式實現記錄更新282
9.4.2 快速生成記錄更新頁286
任務9.5 刪除記錄290
9.5.1 以編程方式實現記錄刪除290
9.5.2 快速生成記錄刪除頁292
項目思考294
項目實訓295
項目10 開發(fā)新聞發(fā)布系統296
任務10.1 系統功能設計296
10.1.1 系統功能分析296
10.1.2 數據庫設計與實現297
10.1.3 系統功能模塊劃分298
任務10.2 實現用戶管理299
10.2.1 系統登錄299
10.2.2 創(chuàng)建用戶302
10.2.3 管理用戶304
10.2.4 修改用戶306
10.2.5 刪除用戶307
任務10.3 實現新聞類別管理308
10.3.1 添加新聞類別308
10.3.2 管理新聞類別309
10.3.3 修改新聞類別311
10.3.4 刪除新聞類別312
任務10.4 實現新聞管理312
10.4.1 發(fā)布新聞313
10.4.2 管理新聞315
10.4.3 編輯新聞316
10.4.4 刪除新聞319
任務10.5 實現新聞瀏覽320
10.5.1 系統首頁320
10.5.2 瀏覽新聞323
10.5.3 分類瀏覽新聞324
10.5.4 搜索新聞326
項目思考327
項目實訓328