1 / 35

Introduction to PHP

Introduction to PHP. 靜態網頁. Step 1 : Client 透過 Internet 向 Web Server 提出瀏覽某個 HTML 檔案的需求。 Step 2 :若 Web Server 上有該網頁的話,便將其內容回傳給 Client 。. 動態網頁. Step 1 : Client 透過 Internet 向 Web Server 提出瀏覽某個 PHP 檔案的需求。 Step 2 : Web Server 會先將其內容轉給 PHP 解譯程式處理。

elaina
Download Presentation

Introduction to PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to PHP

  2. 靜態網頁 • Step 1:Client 透過Internet 向Web Server 提出瀏覽某個HTML 檔案的需求。 • Step 2:若Web Server 上有該網頁的話,便將其內容回傳給Client。

  3. 動態網頁 • Step 1:Client 透過Internet 向Web Server 提出瀏覽某個PHP 檔案的需求。 • Step 2:Web Server 會先將其內容轉給PHP解譯程式處理。 • Step 3:處理過程中,可搭配Database 共同作業(讀取/寫入資料)。 • Step 4:然後再將處理過的內容回傳給Web Server。 • Step 5:Web Server再將其回傳給Client。

  4. 什麼是PHP? • PHP原名為Personal Home Page,PHP3之後改名為Hypertext Preprocessor 。 • PHP可嵌入HTML之中,彌補純HTML 碼無法進行運算處理的缺憾,為目前廣泛運用在網頁程式撰寫的語言之ㄧ。 • 語法結構和C/C++、Java等語法相似。

  5. 什麼是PHP? • *.html 的網頁會被Web Server 直接送出;*. php的網頁會先經PHP解譯程式處理後再送出。 • 即使網頁含有PHP 程式碼,經處理之後輸出到使用者的頁面也只會只剩下HTML 碼;原始內容可以受到保護(不被竊取),使用者也無須安裝PHP軟體。 • 任何的*.php檔皆是透過Server端的php.exe來解譯程式碼。

  6. HTML語法

  7. HTML語法

  8. 初探PHP • PHP開頭範圍標籤 <?php PHP語法 ?> <? PHP語法 ?> • 副檔名必為.php 經過php.exe的處理後, 會產生給client的網頁符合HTML語法 <html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!"; ?> </body> </html> 將php語法寫在php標籤裡, 如此一來, php.exe就知道要處理這段程式 <html> <head> <title>Example</title> </head> <body> Hi, I'm a PHP script! </body> </html>

  9. 初探PHP • 註解方式 /*註解*/ //註解 • PHP語法不一定要寫在HTML語法中,可以在上面、下面、獨立一份文件。 • 一個程式敘述結束時要有;

  10. PHP變數與資料型態 • PHP主要有以下四種變數類型: • 整數(integer) • 浮點數(float) • 布林(boolean) • 字串(string) • 定義變數的方式是變數名稱前面加個$即可使用。 • 變數名稱格式必須以英文字母或底線作為開頭。 • 變數有分大小寫

  11. PHP變數與資料型態

  12. PHP變數與資料型態 • 使用PHP變數不需預先宣告變數及資料型態。 • 給予變數值後,PHP會依照所給定的值自動定義型態

  13. PHP變數與資料型態 • 變數的運算

  14. 簡單練習PHP變數 PHP原始碼 <?php $pi=3.14; $area=$pi*5*5; //計算半徑為5的圓面積 echo "半徑為5的圓面積為$area<br>" ?> 傳回來的html原始碼 半徑為5的圓面積為78.5<br> 顯示的結果為

  15. PHP流程控制 PHP原始碼 <?php $a=0; if($a>10){ echo "if"; } elseif($a==10){ echo "elseif"; } else{ echo "else"; } ?> • if(條件1) { 條件1成立便執行此段程式; } elseif(條件2) { 條件2成立便執行此段程式; } else { 以上條件皆不成立則執行此段程式; } 在瀏覽器顯示 else

  16. PHP流程控制 • while(條件) { 條件成立便一直重複執行此段程式;直到條件不成立為止; } 在瀏覽器顯示 0 1 2 3 4 5 6 7 8 9 PHP原始碼 <?php $a=0; while($a<10){ echo "$a<br>"; $a++; } ?>

  17. PHP流程控制 • for(初始值; 條件; 間隔) { 當條件成立便執行此段程式;直到條件不成立為止; } 在瀏覽器顯示 PHP原始碼 0 1 2 3 4 5 6 7 8 9 <?php for($a=0;$a<10;$a++){ echo "$a<br>"; } ?>

  18. PHP流程控制 PHP原始碼 <?php $a=0; switch($a){ case 0: echo "0"; break; case 1: echo "1"; break; default: echo "x"; break; } ?> • switch(條件) { case 條件1: 若條件等於條件1則執行此段程式; break; case 條件2: 若條件等於條件2 則執行此段程式; break; default: 若無相同條件則執行此段程式; break; } 瀏覽器顯示 0

  19. 傳遞資料 • 現在的網頁不單單只是單向的顯示網頁給使用者端, 更可以和使用者作互動 • Ex: Google搜尋引擎 • 因此需要製作一個使用者介面讓使用者可以輸入的動作 • 使用HTML來設計一個輸入的介面 • 表單(Form) • Web server必須也要有個相對應的程式可以處理使用者輸入的資料, 並給予適當的回應

  20. 表單(Form) • 先定義出一個表單, 在表單裡面可以有很多輸入欄位 • 文字欄位(Text), 密碼欄位(Password), 單一選擇鈕(Radio), 多重選擇鈕(Check Box), 文字區塊:可輸入大量文字(Text Area) • 會一次將一個表單裡面所有的輸入欄位送給web server

  21. 表單(Form) • 表單的傳送方式有GET和POST • GET:最大長度為255 ,會於網址尾端加上?變數名稱1=值&變數名稱2=值…。http;//localhost/get.php?a=1&b=2 • POST:所傳訊息不會顯示,資料長度無限制。(伺服器的php還是會設定一限制) 當資料傳送到server後, 由哪個php程式來處理這些資料 選擇要使用GET或POST方式傳送資料

  22. 使用KompoZer製作表單 先定義出一個表單

  23. 定義表單 幫這個表單取個名字 使用哪個php來處理資料 選擇用GET或者是POST來傳送資料, 在這裡先選GET

  24. 定義表單欄位 按下Submit Button就會把資料送出 Text Area可提供大量文字輸入, 如:留言板 常用的表單欄位都在Form Field裡

  25. Text欄位 虛線範圍內即代表表單的內容範圍 欄位的名稱最好使用英文 將姓名的Text欄位取名為name, 之後傳送給server, name=John (假設輸入名字為John)

  26. Check Box欄位 如果勾選是本系學生, 送給server的資料為check=on

  27. Radio Button欄位 因為Radio Button只能選擇其中一個, 所以他是一個Group具有多個選項, 所以同屬一個Group必須使用相同的Group Name 如果選擇性別為男, 則送出的資料為sex=boy

  28. Text Area欄位 Text Area可讓使用者輸入大量文字 定義Text Are的大小 假設在TextArea輸入Hello World, 則送給server的資料為Message=Hello+World

  29. Submit Button欄位 • 更詳細的網頁製作 按下Submit Button即代表將表單資料送出 Field Value的值會被顯示在button上

  30. 送出的資料為 http://pads8.cs.nthu.edu.tw:8000/get.php?key=John&check=on&sex=boy&Message=Hello+World&submit=submit

  31. PHP程式如何處理GET的資料 • 使用GET傳到PHP的變數會存在一個名為$_GET的變數中,而這一個變數是一個陣列 • http;//localhost/get.php?a=1&b=2則用$_GET[‘a’]; $_GET[‘b’]; 來接收資料

  32. 範例 使用PHP程式來處理資料 使用GET送出的資料 <?php $name=$_GET['name']; $sex=$_GET['sex']; $check=$_GET['check']; echo $name; echo "性別是$sex<br>"; if (strcmp("on",$check)==0){ echo "就讀本系"; } else{ echo "不是本系學生"; } ?> http://pads8.cs.nthu.edu.tw:8000/get.php?key=John&check=on&sex=boy&Message=Hello+World&submit=submit 和PHP的String變數有關的function

  33. 今日練習 • 製作披薩訂單網頁 • 假設店裡只有三種披薩, 且一個訂單只能選擇其中一種披薩 • 如果訂購金額超過400元, 則不需外送費用; 若沒超過400, 需加收外送費用50元 • 請印出顧客此次消費的總金額

  34. Reference • PHP5網管實驗室 • http://www.php5.idv.tw/html.php?mod=article&act=index&cid=3 • CGI程式入門 • http://ind.ntou.edu.tw/~dada/cgi/CGIprog.htm • “PHP入門教學”,Little Chen, 虎尾科技大學資訊工程系 • http://www.csie.nfu.edu.tw/phpBB2/download.php?id=1732&sid=2831850096e414beadd50967981c2536 • PHP程式設計講義 • http://km.tceb.edu.tw/~wsx/php/index.htm

More Related