關(guān)于我們
書單推薦
新書推薦
|
PHP動(dòng)態(tài)
本書以零基礎(chǔ)講解為宗旨,用實(shí)例引導(dǎo)讀者深入學(xué)習(xí),采取“PHP基礎(chǔ)知識(shí)→核心技術(shù)→操作數(shù)據(jù)庫(kù)→高級(jí)應(yīng)用→項(xiàng)目實(shí)戰(zhàn)”的講解模式,深入淺出地講解PHP開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的各項(xiàng)技術(shù)及實(shí)戰(zhàn)技能。本書第1篇“PHP基礎(chǔ)知識(shí)”主要講解初識(shí)PHP,配置PHP服務(wù)器環(huán)境,PHP語(yǔ)言基礎(chǔ),流程控制和函數(shù),字符串和正則表達(dá)式、PHP數(shù)組及操作等;第2篇“核心技術(shù)”主要講解PHP與Web頁(yè)面交互、時(shí)間和日期,面向?qū)ο缶幊蹋e(cuò)誤、異常處理與調(diào)試,文件系統(tǒng)與操作,圖形圖像處理技術(shù),Cookie和會(huì)話管理,PHP加密技術(shù)等;第3篇“操作數(shù)據(jù)庫(kù)”主要講解MySQL數(shù)據(jù)庫(kù)基礎(chǔ),使用MySQL Workbench管理MySQL數(shù)據(jù)庫(kù),PHP操作MySQL數(shù)據(jù)庫(kù)等;第4篇“高級(jí)應(yīng)用”主要講解PDO數(shù)據(jù)庫(kù)抽象類庫(kù),JavaScript編程基礎(chǔ),PHP與XML技術(shù)的綜合應(yīng)用,PHP與Ajax的綜合應(yīng)用,MVC結(jié)構(gòu)與Smarty模板,Zend Framework框架等;第5篇“項(xiàng)目實(shí)戰(zhàn)”主要通過(guò)一個(gè)綜合案例開(kāi)發(fā)論壇來(lái)整體講解PHP在動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)中的技術(shù)。本書附帶的DVD光盤中贈(zèng)送了豐富的資源,諸如本書實(shí)例完整源代碼、教學(xué)幻燈片、本書精品教學(xué)視頻、常用SQL語(yǔ)句速查手冊(cè)、PHP常用函數(shù)速查手冊(cè)、16個(gè)經(jīng)典項(xiàng)目開(kāi)發(fā)完整源碼、PHP網(wǎng)站開(kāi)發(fā)工程師面試技巧、PHP網(wǎng)站開(kāi)發(fā)工程師常見(jiàn)面試題、優(yōu)秀網(wǎng)站開(kāi)發(fā)工程師之路——網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn)及技巧大匯總。本書適合任何想學(xué)習(xí)PHP開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的人員,無(wú)論您是否從事計(jì)算機(jī)相關(guān)行業(yè),無(wú)論您是否接觸過(guò)PHP,通過(guò)學(xué)習(xí)均可快速掌握PHP開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的方法和技巧。
清華大學(xué)出版社“案例課堂”大系 叢書以案例的形式講解軟件的內(nèi)容,讀者可以在實(shí)踐中熟練掌握軟件的使用方法。每一個(gè)案例都精挑細(xì)選,同時(shí)配有全程語(yǔ)音講解的視頻文件,方便讀者學(xué)習(xí)。案例的選材廣泛,涉及到軟件應(yīng)用的各個(gè)領(lǐng)域、各個(gè)行業(yè),學(xué)習(xí)無(wú)死角。 “CG設(shè)計(jì)”系列全彩精印,同等價(jià)位下內(nèi)容更多,同等內(nèi)容下更實(shí)惠。 “網(wǎng)站開(kāi)發(fā)”系列附贈(zèng)超值,全面學(xué)習(xí)無(wú)障礙: CSS屬性速查表 HTML標(biāo)簽速查表 網(wǎng)頁(yè)布局案例賞析 精彩網(wǎng)站配色方案賞析 精選javascript實(shí)例 javascript函數(shù)速查手冊(cè) CSS DIV布局案例賞析 案例源文件與教學(xué)課件
目 錄第1篇 PHP基礎(chǔ)知識(shí) 第1章 初識(shí)PHP. 3 1.1 了解PHP. 4 1.1.1 PHP的概念... 4 1.1.2 PHP的發(fā)展歷程... 4 1.1.3 PHP語(yǔ)言的優(yōu)勢(shì)... 5 1.2 PHP的應(yīng)用領(lǐng)域... 5 1.3 PHP 5.5的新特點(diǎn)... 6 1.4 PHP常用開(kāi)發(fā)工具... 8 1.4.1 PHP代碼開(kāi)發(fā)工具... 8 1.4.2 網(wǎng)頁(yè)設(shè)計(jì)工具... 9 1.4.3 文本編輯工具... 9 1.5 網(wǎng)站建設(shè)的基本流程... 10 1.5.1 網(wǎng)站規(guī)劃... 10 1.5.2 搜集資料... 10 1.5.3 制作網(wǎng)頁(yè)... 11 1.5.4 網(wǎng)站測(cè)試... 12 1.5.5 申請(qǐng)域名... 12 1.5.6 申請(qǐng)空間... 12 1.5.7 網(wǎng)站備案... 12 1.5.8 發(fā)布網(wǎng)頁(yè)... 16 1.5.9 網(wǎng)站推廣和維護(hù)... 16 1.6 高手甜點(diǎn)... 17 1.7 跟我練練手... 17 第2章 配置PHP 服務(wù)器環(huán)境... 19 2.1 PHP服務(wù)器概述... 20 2.2 安裝PHP前的準(zhǔn)備工作... 20 2.2.1 軟硬件環(huán)境... 20 2.2.2 實(shí)例1——獲取PHP 5.5安裝 2.3 PHP IIS服務(wù)器的安裝配置... 22 2.3.1 實(shí)例2——IIS簡(jiǎn)介及其安裝... 23 2.3.2 實(shí)例3——PHP的安裝... 24 2.3.3 實(shí)例4——設(shè)置虛擬目錄... 26 2.4 PHP Apache服務(wù)器的環(huán)境搭建... 27 2.4.1 Apache簡(jiǎn)介... 28 2.4.2 實(shí)例5——關(guān)閉原有的網(wǎng)站 2.4.3 實(shí)例6——安裝Apache. 29 2.4.4 實(shí)例7——將PHP與Apache 2.5 實(shí)例8——Windows下使用WampServer 2.6 實(shí)例9——測(cè)試第一個(gè)PHP程序... 34 2.7 高手甜點(diǎn)... 35 2.8 跟我練練手... 36 第3章 PHP語(yǔ)言基礎(chǔ)... 37 3.1 PHP標(biāo)識(shí)... 38 3.1.1 短風(fēng)格... 38 3.1.2 Script風(fēng)格... 38 3.1.3 ASP風(fēng)格... 38 3.2 編碼規(guī)范... 38 3.2.1 什么是編碼規(guī)范... 39 3.2.2 PHP的一些編碼規(guī)范... 39 3.3 常量... 40 3.3.1 實(shí)例1——聲明和使用常量... 40 3.3.2 實(shí)例2——內(nèi)置常量... 41 3.4 變量... 43 3.4.1 PHP中的變量聲明... 43 3.4.2 實(shí)例3——可變變量與變量的 3.4.3 實(shí)例4——變量作用域... 44 3.5 變量的類型... 48 3.5.1 什么是類型... 48 3.5.2 整型... 49 3.5.3 浮點(diǎn)型... 49 3.5.4 布爾型... 49 3.5.5 實(shí)例5——字符串型... 50 3.5.6 實(shí)例6——數(shù)組型... 51 3.5.7 對(duì)象型... 53 3.5.8 NULL型... 53 3.5.9 資源類型... 54 3.5.10 實(shí)例7——數(shù)據(jù)類型之間相互 3.6 運(yùn)算符... 55 3.6.1 實(shí)例8——算術(shù)運(yùn)算符... 55 3.6.2 實(shí)例9——字符串運(yùn)算符... 56 3.6.3 賦值運(yùn)算符... 57 3.6.4 實(shí)例10——比較運(yùn)算符... 58 3.6.5 邏輯運(yùn)算符... 59 3.6.6 按位運(yùn)算符... 59 3.6.7 否定控制運(yùn)算符... 60 3.6.8 錯(cuò)誤控制運(yùn)算符... 60 3.6.9 三元運(yùn)算符... 60 3.6.10 運(yùn)算符的優(yōu)先級(jí)和結(jié)合規(guī)則... 60 3.7 PHP的表達(dá)式... 60 3.8 實(shí)例11——創(chuàng)建多維數(shù)組... 61 3.9 高手甜點(diǎn)... 62 3.10 跟我練練手... 62 第4章 流程控制和函數(shù)... 63 4.1 流程控制概述... 64 4.2 條件控制結(jié)構(gòu)... 64 4.2.1 實(shí)例1——單一條件分支結(jié)構(gòu) 4.2.2 實(shí)例2——雙向條件分支結(jié)構(gòu) 4.2.3 實(shí)例3——多向條件分支結(jié)構(gòu) 4.2.4 實(shí)例4——多向條件分支結(jié)構(gòu) 4.3 循環(huán)控制結(jié)構(gòu)... 69 4.3.1 實(shí)例5——while循環(huán)語(yǔ)句... 69 4.3.2 實(shí)例6——do…while循環(huán) 4.3.3 實(shí)例7——for循環(huán)語(yǔ)句... 72 4.3.4 實(shí)例8——foreach循環(huán)語(yǔ)句... 73 4.3.5 實(shí)例9——流程控制的另一種 4.3.6 實(shí)例10——使用break/continue 4.4 函數(shù)... 77 4.4.1 PHP函數(shù)概述... 77 4.4.2 實(shí)例11——定義和調(diào)用函數(shù)... 77 4.4.3 實(shí)例12——向函數(shù)傳遞參數(shù) 4.4.4 實(shí)例13——向函數(shù)傳遞參數(shù) 4.4.5 實(shí)例14——從函數(shù)中返回值... 80 4.4.6 實(shí)例15——對(duì)函數(shù)的引用... 81 4.4.7 實(shí)例16——對(duì)函數(shù)取消引用... 82 4.5 實(shí)例17——條件分支結(jié)構(gòu)的綜合 4.6 實(shí)例18——循環(huán)控制結(jié)構(gòu)的綜合 4.7 高手甜點(diǎn)... 85 4.8 跟我練練手... 86 第5章 字符串和正則表達(dá)式... 87 5.1 實(shí)例1——字符串的單引號(hào)和雙引號(hào)... 88 5.2 實(shí)例2——字符串的連接符... 89 5.3 字符串的基本操作... 91 5.3.1 手動(dòng)和自動(dòng)轉(zhuǎn)義字符串中的 5.3.2 實(shí)例3——計(jì)算字符串的長(zhǎng)度... 91 5.3.3 實(shí)例4——字符串單詞統(tǒng)計(jì)... 92 5.3.4 實(shí)例5——清理字符串中的 5.3.5 實(shí)例6——字符串切分與組合... 93 5.3.6 實(shí)例7——字符串子串截取... 94 5.3.7 實(shí)例8——字符串子串替換... 95 5.3.8 實(shí)例9——字符串查找... 96 5.4 什么是正則表達(dá)式... 97 5.5 正則表達(dá)式語(yǔ)法規(guī)則... 97 5.5.1 方括號(hào)([ ]) 98 5.5.2 連字符(-) 98 5.5.3 點(diǎn)號(hào)字符(.) 98 5.5.4 限定符( 、*、?、{n,m}) 98 5.5.5 行定位符(^和$) 98 5.5.6 排除字符([^]) 99 5.5.7 括號(hào)字符(( )) 99 5.5.8 選擇字符(|) 99 5.5.9 轉(zhuǎn)義字符(\)與反斜杠(\ 99 5.5.10 認(rèn)證email的正則表達(dá)... 99 5.5.11 實(shí)例10——使用正則表達(dá)式對(duì) 5.5.12 實(shí)例11——使用正則表達(dá)式 5.5.13 實(shí)例12——使用正則表達(dá)式 5.6 實(shí)例13——創(chuàng)建酒店系統(tǒng)在線 5.7 高手甜點(diǎn)... 106 5.8 跟我練練手... 106 第6章 PHP數(shù)組及操作... 109 6.1 什么是數(shù)組... 110 6.2 數(shù)組類型... 110 6.2.1 實(shí)例1——數(shù)字索引數(shù)組... 110 6.2.2 實(shí)例2——關(guān)聯(lián)索引數(shù)組... 111 6.3 數(shù)組構(gòu)造... 112 6.3.1 實(shí)例3——一維數(shù)組... 112 6.3.2 實(shí)例4——多維數(shù)組... 113 6.4 遍歷數(shù)組... 115 6.4.1 實(shí)例5——遍歷一維數(shù)字索引 6.4.2 實(shí)例6——遍歷一維聯(lián)合索引 6.4.3 實(shí)例7——遍歷多維數(shù)組... 117 6.5 數(shù)組排序... 118 6.5.1 實(shí)例8——一維數(shù)組排序... 118 6.5.2 實(shí)例9——多維數(shù)組排序... 120 6.6 實(shí)例10——字符串與數(shù)組的轉(zhuǎn)換... 121 6.7 向數(shù)組中添加和刪除元素... 122 6.7.1 實(shí)例11——向數(shù)組中添加 6.7.2 實(shí)例12——從數(shù)組中刪除 6.8 實(shí)例13——查詢數(shù)組中指定元素... 126 6.9 實(shí)例14——統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)... 127 6.10 實(shí)例15——刪除數(shù)組中重復(fù)元素... 129 6.11 實(shí)例16——調(diào)換數(shù)組中的鍵值 6.12 實(shí)例17——數(shù)組的序列化... 131 6.13 高手甜點(diǎn)... 132 6.14 跟我練練手... 132
第2篇 核心 技 術(shù) 第7章 PHP與Web 頁(yè)面交互... 137 7.1 實(shí)例1——使用動(dòng)態(tài)內(nèi)容... 138 7.2 表單與PHP. 139 7.3 表單設(shè)計(jì)... 139 7.3.1 表單基本結(jié)構(gòu)... 139 7.3.2 實(shí)例2——文本框... 139 7.3.3 實(shí)例3——選項(xiàng)框... 141 7.3.4 實(shí)例4——單選按鈕... 142 7.3.5 實(shí)例5——下拉列表... 144 7.3.6 實(shí)例6——重置按鈕... 145 7.3.7 實(shí)例7——提交按鈕... 146 7.4 傳遞數(shù)據(jù)的兩種方法... 148 7.4.1 用POST方式傳遞數(shù)據(jù)... 149 7.4.2 實(shí)例8——用GET方式傳遞 7.5 PHP獲取表單傳遞數(shù)據(jù)的方法... 150 7.6 實(shí)例9——PHP對(duì)URL傳遞的參數(shù) 7.7 實(shí)例10——PHP與Web表單的綜合 7.8 高手甜點(diǎn)... 153 7.9 跟我練練手... 154 第8章 時(shí)間和日期... 155 8.1 系統(tǒng)時(shí)區(qū)設(shè)置... 156 8.1.1 時(shí)區(qū)劃分... 156 8.1.2 時(shí)區(qū)設(shè)置... 156 8.2 PHP日期和時(shí)間函數(shù)... 156 8.2.1 關(guān)于UNIX時(shí)間戳... 156 8.2.2 實(shí)例1——獲取當(dāng)前時(shí)間戳... 157 8.2.3 獲取當(dāng)前日期和時(shí)間... 158 8.2.4 實(shí)例2——使用時(shí)間戳獲取日期 8.2.5 實(shí)例3——檢驗(yàn)日期的 8.2.6 實(shí)例4——輸出格式化時(shí)間戳的 8.2.7 實(shí)例5——顯示本地化的日期 8.2.8 實(shí)例6——將日期和時(shí)間解析 8.2.9 日期和時(shí)間在PHP和MySQL 8.3 實(shí)例7——比較兩個(gè)時(shí)間的大小... 166 8.4 實(shí)例8——實(shí)現(xiàn)倒計(jì)時(shí)功能... 167 8.5 高手甜點(diǎn)... 167 8.6 跟我練練手... 168 第9章 面向?qū)ο缶幊?.. 169 9.1 類和對(duì)象的介紹... 170 9.2 PHP中類的操作... 171 9.2.1 類的聲明... 171 9.2.2 成員屬性... 171 9.2.3 成員方法... 172 9.2.4 類的實(shí)例化... 172 9.2.5 實(shí)例1——訪問(wèn)類中的成員屬性 9.3 實(shí)例2——構(gòu)造方法和析構(gòu)方法... 174 9.4 實(shí)例3——訪問(wèn)方法... 176 9.5 實(shí)例4——類的繼承... 178 9.6 抽象類和接口... 179 9.6.1 實(shí)例5——抽象類... 179 9.6.2 實(shí)例6——接口... 180 9.7 面向?qū)ο蟮亩鄳B(tài)性... 183 9.7.1 實(shí)例7——通過(guò)繼承實(shí)現(xiàn) 9.7.2 實(shí)例8——通過(guò)接口實(shí)現(xiàn) 9.8 高手甜點(diǎn)... 186 9.9 跟我練練手... 186 第10章 錯(cuò)誤、異常處理與調(diào)試... 187 10.1 常見(jiàn)的錯(cuò)誤和異常... 188 10.2 錯(cuò)誤處理... 191 10.2.1 php.ini中的錯(cuò)誤處理機(jī)制... 191 10.2.2 實(shí)例1——應(yīng)用DIE語(yǔ)句 10.2.3 實(shí)例2——自定義錯(cuò)誤和錯(cuò)誤 10.2.4 實(shí)例3——錯(cuò)誤記錄... 196 10.3 異常處理... 197 10.3.1 實(shí)例4——異常的基本處理 10.3.2 實(shí)例5——自定義的異常 10.3.3 實(shí)例6——處理多個(gè)異常... 200 10.3.4 實(shí)例7——設(shè)置頂層異常 10.4 實(shí)例8——處理異;蝈e(cuò)誤... 203 10.5 高手甜點(diǎn)... 204 10.6 跟我練練手... 205 第11章 文件系統(tǒng)與操作... 207 11.1 文件操作... 208 11.1.1 實(shí)例1——文件數(shù)據(jù)寫入... 208 11.1.2 實(shí)例2——文件數(shù)據(jù)讀取... 211 11.2 實(shí)例3——目錄操作... 213 11.3 實(shí)例4——文件的上傳... 218 11.4 實(shí)例5——編寫文本類型的訪客 11.5 高手甜點(diǎn)... 221 11.6 跟我練練手... 221 第12章 圖形圖像處理技術(shù)... 223 12.1 實(shí)例1——在PHP中加載GD庫(kù)... 224 12.2 圖形圖像的典型應(yīng)用案例... 226 12.2.1 實(shí)例2——創(chuàng)建一個(gè)簡(jiǎn)單的 12.2.2 實(shí)例3——使用GD2函數(shù)在 12.2.3 實(shí)例4——使用TrueType字體 12.3 Jpgraph庫(kù)的使用... 231 12.3.1 實(shí)例5——Jpgraph的安裝... 231 12.3.2 實(shí)例6——Jpgraph的配置... 232 12.3.3 實(shí)例7——制作柱形圖 12.3.4 實(shí)例8——制作圓形統(tǒng)計(jì)圖... 234 12.4 實(shí)例9——制作3D餅形統(tǒng)計(jì)圖... 236 12.5 高手甜點(diǎn)... 237 12.6 跟我練練手... 238 第13章 Cookie和會(huì)話管理... 239 13.1 Cookie基本操作... 240 13.1.1 什么是Cookie. 240 13.1.2 實(shí)例1——創(chuàng)建Cookie. 240 13.1.3 實(shí)例2——讀取Cookie. 241 13.1.4 實(shí)例3——刪除Cookie. 242 13.2 認(rèn)識(shí)Session. 243 13.2.1 什么是Session. 243 13.2.2 Session基本功能... 244 13.2.3 Cookie與Session. 244 13.2.4 儲(chǔ)存Session ID在Cookie 13.3 會(huì)話管理... 244 13.3.1 實(shí)例4——創(chuàng)建會(huì)話... 244 13.3.2 實(shí)例5——注冊(cè)會(huì)話變量... 245 13.3.3 實(shí)例6——使用會(huì)話變量... 246 13.3.4 實(shí)例7——注銷和銷毀會(huì)話 13.4 實(shí)例8——會(huì)話管理的綜合應(yīng)用... 247 13.5 高手甜點(diǎn)... 248 13.6 跟我練練手... 249 第14章 PHP加密技術(shù)... 251 14.1 使用PHP加密函數(shù)... 252 14.1.1 實(shí)例1——使用md5()函數(shù)進(jìn)行 14.1.2 實(shí)例2——使用crypt()函數(shù) 14.1.3 實(shí)例3——使用sha1()函數(shù)進(jìn)行 14.2 使用PHP加密擴(kuò)展庫(kù)... 254 14.2.1 實(shí)例4——安裝和使用Mcrypt 14.2.2 實(shí)例5——使用Mhash 14.3 高手甜點(diǎn)... 258 14.4 跟我練練手... 259
第3篇 數(shù)據(jù)庫(kù)操作 第15章 MySQL數(shù)據(jù)庫(kù)基礎(chǔ)... 263 15.1 什么是MySQL. 264 15.1.1 客戶機(jī)—服務(wù)器軟件... 264 15.1.2 MySQL版本... 264 15.1.3 MySQL的優(yōu)勢(shì)... 265 15.2 啟動(dòng)服務(wù)并登錄MySQL數(shù)據(jù)庫(kù)... 265 15.2.1 實(shí)例1——啟動(dòng)MySQL 15.2.2 實(shí)例2——登錄MySQL 15.2.3 實(shí)例3——配置Path變量... 269 15.3 MySQL數(shù)據(jù)庫(kù)的基本操作... 271 15.3.1 實(shí)例4——創(chuàng)建數(shù)據(jù)庫(kù)... 271 15.3.2 實(shí)例5——查看數(shù)據(jù)庫(kù)... 271 15.3.3 實(shí)例6——刪除數(shù)據(jù)庫(kù)... 272 15.3.4 實(shí)例7——選擇數(shù)據(jù)庫(kù)... 272 15.4 MySQL數(shù)據(jù)表的基本操作... 273 15.4.1 實(shí)例8——創(chuàng)建數(shù)據(jù)表... 273 15.4.2 實(shí)例9——查看數(shù)據(jù)表結(jié)構(gòu)... 274 15.4.3 實(shí)例10——修改數(shù)據(jù)表 15.4.4 實(shí)例11——刪除數(shù)據(jù)表... 276 15.5 MySQL語(yǔ)句操作... 276 15.5.1 實(shí)例12——插入記錄... 277 15.5.2 實(shí)例13——查詢記錄... 277 15.5.3 實(shí)例14——修改記錄... 278 15.5.4 實(shí)例15——刪除記錄... 278 15.6 MySQL數(shù)據(jù)庫(kù)的備份與還原... 278 15.6.1 實(shí)例16——數(shù)據(jù)備份... 279 15.6.2 實(shí)例17——數(shù)據(jù)還原... 285 15.7 高手甜點(diǎn)... 287 15.8 跟我練練手... 288 第16章 使用MySQL Workbench 16.1 MySQL Workbench簡(jiǎn)介... 290 16.1.1 MySQL Workbench概述... 290 16.1.2 MySQL Workbench 的優(yōu)勢(shì)... 290 16.1.3 MySQL Workbench 的安裝... 290 16.2 SQL Development的基本操作... 293 16.2.1 創(chuàng)建數(shù)據(jù)庫(kù)連接... 293 16.2.2 創(chuàng)建新的數(shù)據(jù)庫(kù)... 294 16.2.3 創(chuàng)建和刪除新的數(shù)據(jù)表... 296 16.2.4 添加、修改表記錄... 299 16.2.5 查詢表記錄... 299 16.2.6 修改表結(jié)構(gòu)... 300 16.3 Data Modeling的基本操作... 301 16.3.1 建立E-R模型... 301 16.3.2 導(dǎo)入E-R模型... 305 16.4 Server Administration的基本操作... 307 16.4.1 管理MySQL用戶... 307 16.4.2 備份MySQL數(shù)據(jù)庫(kù)... 310 16.4.3 還原MySQL數(shù)據(jù)庫(kù)... 313 16.5 高手甜點(diǎn)... 314 16.6 跟我練練手... 315 第17章 PHP操作MySQL數(shù)據(jù)庫(kù)... 317 17.1 PHP訪問(wèn)MySQL數(shù)據(jù)庫(kù)的一般 17.2 實(shí)例1——連接數(shù)據(jù)庫(kù)前的準(zhǔn)備 17.3 PHP操作MySQL數(shù)據(jù)庫(kù)的函數(shù)... 319 17.3.1 實(shí)例2——通過(guò)mysqli類庫(kù)訪問(wèn) 17.3.2 實(shí)例3——使用mysqli_connect() 17.3.3 實(shí)例4——使用mysqli_select_db() 17.3.4 實(shí)例5——使用mysqli_query() 17.3.5 實(shí)例6——使用mysqli_fetch_assoc() 17.3.6 實(shí)例7——使用mysqli_fetch_ 17.3.7 實(shí)例8——使用mysqli_num_ 17.3.8 實(shí)例9——使用mysqli_free_ 17.3.9 實(shí)例10——使用mysqli_close() 17.4 實(shí)例11——使用insert語(yǔ)句動(dòng)態(tài)添加 17.5 實(shí)例12——使用select語(yǔ)句查詢數(shù)據(jù) 17.6 高手甜點(diǎn)... 328 17.7 跟我練練手... 329
第4篇 高級(jí) 應(yīng) 用 第18章 PDO數(shù)據(jù)庫(kù)抽象類庫(kù)... 333 18.1 PDO概述... 334 18.2 實(shí)例1——PDO的安裝... 334 18.3 使用PDO操作MySQL. 335 18.3.1 實(shí)例2——連接MySQL數(shù)據(jù)庫(kù) 18.3.2 實(shí)例3——使用PDO時(shí)的try 18.3.3 實(shí)例4——使用PDO執(zhí)行SQL 18.3.4 實(shí)例5——使用PDO獲取返回 18.3.5 實(shí)例6——使用PDO執(zhí)行SQL 18.3.6 實(shí)例7——使用PDO執(zhí)行SQL 18.4 實(shí)例8——PDO的prepare表述... 343 18.5 高手甜點(diǎn)... 344 18.6 跟我練練手... 345 第19章 JavaScript編程基礎(chǔ)... 347 19.1 認(rèn)識(shí)JavaScript 348 19.1.1 什么是JavaScript 348 19.1.2 JavaScript的特點(diǎn)... 348 19.2 JavaScript在HTML中的使用... 349 19.2.1 實(shí)例1——在HTML網(wǎng)頁(yè)頭中 19.2.2 實(shí)例2——在HTML網(wǎng)頁(yè)中嵌入 19.2.3 實(shí)例3——在HTML網(wǎng)頁(yè)的元素 19.2.4 實(shí)例4——在HTML中調(diào)用已經(jīng) 19.2.5 實(shí)例5——通過(guò)JavaScript偽 19.3 JavaScript的基本語(yǔ)法... 354 19.3.1 執(zhí)行順序... 355 19.3.2 區(qū)分大小寫... 355 19.3.3 分號(hào)與空格... 355 19.3.4 對(duì)代碼行進(jìn)行折行... 355 19.3.5 實(shí)例6——注釋... 356 19.4 JavaScript的數(shù)據(jù)結(jié)構(gòu)... 357 19.4.1 標(biāo)識(shí)符... 357 19.4.2 關(guān)鍵字... 358 19.4.3 保留字... 358 19.4.4 常量... 359 19.4.5 實(shí)例7——變量... 359 19.5 看透代碼中的數(shù)據(jù)類型... 361 19.5.1 實(shí)例8——typeof運(yùn)算符... 362 19.5.2 實(shí)例9——Undefined類型... 363 19.5.3 實(shí)例10——Null類型... 363 19.5.4 實(shí)例11——Boolean類型... 364 19.5.5 實(shí)例12——Number類型... 365 19.5.6 實(shí)例13——String類型... 366 19.6 條件判斷語(yǔ)句... 367 19.6.1 實(shí)例14——if語(yǔ)句... 367 19.6.2 實(shí)例15——if…else語(yǔ)句... 368 19.6.3 實(shí)例16——switch語(yǔ)句... 369 19.7 循環(huán)控制語(yǔ)句... 371 19.7.1 實(shí)例17——while語(yǔ)句... 371 19.7.2 實(shí)例18——do…while語(yǔ)句... 372 19.7.3 實(shí)例19——for循環(huán)... 373 19.8 在PHP中調(diào)用JavaScript代碼... 374 19.8.1 實(shí)例20——驗(yàn)證表單元素的值 19.8.2 實(shí)例21——實(shí)現(xiàn)即時(shí)驗(yàn)證 19.9 實(shí)例22——制作樹(shù)形菜單... 377 19.10 高手甜點(diǎn)... 381 19.11 跟我練練手... 382 第20章 PHP與XML技術(shù)的綜合 20.1 實(shí)例1——理解XML概念... 384 20.2 XML語(yǔ)法基礎(chǔ)... 385 20.2.1 實(shí)例2——XML文檔組成 20.2.2 實(shí)例3——XML元素介紹... 387 20.2.3 處理指令實(shí)體引用... 389 20.2.4 實(shí)例4——XML命名空間... 389 20.2.5 實(shí)例5——XML DTD.. 390 20.2.6 實(shí)例6——使用CDATA 20.3 實(shí)例7——將XML文檔轉(zhuǎn)換為HTML 20.4 實(shí)例8——在PHP中創(chuàng)建XML 20.5 使用SimpleXML擴(kuò)展... 393 20.5.1 實(shí)例9——創(chuàng)建SimpleXMLElement 20.5.2 實(shí)例10——訪問(wèn)特定節(jié)點(diǎn)元素 20.5.3 實(shí)例11——添加X(jué)ML元素 20.6 實(shí)例12——動(dòng)態(tài)創(chuàng)建XML文檔... 397 20.7 高手甜點(diǎn)... 398 20.8 跟我練練手... 398 第21章 PHP與Ajax的綜合應(yīng)用... 399 21.1 Ajax概述... 400 21.1.1 實(shí)例1——什么是Ajax. 400 21.1.2 Ajax的關(guān)鍵元素... 403 21.1.3 實(shí)例2——CSS與Ajax. 403 21.2 Ajax快速入門... 404 21.2.1 實(shí)例3——全面剖析 21.2.2 實(shí)例4——發(fā)出Ajax請(qǐng)求... 406 21.2.3 實(shí)例5——處理服務(wù)器響應(yīng)... 408 21.3 實(shí)例6——在PHP中應(yīng)用Ajax技術(shù) 21.4 高手甜點(diǎn)... 414 21.5 跟我練練手... 415 第22章 MVC結(jié)構(gòu)與 Smarty模板... 417 22.1 MVC概述... 418 22.2 什么是模板引擎... 419 22.3 Smarty概述... 419 22.3.1 什么是Smarty. 419 22.3.2 Smarty與MVC.. 420 22.4 Smarty的安裝和配置... 420 22.4.1 實(shí)例1——Smarty下載 22.4.2 實(shí)例2——第一個(gè)Smarty 22.5 Smarty模板設(shè)計(jì)... 422 22.5.1 Smarty模板文件... 422 22.5.2 實(shí)例3——Smarty標(biāo)識(shí)... 422 22.5.3 實(shí)例4——Smarty變量... 424 22.5.4 實(shí)例5——Smarty數(shù)組... 425 22.5.5 實(shí)例6——Smarty中流程控制 22.6 高手甜點(diǎn)... 428 22.7 跟我練練手... 428 第23章 Zend Framework 框架... 429 23.1 什么是ZendFramework框架... 430 23.2 Zend Framework的目錄結(jié)構(gòu)... 430 23.3 Zend Framework的安裝與測(cè)試... 431 23.3.1 實(shí)例1——Zend Framework的 23.3.2 實(shí)例2——創(chuàng)建一個(gè)新的Zend 23.4 PHP與ZendFramework的基本
23.4.1 實(shí)例3——在Zend Framework 23.4.2 實(shí)例4——在Zend Framework的 23.4.3 實(shí)例5——在Zend Framework中 23.4.4 實(shí)例6——在Zend Framework中 23.4.5 實(shí)例7——在Zend Framework中 23.5 高手甜點(diǎn)... 440 23.6 跟我練練手... 440
第5篇 項(xiàng)目 實(shí) 戰(zhàn) 第24章 開(kāi)發(fā)論壇... 443 24.1 網(wǎng)站的需求分析... 444 24.1.1 需求分析... 444 24.1.2 網(wǎng)站功能模塊分析... 444 24.2 數(shù)據(jù)庫(kù)分析... 444 24.2.1 分析數(shù)據(jù)庫(kù)... 445 24.2.2 創(chuàng)建數(shù)據(jù)表... 445 24.3 論壇的代碼實(shí)現(xiàn)... 446 24.3.1 數(shù)據(jù)庫(kù)連接相關(guān)文件... 446 24.3.2 論壇主頁(yè)面... 452 24.3.3 新用戶注冊(cè)頁(yè)面... 456 24.3.4 論壇帖子的相關(guān)頁(yè)面... 459 24.3.5 后臺(tái)管理系統(tǒng)的相關(guān)頁(yè)面... 469
第2章 配置PHP服務(wù)器環(huán)境 在編寫PHP文件之前,讀者需要配置PHP服務(wù)器,包括軟硬件環(huán)境的檢查,如何獲得PHP安裝資源包等,詳細(xì)講解目前常見(jiàn)的主流PHP服務(wù)器搭配方案:PHP IIS和PHP Apache。另外講述了在Windows下如何使用WampServer組合包,最后通過(guò)一個(gè)測(cè)試案例,讀者可以檢查Web服務(wù)器建構(gòu)是否成功。
本章要點(diǎn)(已掌握的在方框中打鉤) 了解PHP服務(wù)器的概念 熟悉安裝PHP前的準(zhǔn)備工作 掌握PHP IIS服務(wù)器的安裝配置方法 掌握PHP Apache服務(wù)器的環(huán)境搭建方法 Windows下使用WampServer組合包 測(cè)試第一個(gè)PHP程序
2.1 PHP服務(wù)器概述 在學(xué)習(xí)PHP服務(wù)器之前,讀者需要了解HTML網(wǎng)頁(yè)的運(yùn)行原理。網(wǎng)頁(yè)瀏覽者在客戶端通過(guò)瀏覽器向服務(wù)器發(fā)出頁(yè)面請(qǐng)求,服務(wù)器接收到請(qǐng)求后將頁(yè)面返回到客戶端的瀏覽器,這樣網(wǎng)頁(yè)瀏覽者即可看到頁(yè)面顯示效果。 PHP語(yǔ)言在Web開(kāi)發(fā)中作為嵌入式語(yǔ)言,需要嵌入HTML代碼中執(zhí)行。要想運(yùn)行PHP網(wǎng)站,需要搭建PHP服務(wù)器。PHP網(wǎng)站的運(yùn)行原理如圖2-1所示。
圖2-1 PHP網(wǎng)站運(yùn)行原理從圖2-1可以看出,PHP程序運(yùn)行的基本流程如下。 (1) 網(wǎng)頁(yè)瀏覽者首先在瀏覽器的地址欄中輸入要訪問(wèn)的主頁(yè)地址,按Enter鍵觸發(fā)該申請(qǐng)。 (2) 瀏覽器將申請(qǐng)發(fā)送到PHP網(wǎng)站服務(wù)器。網(wǎng)站服務(wù)器根據(jù)申請(qǐng)讀取數(shù)據(jù)庫(kù)中的頁(yè)面。 (3) 通過(guò)Web服務(wù)器向客戶端發(fā)送處理結(jié)果,客戶端的瀏覽器顯示最終頁(yè)面。
2.2 安裝PHP前的準(zhǔn)備工作 在安裝PHP之前,讀者需要了解安裝所需要的軟硬件環(huán)境和獲取PHP安裝資源包的途徑。
|
| 圖2-3中,下拉列表中VC11代表的是the Visual Studio 2012 compiler編譯器編譯,通常用于PHP IIS服務(wù)器下。要求用戶安裝Visual C Redistributable for Visual Studio 2012。 |
顯示所選版本號(hào)中PHP安裝包的各種格式。這里選擇Zip壓縮格式,單擊Zip文字鏈接,如圖2-4所示。
打開(kāi)【另存為】對(duì)話框,選擇保存路徑,然后保存文件即可,如圖2-5所示。
2.3 PHP IIS服務(wù)器的安裝配置
下面介紹PHP IIS服務(wù)器架構(gòu)的配置方法和技巧。
IIS是Internet Information Services(互聯(lián)網(wǎng)信息服務(wù))的簡(jiǎn)稱,是微軟公司提供的基于Microsoft Windows的互聯(lián)網(wǎng)基本服務(wù)。由于它功能強(qiáng)大、操作簡(jiǎn)單和使用方便,所以是目前較為流行的Web服務(wù)器之一。
目前IIS只能運(yùn)行在Windows系列的操作系統(tǒng)上。針對(duì)不同的操作系統(tǒng),IIS也有不同的版本。下面以Windows 7為例進(jìn)行講解,默認(rèn)情況下此操作系統(tǒng)沒(méi)有安裝IIS。
安裝IIS組件的具體步驟如下。
單擊【開(kāi)始】按鈕,在彈出的【開(kāi)始】菜單中選擇【控制面板】命令,如圖2-6所示。
打開(kāi)【控制面板】窗口,雙擊【程序】選項(xiàng),如圖2-7所示。
圖2-6 選擇【控制面板】命令 |
圖2-7 【控制面板】窗口 |
打開(kāi)【程序】窗口,從中單擊【打開(kāi)或關(guān)閉Windows功能】文字鏈接,如圖2-8所示。
在打開(kāi)的【W(wǎng)indows功能】對(duì)話框中,選中【Internet信息服務(wù)】復(fù)選框,然后單擊【確定】按鈕,如圖2-9所示。
圖2-8 【程序】窗口 |
圖2-9 【W(wǎng)indows功能】對(duì)話框 |
安裝完成后,即可測(cè)試是否成功。在IE瀏覽器的地址欄中輸入“http://localhost/”,打開(kāi)IIS的歡迎畫面頁(yè)面,如圖2-10所示。
IIS安裝完成后,即可開(kāi)始安裝PHP。PHP的安裝過(guò)程大致分成3個(gè)步驟。
將
在安裝目錄中,找到php.ini-development文件,此文件正是PHP 5.5的配置文件。將這個(gè)文件的擴(kuò)展名.ini-development修改為.ini,然后用記事本打開(kāi)。文件中參數(shù)很多,所以建議讀者使用記事本的查找功能,快速查找需要的參數(shù)。
查找并修改相應(yīng)的參數(shù)值:extension_dir="D:\PHP5\ext",此參數(shù)為PHP擴(kuò)展函數(shù)的查找路徑,其中“D:\PHP5\”為PHP的安裝路徑,讀者可以根據(jù)自己的安裝路徑進(jìn)行修改。采用同樣的方法,修改參數(shù):cgi.force_redirect =0。
另外,去除下面的參數(shù)值擴(kuò)展前的引號(hào),最終結(jié)果如圖2-12所示。
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
要想讓系統(tǒng)運(yùn)行PHP時(shí)找到上面的安裝路徑,就需要將PHP的安裝目錄添加到系統(tǒng)變量中。具體操作步驟如下。
右擊桌面上的【計(jì)算機(jī)】圖標(biāo),在彈出的快捷菜單中選擇【屬性】命令,打開(kāi)【系統(tǒng)】窗口,如圖2-13所示。
單擊【高級(jí)系統(tǒng)設(shè)置】文字鏈接,打開(kāi)【系統(tǒng)屬性】對(duì)話框,如圖2-14所示。
默認(rèn)顯示【高級(jí)】選項(xiàng)卡,在該選項(xiàng)卡中單擊【環(huán)境變量】按鈕,打開(kāi)【環(huán)境變量】對(duì)話框。在【系統(tǒng)變量】列表框中選擇變量Path,然后單擊【編輯】按鈕,如圖2-15所示。
彈出【編輯系統(tǒng)變量】對(duì)話框,在【變量值】文本框的末尾輸入“;d:\PHP
單擊【確定】按鈕,返回到【環(huán)境變量】對(duì)話框,依次單擊【確定】按鈕即可關(guān)閉對(duì)話框,然后重新啟動(dòng)計(jì)算機(jī)。這樣設(shè)置的環(huán)境變量即可生效。
圖2-14 【系統(tǒng)屬性】對(duì)話框 |
圖2-15 【環(huán)境變量】對(duì)話框 |
如果用戶是按照前述的方式來(lái)啟動(dòng) IIS 網(wǎng)站服務(wù)器,那么整個(gè)網(wǎng)站服務(wù)器的根目錄就位于“(系統(tǒng)盤符):\Inetpub\wwwroot”中,也就是如果要添加網(wǎng)頁(yè)到網(wǎng)站中顯示,都必須放置在這個(gè)目錄之下。但是會(huì)發(fā)現(xiàn)這個(gè)路徑不僅太長(zhǎng),也不好記,使用起來(lái)相當(dāng)不方便。
這些問(wèn)題都可以通過(guò)修改虛擬目錄來(lái)解決,具體操作步驟如下。
在桌面上右擊【計(jì)算機(jī)】圖標(biāo),在彈出的快捷菜單中選擇【管理】命令,打開(kāi)【計(jì)算機(jī)管理】窗口,在左側(cè)的列表框中展開(kāi)【服務(wù)和應(yīng)用程序】選項(xiàng),選擇【Internet 信息服務(wù)(IIS)管理器】選項(xiàng),在右側(cè)選擇DefaultWeb Site選項(xiàng)后,右擊并在彈出的快捷菜單中選擇【添加虛擬目錄】命令,如圖2-17所示。
打開(kāi)【添加虛擬目錄】對(duì)話框,在【別名】文本框中輸入虛擬網(wǎng)站的名稱,這里輸入“php
至此,已完成了 IIS 網(wǎng)站服務(wù)器設(shè)置的更改,IIS 網(wǎng)站服務(wù)器的網(wǎng)站虛擬目錄已經(jīng)更改為“D:\php”了。
2.4 PHP Apache服務(wù)器的環(huán)境搭建
Apache支持大部分操作系統(tǒng),搭配PHP程序的應(yīng)用,即可開(kāi)發(fā)出功能強(qiáng)大的互動(dòng)網(wǎng)站。本節(jié)主要講述PHP Apache服務(wù)器的搭建方法。
Apache可以運(yùn)行在幾乎所有的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是目前最流行的Web服務(wù)器端軟件之一。
和一般的Web服務(wù)器相比,Apache主要特點(diǎn)如下。
(1) 跨平臺(tái)應(yīng)用:幾乎可以在所有的計(jì)算機(jī)平臺(tái)上運(yùn)行。
(2) 開(kāi)放源代碼:Apache服務(wù)程序由全世界的眾多開(kāi)發(fā)者共同維護(hù),并且任何人都可以自由使用,充分體現(xiàn)了開(kāi)源軟件的精神。
(3) 支持HTTP 1.1協(xié)議:Apache是最先使用HTTP 1.1協(xié)議的Web服務(wù)器之一,它完全兼容HTTP 1.1協(xié)議并與HTTP 1.0協(xié)議向后兼容。Apache已為新協(xié)議所提供的全部?jī)?nèi)容做好了必要的準(zhǔn)備。
(4) 支持通用網(wǎng)關(guān)接口(CGI):Apache遵守CGI 1.1標(biāo)準(zhǔn)并且提供了擴(kuò)充的特征,如定制環(huán)境變量和很難在其他Web服務(wù)器中找到的調(diào)試支持功能。
(5) 支持常見(jiàn)的網(wǎng)頁(yè)編程語(yǔ)言:可支持的網(wǎng)頁(yè)編程語(yǔ)言包括PERL、PHP、Python和Java等,支持各種常用的Web編程語(yǔ)言使Apache具有更廣泛的應(yīng)用領(lǐng)域。
(6) 模塊化設(shè)計(jì):通過(guò)標(biāo)準(zhǔn)的模塊實(shí)現(xiàn)專有的功能,提高了項(xiàng)目完成的效率。
(7) 運(yùn)行非常穩(wěn)定,同時(shí)具備效率高、成本低的特點(diǎn),而且具有良好的安全性。
在安裝 Apache 網(wǎng)站服務(wù)器之前,如果所使用的操作系統(tǒng)已經(jīng)安裝了網(wǎng)站服務(wù)器,如IIS網(wǎng)站服務(wù)器等,用戶必須要先停止這些服務(wù)器,才能正確安裝 Apache 網(wǎng)站服務(wù)器。
以 Windows 7 操作系統(tǒng)為例,請(qǐng)?jiān)谧烂嫔嫌覔簟居?jì)算機(jī)】圖標(biāo),在彈出的快捷菜單中選擇【管理】命令,打開(kāi)【計(jì)算機(jī)管理】窗口,在左側(cè)的列表框中展開(kāi)【服務(wù)和應(yīng)用程序】選項(xiàng),然后選擇【Internet 信息服務(wù)(IIS)管理器】選項(xiàng),在右側(cè)的列表框中單擊【停止】文字鏈接即可停止IIS服務(wù)器,如圖2-19所示。
如此一來(lái),原來(lái)的服務(wù)器軟件即失效不再工作,也不會(huì)與即將安裝的 Apache 網(wǎng)站服務(wù)器產(chǎn)生沖突。當(dāng)然如果用戶的系統(tǒng)原來(lái)就沒(méi)有安裝 IIS 等服務(wù)器軟件,則可略過(guò)這一小節(jié)的步驟直接進(jìn)行服務(wù)器的安裝。
Apache是免費(fèi)軟件,用戶可以從官方網(wǎng)站直接下載。Apache的官方網(wǎng)站為http://www.apache.org。
下面以Apache 2.2為例,講解如何安裝Apache。具體操作步驟如下。
雙擊Apache安裝程序,打開(kāi)安裝向?qū)g迎界面,單擊Next按鈕,如圖2-20所示。
彈出Apache許可協(xié)議界面,閱讀完后,選中Iaccept the terms in the license agreement單選按鈕,單擊Next按鈕,如圖2-21所示。
圖2-20 歡迎界面 |
圖2-21 Apache許可協(xié)議界面 |
彈出Apache 服務(wù)器注意事項(xiàng)界面,閱讀完成后,單擊Next按鈕,如圖2-22所示。
彈出服務(wù)器信息設(shè)置界面,輸入服務(wù)器的一些基本信息,分別為Network Domain(網(wǎng)絡(luò)域名)、Server Name(服務(wù)器名)、Administrator’s Email Address(管理員信箱)和Apache的工作方式。如果只是在本地計(jì)算機(jī)上使用Apache,前兩項(xiàng)可以輸入“localhost”。工作方式建議選擇第一項(xiàng):針對(duì)所有用戶,工作端口為80,當(dāng)機(jī)器啟動(dòng)時(shí)自動(dòng)啟動(dòng)Apache。單擊Next按鈕,如圖2-23所示。
彈出安裝類型界面,其中Typical為典型安裝,Custom為自定義安裝。默認(rèn)情況下,選擇典型安裝即可,單擊Next按鈕,如圖2-24所示。
彈出安裝路徑選擇界面,單擊Change按鈕,可以重新設(shè)置安裝路徑,本實(shí)例采用默認(rèn)安裝路徑,單擊Next按鈕,如圖2-25所示。
彈出安裝準(zhǔn)備就緒界面,單擊Install按鈕,如圖2-26所示。
系統(tǒng)開(kāi)始自動(dòng)安裝Apache主程序,安裝完成后,彈出提示信息對(duì)話框,單擊Finish按鈕關(guān)閉對(duì)話框,如圖2-27所示。
圖2-22 Apache 服務(wù)器注意事項(xiàng)界面 |
圖2-23 服務(wù)器信息設(shè)置界面 | ||
圖2-24 安裝類型界面 |
圖2-25 安裝路徑選擇界面 |
| |
圖2-26 安裝準(zhǔn)備就緒界面 |
圖2-27 Apache安裝完成 |
| |