本書系統全面地介紹了有關PHP程序開發的各類知識。全書共分15章,內容包括PHP入門與環境搭建、PHP開發基礎、運算符和表達式、流程控制語句、PHP數組、PHP與Web頁面交互、函數、字符串操作、MySQL數據庫、PHP操作MySQL數據庫、PHP會話控制、面向對象基礎、Ajax技術、綜合案例——電子商務平臺網、課程設計——留言本。全書每章內容都與實例緊密結合,有助于讀者理解知識、應用知識,達到學以致用的目的。
本書為慕課版教材,各章節主要內容配備了以二維碼為載體的微課,并在人郵學院平臺上提供了慕課。此外,本書還提供了課程資源包。資源包中提供了本書所有實例、上機指導、綜合案例和課程設計的源代碼,制作精良的電子課件PPT,自測試卷等內容。資源包也可在人郵學院上下載。其中,源代碼全部經過精心測試,能夠在Windows 7、Windows 8、Windows 10系統下編譯和運行。
30小時慕課教學視頻同步講解,讓學習更高效快捷
80個精彩課堂案例,12個課堂實驗,1個綜合案例,Java學習從入門到精通
66道習題,300道自測題,5套自測試卷,鞏固所學知識
提供免費教學資源,包括精品教學PPT、案例源代碼、自測題庫、拓展綜合案例
明日科技,程序設計類暢銷書作者,其主要作品“視頻大講堂”系列,每個品種都在其同品種的圖書中銷售名列前茅。累計銷售數十萬冊。其中《PHP從入門到精通》長期占據PHP零售圖書排行榜前三位,年銷量上萬冊。
第1章 PHP入門與環境搭建 1
1.1 PHP概述 2
1.1.1 PHP是什么 2
1.1.2 PHP語言的優勢 2
1.1.3 PHP的版本 3
1.1.4 HTML嵌入式的腳本語言 3
1.2 PHP程序的工作流程 4
1.2.1 PHP的工作流程 4
1.2.2 PHP服務器 5
1.3 PHP開發環境構建 5
1.3.1 PHP開發環境的安裝 6
1.3.2 PHP服務器的啟動與停止 8
1.3.3 PHP開發環境的關鍵配置 9
1.4 常用代碼編輯工具 12
1.5 第一個PHP程序 13
實例:用Dreamweaver開發一個簡單的PHP程序,輸出一段歡迎信息
小結 15
上機指導 15
習題 15
第2章 PHP開發基礎 16
2.1 PHP基本語法 17
2.1.1 PHP標記符 17
2.1.2 PHP注釋 18
2.1.3 PHP語句和語句塊 18
2.2 PHP的數據類型 19
2.2.1 標量數據類型 19
實例:布爾值的應用
實例:應用單引號和雙引號來輸出同一個變量
實例:應用定界符定義字符串并輸出
實例:分別輸出定義的十進制、八進制和十六進制變量
實例:輸出圓周率的近似值
2.2.2 復合數據類型 23
實例:創建數組并輸出數組中的值
2.2.3 特殊數據類型 24
2.2.4 檢測數據類型 25
實例:檢測相應的數據類型
2.3 PHP數據的輸出 25
2.3.1 print和echo 25
2.3.2 輸出運算符“” 26
2.4 PHP編碼規范 26
2.4.1 什么是編碼規范 26
2.4.2 PHP書寫規則 26
2.4.3 PHP命名規則 27
小結 28
上機指導 28
習題 28
第3章 運算符和表達式 29
3.1 常量 30
3.1.1 自定義常量 30
實例:通過函數對常量進行定義、獲取和判斷
3.1.2 預定義常量 32
實例:使用預定義常量輸出PHP信息
3.2 變量 33
3.2.1 變量的概念 33
3.2.2 定義和使用變量 33
實例:定義整型變量、布爾型變量和空字符串
3.2.3 變量的賦值方式 34
實例:使用傳值賦值方式為變量賦值
實例:使用引用賦值方式為變量賦值
3.2.4 可變變量 35
實例:應用可變變量實現動態改變變量的名稱
3.2.5 PHP預定義變量 36
3.3 PHP運算符 37
3.3.1 算術運算符 37
實例:算術運算符的簡單應用
3.3.2 字符串運算符 38
實例:“.”和“+”之間的區別
3.3.3 賦值運算符 38
實例:應用賦值運算符為指定變量賦值
3.3.4 位運算符 39
實例:對變量的值進行位運算
3.3.5 遞增或遞減運算符 40
實例:應用遞增和遞減運算符對變量進行操作
3.3.6 邏輯運算符 41
實例:對布爾值進行邏輯運算
3.3.7 比較運算符 42
實例:通過不同的比較運算符將變量$value與數字100進行比較,再應用var_dump函數輸出比較結果
3.3.8 條件運算符 43
實例:應用條件運算符實現簡單的判斷功能
3.3.9 運算符優先級 44
3.4 表達式 44
3.5 數據類型的轉換 45
3.5.1 自動轉換 45
實例:對不同類型的數據進行不同的運算
3.5.2 強制轉換 46
實例:將一個字符串型變量分別轉換成其他數據類型
實例:將一個字符串型變量使用以val結尾的函數進行轉換
實例:使用settype()函數對變量進行不同類型的轉換
小結 49
上機指導 49
習題 49
第4章 流程控制語句 50
4.1 條件判斷語句 51
4.1.1 if語句 51
實例:判斷變量的值是否為真
4.1.2 if...else語句 52
實例:根據不同的結果顯示不同的字符串
實例:判斷學生的考試情況
4.1.3 switch語句 54
實例:根據不同的星期輸出不同的貼心提醒警句
4.2 循環控制語句 56
4.2.1 while循環語句 56
實例:輸出10以內的偶數
4.2.2 do...while循環語句 57
實例:比較while語句和do...while語句的不同點
4.2.3 for循環語句 58
實例:計算2~100之間所有偶數之和
4.2.4 foreach循環 60
實例:輸出購物車中的商品信息
4.2.5 循環結構的應用 61
實例:制作乘法口訣表
4.3 跳轉語句和終止語句 62
4.3.1 continue語句 62
實例:計算1到100之間所有奇數的和
4.3.2 break語句 63
實例:應用for循環控制語句聲明變量$i,循環輸出表情頭像
4.3.3 exit語句 64
小結 64
上機指導 65
習題 65
第5章 PHP數組 66
5.1 數組概述 67
5.1.1 數組是什么 67
5.1.2 數組的類型 67
5.2 創建一維數組 68
5.2.1 通過數組標識符“[]”
創建數組 68
實例:通過數組標識符“[]”聲明數組
5.2.2 使用array()函數創建數組 68
實例:應用array()函數聲明數組
5.3 創建二維數組 69
5.3.1 通過數組標識符“[]”創建
二維數組 69
實例:通過數組標識符“[]”創建一個二維數組,并輸出數組的結構
5.3.2 使用array()函數創建二維數組 70
實例:應用array()函數聲明二維數組
5.4 遍歷與輸出數組 71
5.4.1 遍歷數組 71
實例:通過foreach語句遍歷二維數組中的數據
實例:通過數組函數list()和each()遍歷數組
5.4.2 輸出數組 72
實例:通過print_r()函數輸出數組結構
實例:通過var_dump()函數輸出數組的結構
5.5 數組函數及其應用 73
5.5.1 創建數組的函數 73
實例:應用range()函數建立數組
實例:應用array_combine()函數來合并兩個數組
實例:應用array_fill()函數來建立一個數組
實例:應用array_pad()函數填補數組
實例:應用explode()函數對指定的字符串以@為分隔符進行拆分,并輸出返回的數組
5.5.2 數組統計函數 76
實例:應用count()函數統計數組中元素個數
實例:應用max()函數獲取數組中元素的最大值
實例:應用min()函數獲取數組中元素的最小值
實例:應用array_sum()函數計算數組的和
實例:應用array_count_values()函數來統計數組的值
5.5.3 數組指針函數 77
實例:應用key()函數和current()函數獲取數組中當前元素的鍵名和值
實例:應用next()函數向前移動數組指針并輸出單元值
實例:應用end()函數將數組指針移動到最后
實例:應用prev()函數向后移動數組指針并輸出單元值
實例:應用reset()函數將數組的當前指針返回到數組的第一個單元
5.5.4 數組和變量之間的轉換 80
實例:應用extract()函數將數組元素轉換為變量并輸出
實例:應用compact()函數將定義的變量生成一個數組
5.5.5 數組檢索函數 81
實例:應用array_keys()函數來檢查數組中的鍵名
實例:應用array_values()函數返回指定數組的所有值
實例:應用in_array()函數在數組中搜索給定的值
實例:應用array_search()函數搜尋數字60是否在數組中
實例:應用array_key_exists()函數來查找字符串索引“php”是否在數組中
實例:應用array_unique()函數刪除數組中重復的元素
5.5.6 數組排序函數 84
實例:應用sort()函數為數組進行排序
實例:應用asort()函數對輸入的數組進行排序
實例:應用rsort()和arsort()函數對輸入的數組進行降序排序
實例:應用ksort()和krsort()函數對輸入的數組進行排序
實例:應用natsort()和natcasesort()函數對輸入的數組進行排序
實例:應用shuffle()函數對輸入的數組進行隨機排序
實例:應用array_reverse()函數將數組元素的順序反轉
5.5.7 數組與數據結構 87
實例:應用array_push()函數向數組中添加元素
實例:應用array_pop()函數彈出數組最后一個元素
實例:應用array_shift()函數彈出數組的第一個元素
實例:應用array_unshift()函數向數組中添加元素,并輸出添加元素后的數組
5.5.8 數組集合函數 88
實例:應用array_merge()函數將兩個數組合并為一個數組
實例:應用array_diff()函數計算兩個數組的差集
實例:應用array_diff_assoc()函數來檢查兩個數組的差集
實例:應用array_diff_key()函數來獲取兩個數組的差集
實例:應用array_intersect()函數來獲取兩個數組的交集
實例:應用array_intersect_assoc()函數來獲取兩個數組的交集
實例:應用array_intersect_key()函數來獲取兩個數組的交集
小結 91
上機指導 91
習題 92
第6章 PHP與Web頁面交互 93
6.1 表單數據的提交方式 94
6.1.1 GET方法提交表單數據 94
實例:創建表單,指定method屬性值為“GET”
6.1.2 POST方法提交表單數據 95
實例:應用POST方法提交表單信息到服務器
6.1.3 使用POST方法與GET方法
的區別 95
6.2 應用PHP全局變量獲取表單數據 96
6.2.1 $_POST[]全局變量 96
實例:通過$_POST[]獲取用戶輸入的信息
6.2.2 $_GET[]全局變量 97
6.3 使用表單 97
6.3.1 創建表單 98
6.3.2 表單元素 98
6.3.3 使用數組提交表單數據 102
6.3.4 表單綜合應用 103
實例:應用$_POST[ ]全局變量獲取用戶輸入的個人信息
6.4 實現文件的上傳 106
6.4.1 上傳文件相關配置 106
6.4.2 全局變量$_FILES 106
實例:實現一個上傳文件域,通過$_FILES變量輸出上傳文件的資料
6.4.3 實現PHP文件的上傳 108
實例:創建上傳表單,允許上傳圖片文件
6.5 服務器端獲取數據的其他方法 109
6.5.1 $_REQUEST[ ]全局變量 109
6.5.2 $_SERVER[ ]全局變量 109
實例:應用$_SERVER[ ]全局變量獲取腳本所在地的IP地址及服務器和客戶端的相關信息
小結 111
上機指導 111
習題 113
第7章 函數 114
7.1 函數簡介 115
7.1.1 什么是函數 115
7.1.2 函數的分類 115
7.2 自定義函數 115
7.2.1 自定義函數的定義 115
7.2.2 自定義函數的調用 116
實例:定義一個函數并調用
7.2.3 自定義函數的參數 116
實例:為定義的函數傳遞參數,按值傳遞方式
實例:為定義的函數傳遞參數,按引用傳遞方式
實例:應用可選參數實現一個簡單的價格計算功能
7.2.4 自定義函數的返回值 118
實例:應用return()函數返回一個操作數
7.2.5 變量的作用域 119
實例:在自定義函數中應用全局變量與局部變量進行對比
實例:靜態變量和普通變量的比較
7.2.6 變量函數 120
實例:定義并使用變量函數
7.3 PHP文件的引用 121
7.3.1 include語句 122
實例:應用include語句引用文件
7.3.2 require語句 122
實例:應用require語句引用文件
7.3.3 include語句和require語句
的比較 123
7.3.4 include_once語句和
require_once語句 123
實例:應用include_once語句引用并運行指定的外部文件top.php
7.3.5 應用include語句構建電子
商務平臺網首頁 124
實例:應用include語句引用外部文件來構建電子商務平臺網首頁
小結 126
上機指導 126
習題 127
第8章 字符串操作 128
8.1 字符串的定義方法 129
8.1.1 使用單引號或雙引號定義
字符串 129
8.1.2 使用定界符定義字符串 129
實例:使用定界符定義字符串并輸出
8.2 字符串處理函數 130
8.2.1 轉義、還原字符串 130
實例:使用轉義字符“\”對字符串進行轉義
實例:用自動轉義字符addslashes()函數對字符串進行轉義,然后應用stripslashes()函數進行還原
實例:應用addcslashes()函數對字符串“編程體驗網”進行轉義,應用stripcslashes()函數對轉義的字符串進行還原
8.2.2 獲取字符串長度 133
實例:應用strlen()函數獲取字符串長度
實例:應用strlen()函數對提交的用戶密碼的長度進行檢測
8.2.3 截取字符串 134
實例:應用substr()函數截取超長字符串
實例:應用mb_substr()函數對字符串“PHP自學視頻教程”截取5個字節
8.2.4 比較字符串 136
實例:應用strcmp()和strcasecmp()函數對兩個字符串按字節進行比較
實例:應用strnatcmp()函數按自然排序法進行字符串的比較
實例:應用strncmp()函數比較字符串的前6個字符是否與源字符串相等
8.2.5 檢索字符串 138
實例:應用strstr()函數檢索字符串
實例:使用substr_count()函數獲取子串在字符串中出現的次數
8.2.6 替換字符串 139
實例:應用str_ireplace()函數將字符串中的子串替換為指定字符串
實例:使用str_ireplace()函數替換查詢關鍵字
實例:使用substr_replace()函數將指定字符串中的子串替換為指定字符串
8.2.7 去掉字符串首尾空格和特
殊字符 141
實例:使用ltrim()函數去除字符串左邊的空白字符及特殊字符
實例:使用rtrim()函數去除字符串右邊的空白字符及特殊字符
實例:使用trim()函數去除字符串左右兩邊的空白字符及特殊字符
8.2.8 格式化字符串 143
實例:應用number_format()函數對指定的數字字符串進行格式化處理
8.2.9 分割、合成字符串 144
實例:應用explode()函數對字符串以指定分隔符進行拆分
實例:應用implode()函數將數組中的內容以*為分隔符進行連接
8.2.10 字符串與HTML轉換 145
實例:使用htmlentities()函數將字符串轉換成HTML格式
8.2.11 其他常用字符串函數 147
實例:將字符串前后顛倒順序后顯示
實例:應用str_repeat()函數重復輸出字符串
小結 148
上機指導 148
習題 149
第9章 MySQL數據庫 150
9.1 MySQL簡介 151
9.1.1 什么是MySQL 151
9.1.2 MySQL特點 151
9.1.3 MySQL 5支持的特性 152
9.2 啟動和關閉MySQL服務器 152
9.2.1 啟動MySQL服務器 152
9.2.2 連接和斷開MySQL服務器 152
9.3 操作MySQL數據庫 153
9.3.1 創建數據庫 153
9.3.2 選擇數據庫 154
9.3.3 查看數據庫 154
9.3.4 刪除數據庫 154
9.4 MySQL數據類型 154
9.4.1 數字類型 155
9.4.2 字符串類型 155
9.4.3 日期和時間類型 157
9.5 操作數據表 157
9.5.1 創建數據表 157
9.5.2 查看表結構 158
9.5.3 修改表結構 159
9.5.4 重命名數據表 160
9.5.5 刪除數據表 160
9.6 數據表記錄的更新操作 161
9.6.1 數據表記錄的添加 161
9.6.2 數據表記錄的修改 161
9.6.3 數據表記錄的刪除 161
9.7 數據表記錄的查詢操作 162
9.8 MySQL中的特殊字符 165
9.9 MySQL數據庫的備份與還原 165
9.9.1 使用mysqldump命令備份數
據庫 165
9.9.2 使用mysql命令還原數據庫 166
小結 167
上機指導 167
習題 168
第10章 PHP操作MySQL數據庫 169
10.1 PHP操作MySQL數據庫的方法 170
10.1.1 連接MySQL服務器 170
實例:應用mysqli_connect()函數創建與MySQL服務器的連接
10.1.2 選擇MySQL數據庫 171
實例:使用mysqli_select_db()函數選擇指定名稱的數據庫
10.1.3 執行SQL語句 172
10.1.4 將結果集返回數組中 173
實例:利用mysqli_fetch_array()函數讀取數據表中的數據
10.1.5 從結果集中獲取一行作為
對象 174
實例:應用mysqli_fetch_object()函數逐行獲取結果集中的記錄
10.1.6 從結果集中獲取一行作為
枚舉數組 175
實例:應用mysqli_fetch_row()函數逐行獲取結果集中的記錄
10.1.7 從結果集中獲取一行作為
關聯數組 176
實例:應用mysqli_fetch_assoc()函數逐行獲取結果集中的記錄
10.1.8 獲取查詢結果集中的記
錄數 177
實例:應用mysqli_fetch_row()函數逐行獲取結果集中的記錄,同時應用mysqli_ num_rows()函數獲取結果集中行的數目
10.1.9 釋放內存 177
10.1.10 關閉連接 178
10.1.11 連接與關閉MySQL服務
器的最佳時機 178
10.2 管理MySQL數據庫中的數據 179
10.2.1 添加數據 179
實例:向圖書信息表中添加一條記錄
10.2.2 編輯數據 181
實例:實現對數據的更新操作
10.2.3 刪除數據 182
實例:刪除數據表中的指定記錄
10.2.4 批量數據操作 184
實例:批量刪除數據
10.2.5 在電子商務平臺網后臺中
查看訂單和刪除訂單 185
實例:查看多個用戶的訂單信息,刪除多個訂單
小結 187
上機指導 188
習題 190
第11章 PHP會話控制 191
11.1 Session的操作 192
11.1.1 了解Session 192
11.1.2 啟動Session 192
11.1.3 注冊Session 192
實例:創建Session變量并賦予空值
11.1.4 使用Session 193
實例:應用全局數組將數據保存到Session中,并輸出數據
11.1.5 刪除Session 194
11.1.6 Session綜合應用 194
實例:通過Session控制用戶對頁面的訪問權限
11.1.7 電子商務平臺網用戶管理
和權限控制 196
11.2 Cookie的操作 198
11.2.1 瀏覽器中的Cookie設置 198
11.2.2 了解Cookie 199
11.2.3 創建Cookie 200
實例:通過setcookie()函數創建Cookie
11.2.4 讀取Cookie 201
實例:通過全局數組$_COOKIE[]讀取Cookie的值
實例:應用isset()函數檢測Cookie變量
11.2.5 刪除Cookie 202
11.2.6 創建Cookie數組 202
實例:Cookie數組,并讀取數組的值
11.3 Session與Cookie的比較 203
小結 203
上機指導 204
習題 206
第12章 面向對象基礎 207
12.1 面向對象的基本概念 208
12.1.1 類 208
12.1.2 對象 208
12.1.3 面向對象的特點 209
12.2 類的聲明 209
12.2.1 定義類 209
12.2.2 成員屬性 210
12.2.3 成員常量 210
12.2.4 成員方法 211
12.3 類的實例化 211
12.3.1 對象的創建 211
12.3.2 訪問類中的成員 212
實例:定義Student類并對其實例化
12.3.3 “$this”操作符 213
實例:調用類中的常量和方法
12.3.4 構造方法和析構方法 213
實例:在數據庫連接類Mysql中通過__construct()聲明構造方法
12.4 面向對象的封裝 215
12.4.1 公共成員關鍵字public 215
12.4.2 私有成員關鍵字private 215
實例:private關鍵字的使用
12.4.3 保護成員關鍵字protected 216
實例:protected關鍵字的使用
12.5 面向對象的繼承 217
12.5.1 繼承關鍵字extends 217
實例:類的繼承操作
12.5.2 “::”操作符 218
實例:使用類名、parent關鍵字和self關鍵字來調用常量和方法
12.5.3 覆蓋父類方法 219
實例:在子類中創建一個與父類方法同名的方法,實現方法的重寫
12.6 static關鍵字 220
12.6.1 靜態屬性 220
12.6.2 靜態方法 220
實例:調用類中的靜態方法
12.7 抽象類和接口 221
12.7.1 抽象類 221
實例:創建并實例化抽象類
12.7.2 接口 223
實例:聲明接口,在子類中繼承接口并聲明在接口中定義的方法,最后實例化子類,調用子類中的方法
12.8 面向對象實現多態 224
12.8.1 通過繼承實現多態 225
實例:創建抽象類,然后讓子類繼承這個類
12.8.2 通過接口實現多態 226
實例:定義接口并定義一個空方法。然后定義不同子類繼承接口。最后通過instanceof關鍵字檢查對象是否屬于接口
12.9 面向對象的其他關鍵字 226
12.9.1 final關鍵字 226
12.9.2 clone關鍵字 227
實例:在對象中創建__clone()方法并克隆對象
12.9.3 instanceof關鍵字 228
12.10 面向對象的常用魔術方法 228
12.10.1 __set()和__get()方法 228
12.10.2 __isset()和__unset()方法 228
12.10.3 __call()方法 229
實例:聲明類MrSoft,包含兩個方法:MingRi()和__call()。類實例化后,調用一個不存在的方法MingR(),看魔術方法__call()的妙用
12.10.4 __toString()方法 229
實例:定義類,應用__toString()方法輸出類的實例化對象
12.10.5 __autoload()方法 230
實例:在文件中創建__autolaod()方法,判斷類文件是否存在
小結 231
上機指導 231
習題 233
第13章 Ajax技術 234
13.1 Ajax概述 235
13.1.1 什么是Ajax 235
13.1.2 Ajax的開發模式 235
13.1.3 Ajax的優點 235
13.2 Ajax技術的組成 236
13.2.1 JavaScript腳本語言 236
13.2.2 XMLHttpRequest對象 236
實例:通過XMLHttpRequest對象讀取HTML文件
13.2.3 XML、DOM和CSS 240
13.3 Ajax與PHP的交互 241
13.3.1 通過GET方式與PHP進行
交互 241
實例:應用Ajax技術查詢數據表中的數據
13.3.2 通過POST方式與PHP進
行交互 243
實例:應用Ajax技術向數據表中添加數據
13.3.3 在電子商務平臺網中應用Ajax技術檢測用戶名 246
實例:在用戶注冊頁面中,使用Ajax技術對用戶錄入信息進行校驗
13.4 Ajax開發注意事項 248
小結 248
上機指導 249
習題 251
第14章 綜合案例——電子商務平臺網 252
14.1 開發背景 253
14.2 系統分析 253
14.2.1 需求分析 253
14.2.2 可行性分析 253
14.3 系統設計 254
14.3.1 系統目標 254
14.3.2 系統功能結構 254
14.3.3 購物流程圖 255
14.3.4 系統預覽 256
14.3.5 開發環境 257
14.3.6 文件夾組織結構 257
14.4 數據庫設計 258
14.4.1 數據庫分析 258
14.4.2 數據庫概念設計 258
14.4.3 創建數據庫及數據表 260
14.5 公共模塊設計 263
14.5.1 數據庫連接文件 263
14.5.2 CSS樣式表文件 263
14.6 前臺首頁設計 264
14.6.1 前臺首頁概述 264
14.6.2 前臺首頁技術分析 266
14.6.3 前臺首頁的實現過程 266
14.7 商品展示模塊設計 266
14.7.1 商品展示模塊概述 266
14.7.2 商品展示模塊技術分析 267
14.7.3 商品分類展示的實現過程 268
14.7.4 最新商品展示的實現過程 269
14.7.5 查看商品詳細信息的實現
過程 271
14.8 購物車模塊設計 272
14.8.1 網站購物車概述 272
14.8.2 網站購物車技術分析 273
14.8.3 添加至購物車的實現過程 273
14.8.4 查看購物車的實現過程 275
14.8.5 從購物車中移去指定商品
的實現過程 277
14.8.6 修改商品購買數量的實現
過程 278
14.8.7 清空購物車的實現過程 278
14.8.8 收銀臺結賬的實現過程 279
14.8.9 生成商品訂單的實現過程 281
14.9 后臺首頁設計 283
14.9.1 后臺首頁概述 283
14.9.2 后臺首頁技術分析 283
14.9.3 后臺首頁的實現過程 284
14.10 客戶訂單信息管理模塊設計 284
14.10.1 客戶訂單信息管理模塊
概述 284
14.10.2 客戶訂單信息管理模塊
技術分析 285
14.10.3 查看客戶訂單信息的實
現過程 285
14.10.4 執行客戶訂單信息的實
現過程 287
14.10.5 打印客戶訂單信息的實
現過程 289
14.10.6 查找客戶訂單信息的實
現過程 290
小結 292
第15章 課程設計——留言本 293
15.1 留言本模塊概述 294
15.1.1 模塊概述 294
15.1.2 功能結構 294
15.2 數據庫設計 295
15.2.1 數據庫設計 295
15.2.2 數據表設計 295
15.2.3 連接數據庫 296
15.3 發表留言 296
15.3.1 發表留言概述 296
15.3.2 發表留言頁面設計 296
15.3.3 將用戶留言內容保存到數
據庫中 298
15.4 查看留言 298
15.4.1 查看留言概述 298
15.4.2 查看留言頁面設計 299
15.4.3 在頁面中輸出留言信息 299
15.4.4 將留言信息進行分頁顯示 301
15.5 修改留言 302
15.5.1 修改留言概述 302
15.5.2 修改留言頁面設計 302
15.5.3 編輯留言內容功能實現 303
15.6 刪除留言 304
15.6.1 刪除留言概述 304
15.6.2 刪除留言頁面設計 305
15.6.3 刪除留言內容功能實現 305
15.7 查詢留言 305
15.7.1 查詢留言概述 305
15.7.2 查詢留言頁面設計 306
15.7.3 查詢留言內容 307
15.8 技術提煉 307
15.8.1 將數據保存到數據庫中 307
15.8.2 通過JavaScript實現彈出
窗口 308
15.8.3 包含文件函數 308
15.8.4 MySQL數據庫的函數 309
小結 309
附錄 單獨安裝PHP環境搭建 310
附1.1 搭建PHP開發環境的準備工作 311
附1.1.1 在Windows下搭建PHP
開發環境的準備工作 311
附1.1.2 在Linux下搭建PHP開發
環境的準備工作 311
附1.2 Apache服務器的安裝和配置 311
附1.2.1 在Windows下安裝Apache
服務器 311
附1.2.2 在Linux下安裝Apache
服務器 314
附1.3 PHP的安裝和配置 315
附1.3.1 在Windows下安裝PHP 315
附1.3.2 在Linux下安裝PHP 316
附1.4 MySQL服務器的安裝和配置 317
附1.4.1 在Windows下安裝MySQL
服務器 317
附1.4.2 在Linux下安裝MySQL
服務器 320
附1.5 環境安裝常見問題 320
附1.5.1 Apache安裝常見問題 320
附1.5.2 PHP安裝常見問題 321
附1.5.3 MySQL安裝常見問題 322