![FS480-ch03.ppt_第1頁](http://file1.renrendoc.com/fileroot2/2020-1/17/94ebe37d-d962-4b83-834f-7544d6cd1dd0/94ebe37d-d962-4b83-834f-7544d6cd1dd01.gif)
![FS480-ch03.ppt_第2頁](http://file1.renrendoc.com/fileroot2/2020-1/17/94ebe37d-d962-4b83-834f-7544d6cd1dd0/94ebe37d-d962-4b83-834f-7544d6cd1dd02.gif)
![FS480-ch03.ppt_第3頁](http://file1.renrendoc.com/fileroot2/2020-1/17/94ebe37d-d962-4b83-834f-7544d6cd1dd0/94ebe37d-d962-4b83-834f-7544d6cd1dd03.gif)
![FS480-ch03.ppt_第4頁](http://file1.renrendoc.com/fileroot2/2020-1/17/94ebe37d-d962-4b83-834f-7544d6cd1dd0/94ebe37d-d962-4b83-834f-7544d6cd1dd04.gif)
![FS480-ch03.ppt_第5頁](http://file1.renrendoc.com/fileroot2/2020-1/17/94ebe37d-d962-4b83-834f-7544d6cd1dd0/94ebe37d-d962-4b83-834f-7544d6cd1dd05.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PHP 入門,第 3 章,2,本章重點,3 - 1 撰寫第一個 PHP 網頁 3 - 2 結合 PHP 與 HTML 3 - 3 PHP 的錯誤訊息,3,PHP 入門,在電腦上裝妥 WAMP5 或其它可執(zhí)行 PHP 的伺服器環(huán)境後, 就可以開始學習使用 PHP 語法設計動態(tài)網頁。 本章將先介紹 PHP 網頁的基本觀念, 說明如何結合 PHP 語法及 HTML 標籤製作網頁。,4,3 - 1 撰寫第一個 PHP 網頁,PHP 屬於內嵌式的動態(tài)網頁設計方式, 亦即 PHP 的程式是與網頁的 HTML 標籤混合於同一個檔案中。 回顧一下第 1 章介紹的 PHP 運作方式, PHP 網頁在伺服器上是經
2、過 PHP 語法解析程式解譯並執(zhí)行後, 伺服器再將 PHP 輸出的 HTML 網頁傳給用戶端。 通常伺服器預設副檔名 .php 的檔案便是 PHP 網頁, 所以連線 .php 的檔案時, 會先由伺服器執(zhí)行後才會輸出給使用者。,5,撰寫第一個 PHP 網頁,我們稍後編寫 PHP 網頁時, 就會以 .php 為副檔名, 放在伺服器的資料夾中 (例如 WAMP5 的 c:wampwww)。 之後當我們由瀏覽器開啟 http:/localhost/XXX.php 的檔案時, 伺服器就會啟動 PHP 語法解析程式來解譯執(zhí)行, 然後將結果傳送到瀏覽器。,6,PHP 標籤,PHP 網頁和 HTML 文件類似
3、, 要使用標籤來標示程式的內容。 PHP 的起始標籤為, 在標籤之間, 要放的就是 PHP 的程式碼內容:,7,其它 PHP 標籤寫法,PHP 標籤的起始標籤與結束標籤寫法其實共有 4 種, 本書建議使用前面介紹的 標籤。 不過您可能會在他人的 PHP 程式中看到其他標籤, 所以概略介紹如下:,8,其它 PHP 標籤寫法,上表所列第 2 種寫法, 又稱為短標籤(short tag), 此語法預設並未被開啟。 再加上短標籤的寫法與 XML 文件宣告形式相衝突, 因此不建議使用。 至於第 3 種標籤其實是借用 HTML 的 標籤, 來標示 PHP 程式的內容。,9,其它 PHP 標籤寫法,雖然預設
4、是可使用, 但由於其用法較特殊, 除非您所用的編輯器只能辨識 HTML / XHTML 語法, 否則並不建議使用。 第 4 種則是與 ASP 相同的標籤, 這是為了讓 ASP 使用者容易上手而提供的, 一般不建議使用。,10,PHP 指令,PHP 程式是以指令(Instruction) 為執(zhí)行的單位 (相當於一般程式語言的敘述), 每一個 PHP 指令的結尾都必須加上分號 (;), 以下我們就來撰寫一個最陽春的 PHP 網頁: 請將這個檔案儲存於 c:wampwwwCh03, 然後由瀏覽器開啟 http:/localhost/Ch03/Ch03-01.php, 就可以看到這個 PHP 網頁的輸
5、出內容。,11,PHP 指令,12,PHP 指令,在範例網頁中只有一個 PHP 指令, 即呼叫內建的 phpinfo() 函式 (function)。 此函式的功能即是輸出一份伺服器目前 PHP 組態(tài)的資訊網頁, 由此網頁我們可瞭解伺服器的各項 PHP 設定值, 這些設定值常常會影響 PHP 網頁的執(zhí)行結果。 所以若網頁執(zhí)行不正確, 但是程式語法又沒問題, 便可利用此函式來檢查是否有什麼設定值, 影響了執(zhí)行結果。,13,PHP 的程式格式,PHP 是自由格式 (Free Form) 的語言, 撰寫時未規(guī)定每一個指令要寫成一行。 亦即只要有正確地為每個指令用分號做結束, 可以將好幾個指令寫在同一
6、行, 或者也可以將一個指令分開寫成好幾行。 但為方便閱讀, 通常都會用一行一個指令的方式撰寫。 以下就是一個兩行指令的程式。,14,PHP 的程式格式,執(zhí)行結果:,15,PHP 的程式格式,這個範例程式使用了另一個 PHP 指令:echo, 這個指令的功能是將後面的字串輸出成網頁的一部份。 在 PHP 中, 字串必須使用雙引號 或單引號 括住。 下面是此範例程式運作的示意圖:,16,PHP 的程式格式,讀者可能會疑惑:我們不是用兩行指令來輸出, 為什麼瀏覽的結果變成一行? 這可分為兩方面解釋: PHP 的輸出並無換行的觀念, 如果輸出的結果要換行, 必須自行輸出換行字元。 瀏覽器在瀏覽網頁時,
7、 文字要換行必須以相關的 HTML 標籤來控制, 例如用 換行、用 標示段落等。 此外調整瀏覽器視窗的寬度時, 瀏覽器也會自行替同一段文字調整換行位置。,17,PHP 的程式格式,簡單的說, 要讓 PHP 輸出的文字在瀏覽器中會換行, 必須自行輸出有換行效果的 HTML 標籤。 例如上例中的程式若如下修改: 則輸出的內容就變成 Hello, This is a test., 在瀏覽器就會因 標籤而使文字分成 2 行顯示。,18,註解,撰寫程式時, 免不了要加上供程式設計或維護人員參考的註解文字。 這些註解文字雖然參雜在程式碼之中, 但並非 PHP 指令, 所以要以如下的語法表示, 讓 PHP
8、解譯器會避開這些註解文字, 不予處理。 PHP 一共支援 3 種不同的註解表示方式。 使用 / 這是最簡便的寫法。,19,註解,只要 / 不是出現在標示字串的引號中, 從 / 之後到該行結束為止, 所有的文字都會被視為註解: 使用 /*. */ 如果有多行文字都是註解, 使用 / 必須每一行都標示, 較不方便。 此時可改用 /* . */ 的標示法, 不管間隔幾行, 凡是在 /* 和 */ 之間的內容都會被視為註解。,20,註解,使用 # 井字號的功能和雙斜線相似, 都是讓其後的文字成為註解, 效力至該行結束為止。,21,3 - 2 結合 PHP 與 HTML,上面的例子雖然簡單, 但卻不是典
9、型的 PHP 網頁, 大部份的 PHP 網頁就如本章開頭所述, 是 PHP 程式內嵌於 HTML 網頁中。 因此通常 PHP 標籤、程式碼, 是和網頁內容交錯出現的, 以下就是一個簡單的 PHP 網頁:,22,結合 PHP 與 HTML,執(zhí)行結果:,23,結合 PHP 與 HTML,PHP 語法解析程式在解讀 .php 檔的內容時, 只會執(zhí)行放在 PHP 標籤中的程式內容。 檔案中若有其它內容 (例如 HTML 標籤及網頁文字等) 則保持不動, 而 PHP 程式的執(zhí)行結果加上其它 HTML 的內容, 即是最後送給使用者的網頁內容。,24,結合 PHP 與 HTML,所以上面 PHP 網頁的執(zhí)行
10、示意圖如下: 在瀏覽器視窗中按滑鼠右鈕, 執(zhí)行檢視原始檔命令, 就會看到實際上瀏覽器接收到的執(zhí)行結果。,25,結合 PHP 與 HTML,26,由 PHP 輸出 HTML 語法,在剛才的範例中, 我們用 echo 輸出字串。由於 HTML 標籤也是文字, 所以用 echo 輸出 HTML 標籤也不是問題。 例如我們可將上一個範例寫成:,27,由 PHP 輸出 HTML 語法,執(zhí)行結果:,28,由 PHP 輸出 HTML 語法,在這個範例中, 原始碼 A 處用 PHP 標籤括起來, 分別用兩行 echo 指令, 輸出帶有 HTML 標籤的文字, 其執(zhí)行示意圖如下:,29,由 PHP 輸出 HTM
11、L 語法,由於 PHP 程式可輸出文字字串, 因此也有些程式設計者, 會如上面的例子, 將網頁中 . 內的所有內容、或甚至連 和 等標籤, 都用 PHP 來輸出。 然而將 HTML 標籤以 PHP 程式輸出有一項缺點:因為控制網頁編排的 HTML 標籤、乃至 CSS 樣式表和 PHP 程式混雜在一起, 將造成要修改網頁的編排時較不方便。,30,由 PHP 輸出 HTML 語法,而且分工較細的組織, 網頁外觀設計的是專業(yè)美術設計的人員、撰寫 PHP 程式的是程式設計人員, 在這種分工的環(huán)境, 更不適合使用 PHP / HTML 混在一起的設計方式。 以範例 Ch03-03.php 的寫法, 讓
12、HTML 和 PHP 分工, 各自負責不同的部份, 讓 PHP 只負責有必要由程式控制的部份, 大體而言是較實用的網頁設計方式。,31,由 PHP 輸出 HTML 語法,當然, 適時地以 PHP 輸出部份 HTML 也有其彈性與方便性。 本書的範例會儘量採用讓 HTML 和 PHP 分工的方式, 但視需要, 也會以使用 PHP 輸出 HTML 標籤為輔, 讀者可依個人需求及程式需要選擇較合適的設計方式。,32,網頁編碼,本書所有程式檔案, 均採用萬國碼 (Unicode) 存檔, 因此為方便瀏覽器辨識, 都會在網頁開頭的 段落中, 用如下的標籤標註網頁所使用的編碼: 若不加上列的標籤, 瀏覽器
13、可能會以錯誤的編碼來解讀、顯示網頁, 造成顯示出來的網頁文字變成亂碼。 除使用上列標籤外, 亦可使用如下的 PHP 程式輸出網頁的編碼資訊。,33,網頁編碼,header() 是一個 PHP 函式, 其功能是設定 HTTP 通訊時的表頭資訊。 上列即是設定要送出資料為文字網頁 (text / html), 編碼為 utf-8的表頭資訊, 其效果和前面使用 標籤相同。 後續(xù)章節(jié)中一些簡單的範例, 都會用此方式輸出網頁編碼資訊。,34,3 - 3 PHP 的錯誤訊息,初學任一項程式語言時, 難免會因手誤而造成程式錯誤, 此時 PHP 便會輸出錯誤訊息 (Error Message)。 本節(jié)我們將介
14、紹 PHP 的錯誤訊息, 以及如何借其來排除程式中的問題 (也就是一般所說的除錯)。,35,語法錯誤,PHP 在執(zhí)行程式時, 若發(fā)現程式的語法有問題 (如指令結尾沒有加分號、缺少一個引號), 即會停止解譯、執(zhí)行程式, 並將有問題的那一行、及相關資訊顯示出來。 這種錯誤稱為語法錯誤 (Syntax Error), 在 PHP 中亦稱為解析錯誤 (Parse Error), 例如以下即是一個有語法錯誤的程式:,36,語法錯誤,執(zhí)行結果:,37,語法錯誤,第 2 行指令結尾未加上分號, 使 PHP 以為指令尚未結束, 而要接著下一行。 但此時卻跑出來另一個 echo 指令, 所以顯示的訊息為 une
15、xpected T_ECHO., 且指出有問題在第 3 行 (然而實際上要改的是第 2 行)。 因此當您遇到類似的訊息是, 不妨在訊息所示的行號前後, 都檢查一下, 看是不是哪邊少打了一個分號、漏一個單引號等。,38,執(zhí)行時期錯誤,語法錯誤是 PHP 在解析程式語法時, 所遇到的問題, 所以稱為解析時期錯誤 (Parse-time Error)。 如果程式語法都正確, 在執(zhí)行時卻發(fā)生問題, 例如存取資料庫時發(fā)現無法連線、要開啟檔案但檔案卻不存在.等, 此類錯誤稱為執(zhí)行時期錯誤 (Run-time Error)。,39,執(zhí)行時期錯誤,舉例來說, 我們再將前述的範例略做修改, 補上應有的分號, 但刪除 header() 括號中的內容。,40,執(zhí)行時期錯誤,執(zhí)行結果:,41,執(zhí)行時期錯誤,上例中由於 header() 的用法不正確 (但單純語法檢查沒有問題, 所以程式仍會被執(zhí)行), 所以在執(zhí)行時期, 出現 PHP 的警告 (Warning) 訊息。,42,控制錯誤訊息,語法錯誤在程式一執(zhí)行時就會產生, 所以通常會在程式開發(fā)的階段就發(fā)現並且修正。 執(zhí)行時期錯誤則有可能只會發(fā)生在特定的狀況下, 例如資料庫伺服器當機, 存取資料庫的程式才會發(fā)生執(zhí)行時期錯誤。 當錯誤發(fā)生時, 伺服器會將錯誤訊息直接輸出給使用者。 這些錯誤訊息的目的是提供除錯的資訊, 所以錯誤訊息通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學六年級口算題卡
- 小學六年級800道數學口算題
- 2025年沈陽貨運從業(yè)資格試題及答案詳解
- 2025年太原貨車從業(yè)資格證答題技巧
- 監(jiān)控錄像管理協(xié)議書(2篇)
- 2024-2025學年高中地理課時分層作業(yè)13噪聲污染及其防治含解析湘教版選修6
- 2024-2025學年八年級數學上冊第十一章三角形11.2與三角形有關的角作業(yè)設計新版新人教版
- 人事行政助理年終工作總結
- 公司辦公室工作總結
- 人力資源部年度個人工作計劃
- 2024年疾控中心支部工作計劃范本
- 《無菌檢查培訓》課件
- 2024-2030年中國香菇行業(yè)銷售狀況及供需前景預測報告
- 2024年廣東省公務員錄用考試《行測》真題及解析
- 幼兒園開學師德培訓
- GB/T 44570-2024塑料制品聚碳酸酯板材
- GB/T 12723-2024單位產品能源消耗限額編制通則
- 金蛇納瑞2025年公司年會通知模板
- 《記念劉和珍君》課件
- 北京市城市管理委員會直屬事業(yè)單位公開招聘10人高頻難、易錯點500題模擬試題附帶答案詳解
- 禁止送禮的協(xié)議書
評論
0/150
提交評論