php w3c

PHP 程式設計初探 - 上課教材

PHP 程式設計初探 > 課程內容 > 第 01 章 - PHP 簡介與初探

第 01 章 - PHP 簡介與初探

上次更新日期 2020/03/05

本系-資訊傳播系-在畢業專案設計時,都會讓所有的組別設計一個動態網站,所謂的『動態』指的不是讓網站的物件變動而已, 而是可以讓網站的內容變動。內容需要變動,那就得要加上資料庫設計才行。而網站連結到資料庫這當中的伺服器網頁程式語言, 有很多種類可以挑選,在台灣,我們經常使用的是 PHP 程式喔!因此,底下我們將會透過 PHP 程式訓練,一項一項慢慢練習學習 PHP。

學習目標:

  1. 了解 PHP 與 HTML 檔案的相關性
  2. 了解 PHP 的基本語法
  3. 了解使用簡單的變數在 PHP 程式碼當中的應用

1.1: PHP 是什麼

在基礎的網站規劃與製作課程中,我們知道 Linux 作業系統、伺服器、伺服器端網頁程式、資料庫、瀏覽器端網頁程式、HTML 與多媒體的相關性, 那個 PHP 指的就是伺服器端的網頁程式!因此,你要學習 PHP 時,就得要架設支援 PHP 的網頁伺服器平台才行。我們這個課程是屬於延續課程, 因此,你得要先查閱一下網站規劃與製作喔!

例題 1.1-1:理解個元件的相依行
  1. 理解 WWW 伺服器/用戶端 (server/client) 與傳輸資料的架構。聽老師講,將底下的元件分別填上所在的位置, 以理解 PHP 這個伺服器端網頁程式語言是作什麼用途的。

PHP 並不像傳統程式語言還需要透過編譯才能執行,而是直接透過直譯式語言,直接撰寫程式碼,然後交給伺服器平台去運作,而無須進行編譯。 所以,PHP 可以直接修改程式碼,並且透過網頁就能直接運行!也因為這樣的特性,因此,你的網頁伺服器就得要支援 PHP 語言後, 你的 PHP 程式碼才能夠正確的運作喔。目前常用的 PHP 版本,有穩定的 PHP5 以及高速運作的 PHP7 兩種, 無論使用那一種,其基本語法都是差不多的。

PHP 怎麼撰寫呢?基本上,你最好直接連線到伺服器,然後透過任何一個純文字編輯器,例如 Linux 上面的 vim 或者是 windows 上面的 notepad++ 等, 當然,你可以使用任何一種連線方式,只要能夠直接編輯網頁上面的文字檔即可。另外,由於 PHP 是伺服器端的網頁程式語言,所以, 你在瀏覽器上面是看不到 PHP 程式碼的!這是因為當你連接到伺服器並且啟動 PHP 指令後,該指令會被伺服器執行, 並且將執行的結果回傳給瀏覽器,因此,瀏覽器只會看到執行後的結果,細節並無法顯示到瀏覽器上!

例題 1.1-2:連上伺服器資源,登入帳號與密碼
  1. 請連結到鳥哥的網頁伺服器繳交作業的網站,請取得 (1)帳號 (2)密碼 (3)連線主機名稱 (3)連線協定 等參數, 並使用 notepad++ 開始透過 ftp 機制連線到作業繳交的網站。
  2. 請在你的 windows 桌面啟動數個軟體:
    1. 啟動一個 chrome 瀏覽器,來展示這個上課的教材網站
    2. 啟動一個 notepad++ 程式編輯器,來登入到伺服器,並且編輯你的 PHP 程式碼檔案
    3. 啟動一個 chrome 瀏覽器,來展示使用 notepad++ 編輯的 PHP 程式,透過網頁執行來查看成果。
    當寫完任何一個程式碼,就到最後一個瀏覽器去查看該結果~這樣才能知道撰寫的最終執行結果喔!

那,為什麼要學習 PHP 呢?其實伺服器端的網頁程式語言還不少,為何我們課程要指定 PHP 來學習?想學什麼?當然就得看市場需求。 我們可以到 w3techs.com 網站去瞧一瞧,目前跟網頁伺服器/用戶端有關的軟體是哪些好了:

在 2020 年的年初,伺服器端的程式語言最大宗還是 PHP (具有 78% 以上),次要的則是 ASP.NET,然後則是 Java!所以, 要學什麼後端程式語言,那還用說?至於用戶端,也就是瀏覽器端使用的程式語言呢?幾乎 95% 以上都是 javascript 了!所以要學什麼, 這就很清楚明白了! ^_^!那如果還想要使用 javascript 的功能,讓前端的畫面變得美美的,目前大家都玩什麼? 你可以看一下上述網站的『 JavaScript Libraries 』部份,前兩大就是 jQuery 與 Bootstrap 囉!所以,這兩個也能玩一玩!

1.2: PHP 程式撰寫方式

就跟我們在網頁規劃與製作的課程中所使用的方式一樣,你需要透過 notepad++ 直接登入伺服器,然後直接在 Server 上面撰寫程式碼! 透過例題 1.1-2 的處理,你應該已經成功的連上了課程所需要的程式撰寫環境。基本上,課程中的所有 PHP 程式,都會被我們寫入到 /www/php 這個目錄下, 以方便管理。現在,就讓我們來處理一下連結到 php 程式碼的首頁吧!

例題 1.2-1:建立首頁 index.html 的連結方式
  1. 先在你的 /www 目錄底下,新建一個名為 php 的目錄;
  2. 打開 /www/index.html 檔案,在清單裡面新建一個連結,就直接連結到 php/ 即可
  3. 新建一個檔名 /www/php/index.php,這個檔案的內容有點像這樣:
    <!doctype html>
    <html  lang="zh-Hant-TW">
    <head>
    	<title>用來學習 PHP 的首頁</title>
    	<meta  charset="utf-8" />
    	<meta  name="author" content="鳥哥" />
    	<link href="overall.css" rel="stylesheet" />
    </head>
    <body>
    
    <ul>
    	<li>姓名:鳥哥</li>
    	<li>學號:A070CXXX</li>
    </ul>
    <p>各個小程式練習的連結</p>
    <ul>
    	<li><a href="unit01-1-1.php">第一個 PHP 程式</li>
    </ul>
    </body>
    </html>
    
  4. 新建一個檔名 /www/php/overall.css,這個檔案的內容有點像這樣:
    body {
    	font-size: 12pt;
    	font-family: 'Times New Roman', '新細明體';
    	margin: 0;
    	padding: 0;
    	line-height: 1.6em;
    	letter-spacing: 0.05em;
    }
    
    .code {
    	width: 80%;
    	margin: 10px;
    	padding: 10px;
    	border: 1px solid black;
    	background-color: lightyellow;
    	color: darkgreen;
    }
    
若順利完成這三個檔案的修改與新建之後,從你個人首頁: http://class.vbird.tw/~your_student_id/ ,就可以直接連結到 php 的首頁! 有點像底下這個圖示:
PHP 網頁的連結與登入首頁

未來將你的 PHP 程式,同樣的一個連結一個連結的貼上去,就可以了!

  • 嵌入式 PHP 的語法

基本上,PHP 的語法與 html 的語法還有點類似,只是將程式碼撰寫到 <?php ... ?> 之間而已~大致上就是這樣寫的:

<?php
	php 程式碼 ;
	php 程式碼 ;
	...;
?>

撰寫 PHP 程式碼的時候,還有一些基本的知識必須要了解喔:

  • 副檔名與撰寫注意事項:
    • 網頁副檔名一定要是 .php 才行!否則我們的網頁伺服器並不會知道那是程式語言;
    • PHP 的程式碼一定要包含在 <?php   xxxxx   ?> 當中,其中 xxxx 就是 PHP 程式碼
    • PHP 與 HTML 可以整合在一起,亦即上述的 <?php xxxxx ?> 可以出現在網頁的任何一個位置上。
  • 程式碼撰寫注意事項:
    • 注意每一行指令結尾必須是分號 (;) 喔!
    • PHP 程式碼的英文是有大小寫區分的,不能搞錯
    • 可以使用『 // 註解內容 』這種方式來增加『單行註解說明』
    • 可以使用『 /* .... */ 』這種方式來增加『數行的註解說明』

先來撰寫一下第一隻 PHP 程式,給個 hello PHP 吧!一般來說,初次接觸程式設計的夥伴,第一隻程式大概就是『指揮程式, 讓程式在螢幕上輸出我需要的文字』,那第一個顯示的文字,通常就是我們的程式語言名稱~因此,就來稱呼為『哈囉,PHP』!

而在 php 程式中,將文字或資料印出到螢幕上面的指令,就是使用 echo (回聲),通常語法就是『 echo '純文字資料' 』。 你會發現 echo 是用單引號將一串資料圈起來!那就來處理處理!

例題 1.2-2:撰寫第一隻 PHP 程式,指揮 PHP 程式從螢幕上輸出我們想要顯示的字串:
  1. 先建立一個新檔案,檔名就稱為 /www/php/unit01-2-2.php,並將底下的程式碼加入到 body 裡面去;
    <?php
    	echo "hello PHP..";
    ?>
    
  2. 在這個程式碼後面,再加一段 html 文字資料,並將 < 的符號改成網頁文字,亦即使用 &lt; 來寫入到網頁中, 這樣的好處是,可以讓我們未來查詢網頁資訊時,可以直接從網頁上看到我們的純文字程式碼 (其實就是網頁,不是程式碼。) 只是依舊需要支援 HTML 的語法產生網頁!不能只有上面 3 行喔!另外,為了查詢自己的語法,將上述的語法安插到底下的 HTML 裡面去:
    <hr />
    <pre class="code">
    &lt;?php
    	將上面的程式碼寫入到這裡!方便比對
    ?&gt;
    </pre>
    
  3. 修改 /www/php/index.php 的內容,修改/增加這一個檔案的連結到清單當中,然後透過瀏覽器直接瀏覽這個網頁。 網頁資料會有點像這樣: hello PHP

你可以自己在網頁上面按下右鍵選擇『檢視原始碼』看看,你可以發現 PHP 的程式碼是不會顯現的,而只是顯示出 echo 後面的字串而已。 這就是你的第一隻 PHP 程式!相當簡單吧!

  • 顯示運算結果

PHP 還可以進行數學運算的!假設上學期你有 5 科成績,要將成績計算平均,那該如何處理?其實同樣透過 echo 來將結果顯示出來即可, 只是,顯示的資料不是字串,而是數值的運算結果。因為是數值,所以不能加上單引號或雙引號!

例題 1.2-3:從螢幕上將運算結果顯示出來
  1. 先建立一個新檔案,檔名就稱為 /www/php/unit01-2-3.php,後續將程式碼寫入 body 當中 (簡單的處理方法是, 請將 unit01-2-2.php 另存新檔成為 unit01-2-3.php,然後將不再需要的部份刪除,再開始處理新程式碼即可);
  2. 假設你的五科成績要計算平均,運算式先以純文字的方式輸出到螢幕,結果是:
    『我的平均成績: (79+85+91+65+88)/5 = 』
  3. 然後將實際的運算結果輸出
  4. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  5. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 顯示運算結果

這就是透過 PHP 進行運算的結果~事實上,PHP 的運算其實還不算太差~鳥哥曾經用 PHP 的網頁運算功能,取代了 excel 的複雜計算~ 甚至可以達到自動化處理的流程~減輕我工作的負擔!相當方便!那麼 PHP 常見的運算式大致上就是四則運算:

  • a + b
  • a - b
  • a * b
  • a / b
  • a % b 這個是取餘數,例如 10 % 3 會得到 1 喔!

大概最後一個是比較特別,大家平時沒有注意到的。好了,現在讓我們繼續來想想,你有沒有想過,我們要去 400m 的操場跑步時,基本上, 所謂的 400m 指的都是最內圈,那麼如果你跑最外圈 (崑山操場最外圈是第 8 跑道),跑完一圈會差多少公尺的距離?

  • 一般來說,每個跑道的寬度大概是 1.22m,而直線區的距離不會變,會改變的當然就是彎道區。
  • 彎道最內圈半徑為 36.8,第二圈則是 36.8 + 1.22 = 38.02 這樣。
  • 由於週長的計算為『 2*pi*r 』,所以差異的距離應該是『 2*pi*r1 - 2*pi*r2 = 2*pi*(r1-r2) 』
    其中 r1, r2 分別是第 1, 2 圈
  • 我們知道每圈距離是 1.22 的差異,所以每圈的距離就會有『 2*pi*1.22 』的距離。
  • https://zh.wikipedia.org/wiki/跑道_(体育)

現在,讓我們來計算每個賽道的長度吧!

例題 1.2-4:計算標準操場的每條跑道應該的距離為多長
  1. 先建立一個新檔案,檔名就稱為 /www/php/unit01-2-4.php,後續將程式碼寫入 body 當中 ;
  2. 第一行顯示:『第 1 跑道距離: 400m 』
  3. 第二行顯示:『第 2 跑道距離: (400m + 2*pi*1.22)m』
  4. 第三行顯示:『第 3 跑道距離: (400m + 2*pi*1.22*2)m 』
  5. 持續顯示到第 8 跑道即可
  6. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  7. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 計算標準賽道

從上面的範例,我們知道幾件事:

  • 單引號或雙引號包含的資料,就是字串。要注意的是,引號要成對!
  • 字串與字串之間可以使用小數點『 . 』進行資料的累加
  • 承上,可以使用小數點『 . 』累加字串與數值,不過累加之後,該資料就會變成字串

另外,與其他程式不一樣的地方是, PHP 所使用的數值加減或之後會提到的變數運作,都不需要事先宣告! PHP 會依據自己的計算判斷,決定該項目是什麼資料型態喔!如果你覺得計算賽道沒啥有趣,那我們來計算屬於你的身體密碼好了! 現代人還挺注意健康的~因此有所謂的 BMI 值,這個 BMI 的公式是這樣的:

  • BMI = W / H2

其中 W 是體重,單位是『公斤』,H 是身高,單位是公尺。因此,當你具有 70 公斤重,且身高為 175 公分,這時你的 BMI 值就是: 70/(1.752), 大約是 22.86 左右。一般成人的 BMI 正常範圍約在 18.5 到 25 之間,亞洲人的體態比較瘦小,因此定義則為 18.5 ~ 24 之間。 現在我們使用 PHP 計算出你的 BMI 值吧!

例題 1.2-5:將 BMI 的結果從螢幕上面運算顯示
  1. 先建立一個新檔案,檔名就稱為 /www/php/unit01-2-5.php,後續將程式碼寫入 body 當中 ;
  2. 第一行輸出:『我的身高: 1.XXm』
  3. 第二行輸出:『我的體重: XX.YYkg』
  4. 第三行輸出:『我的 BMI : xxx.xxx 』
  5. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  6. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 計算 BMI 數值

很簡單的就完成了我們的程式運算!

1.3: 變數與常數的應用

讓我們回到賽道長度計算的那個小題目,當時我們計算的是 400m 的操場,但是,如果我們想要知道的是國小的 200m 的操場、國中與高中 300m 的操場時, 那不是得要將 400 全部重新改成 200 或 300 嘛?要寫好幾行耶~有沒有辦法快速處理?有的!那就是透過變數來搞定即可。 所謂的『變數』,其實就是拿一個『名字』代表某個東西,之後這個『名字』可以在某些地方被呼叫,當它被呼叫時, 它代表的東西就會被使用上。

這個有點像以前國中玩的 y = a*x + b 之類的運算~其中 y 與 x 就是變數,而 a 與 b 則是實際在計算式當中的數值而已。 因此,當你修改了 x 之後,你的 y 就會跟著變的意思。

PHP 作為變數的設定是有一定規則的,大致上的語法是這樣的:

$var = 123;
$var = 1.23;
$var = '我是小小鳥';
$var = "我是小呆瓜";
$var = true;        // 另一個設定就是 false

基本上,等號左邊稱為變數名稱,右邊稱為此變數的內容。變數名稱的命名規則大致上是這樣:

  1. 變數名稱一定以錢字號『 $ 』作為開頭;
  2. 變數的字元組成主要為英文大小寫、數字、底線 (_) 等,盡量不要包含特殊字元,也不要使用中文
  3. 字元組合的第一個字元必須要英文大小寫,或底線,不可以是數字 (所以 $1st, $2nd 不能用)
  4. 字元組合的字元大小寫是不同的,所以 $Var 與 $var 或 $VAR 都是獨立不一樣的變數名稱!
  5. 字元組合的名稱不可以用到 php 保留字,例如 if, and, or, as, do 等等,都不能作為變數名稱
  6. 變數名稱的字數沒有限制,不過盡量不要產生莫名其妙的文字組合,擔心未來不好理解。

PHP 因為程式當中會用到 if 以及 and, or 這些字,因此就不能拿來作為變數設定。PHP 的保留字還不少,可以參考底下的網頁來查閱所有類型的保留字:

現在,讓我們來測試一下如何應用變數到整個程式碼當中吧!

例題 1.3-1:利用變數設定來計算標準操場的每條跑道應該的距離為多長
  1. 將 /www/php/unit01-2-4.php 另存新檔成為 unit01-3-1.php,然後進行修改
  2. 第 1, 2 行設定兩個變數,一個指定為 400 ,另一個指定為 3.14 (就是 pi)
  3. 第 3 行以後,分別顯示『第 1 跑道距離:』連結『 ( $var1 + 2 * $var2 * 1.22 * [0-7]) 這樣
  4. 上面的 $var1 為 400 數值, $var2 則是 3.14 ,[0-7] 指的是第 1 到第 8 跑道要加上的距離
  5. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  6. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 以變數取代來計算標準賽道

同樣的道理,我們也來處理一下 BMI 的計算,可以自行設定身高與體重才合理!

例題 1.3-2:透過變數指定身高體重,將 BMI 的結果從螢幕上面運算顯示
  1. 將 /www/php/unit01-2-5.php 另存新檔成為 unit01-3-2.php,然後進行修改
  2. 第 1, 2 行設定兩個變數,分別是身高與體重
  3. 第 3 行輸出:『我的身高: 1.XXm』
  4. 第 4 行輸出:『我的體重: XX.YYkg』
  5. 第 5 行輸出:『我的 BMI : xxx.xxx 』
  6. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  7. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 以變數取代來計算 BMI 數值

上面的範例鳥哥做了個簡單的差異處理,在第三行的 echo 中,我將純文字與變數寫在一組雙引號裡面,這是沒有問題的! 雙引號可以讓 $var 的變數內容正常呈現,但是單引號則只能進行純文字的處理!例如底下的範例:

例題 1.3-3:討論單引號與雙引號的差異
  1. 將 /www/php/unit01-3-2.php 另存新檔成為 unit01-3-3.php,然後進行修改
  2. 將 3, 4, 5 行程式碼複製,貼成 6, 7, 8 行,並且將雙引號改成單引號;
  3. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  4. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: hello PHP

以最後一行顯示 BMI 的情境來說,因為是直接除,所以原本的雙引號裡面並沒有變數,因此單雙引號就沒有影響。 但是對前兩行來說,單引號就會讓變數名稱變成是一般字元,因此就直接顯示出變數名稱,而不是變數的內容了。所以,在撰寫字串的輸出時, 這點要特別注意。當然啦,如果你都用『 . 』來連結,那就無所謂。

  • 設定常數

有時候,某些數字我們不希望他會被亂用~因為變數的內容是可變動的!擔心未來不小心被我們自己給改掉~所以, 這時候就可以設定不會變動的『常數』資料。上面有沒有可以作為範本的?當然有!那就是 pi 這個數值!通常 pi 簡化為 3.14, 但是如果需要精確一點,就可以寫成 3.14159 。如果要定義常數,例如 mypi 作為 3.14159 的話,可以這樣做:

	define( mypi, 3.14159 );

常數比較特別,不需要錢字號 ($) 在前面,且一經設定,就不能修改。現在,讓我們持續來調查一下賽道的長度吧。

例題 1.3-4:透過不同賽道計散的變數設計,理解常數與變數的差異
  1. 將 /www/php/unit01-3-1.php 另存新檔成為 unit01-3-4.php,然後進行修改
  2. 將第 2 行 $mypi = 3.14 改成常數指定,成為:『 define( mypi, 3.14) 』
  3. 修改第 3 行以後的程式碼,將 $mypi 都拿掉錢字號,只剩下 mypi 而已
  4. 將 $mybasic 到最後一行複製,並貼上最底部,將這部份的 define 這行定義拿掉,並將 400 改成 300,且只剩下 6 跑道的資料
  5. 再一次將 $mybasic 到最後一行複製,並貼上最底部,並將 400 改成 200,且只剩下 5 跑道的資料,且將 mypi 重新指定為 3.14159 (確認是否可行)
  6. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  7. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 了解常數與變數的功能

由這個案例,我們可以理解到,程式碼幾乎不用變,只要修改變數,許多資料就會跟著改變!相當輕鬆愉快! 但是,常數不行~常數一經設定,就不能亂改!這個對於程式撰寫也有很大的幫助!某些我們比較重要的定義,不能亂改的! 就可以透過這個常數的功能來統一指定~也能防止自己阿呆時的錯誤資料填寫!

1.4: PHP 的系統變數與取得用戶變數值

PHP 會有自己與關於 Server 的預設變數,呼叫這些特別變數的方法,需要透過『 $_SERVER['var'] 』的情境來處理, 大寫的部份是固定的,不能變,小寫的部份則是 PHP 提供的某些資訊。常見的 var 有底下這些:

  • PHP_SELF 目前的 PHP 檔名
  • SERVER_NAME 伺服器的名稱
  • REQUEST_METHOD 資料傳遞的方法
  • REMOTE_ADDR 用戶端主機的 IP 位址
  • SCRIPT_FILENAME 檔案在伺服器的實際位置
例題 1.4-1:呼叫 PHP 的系統預設變數內容
  1. 先建立一個新檔案,檔名就稱為 /www/php/unit01-4-1.php,後續將程式碼寫入 body 當中 ;
  2. 以 echo 的方法,將上面五個變數,以類似 $_SERVER['PHP_SELF'] 的方式顯示到螢幕上
  3. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  4. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: hello PHP

基本上, PHP_SELF 與 REMOTE_ADDR 還挺常用的!所以可以稍微記憶一下喔!另外,你也會發現,不同的 IP 位址連線到同一個網頁, PHP 可以透過 REMOTE_ADDR 去知道用戶端的 IP 哩!也就是說,其實用戶端應該是可以傳輸資料給 PHP 的!

  • 使用 GET 方式取得用戶上傳的變數

你可能會發現到,有時候網址列會是這樣:『 http://remote.host.name/somefile.php?var=content 』,亦即是在檔名後面, 先加上問號之後,以變數設定的方式,指定變數與變數值。對!這就是使用 GET 的方式,透過網址,將使用者需要的資料丟到伺服器, 再由伺服器的 PHP 去抓下來處理。

不過,要將變數資料從網址列抓下來,就得要使用一些比較特別的方法。以 GET 的方式來說,如上的變數名稱 var 要抓下來,就得要這樣做:

	$phpvar = $_GET['var'];

那個 $phpvar 是 PHP 裡面再設定一個變數名稱,這個變數名稱也可以跟網頁的變數名稱相同,亦即也能用『 $var = $_GET['var']; 』, 這邊為了幫大家理解,所以就使用不同的變數名稱來介紹。我們同樣以賽道資訊來說明一下,假設操場的賽道標準長度為 400, 300, 200 這三種, 我想要透過設定一個 mybaic 變數,且透過網址列直接傳輸時,就得要透過上述的 $_GET['mybasic'] 來將變數內容抓下來才行。

例題 1.4-2:以 GET 的方法,將變數設定從網址列抓下來
  1. 將 /www/php/unit01-3-4.php 另存新檔成為 unit01-4-2.php,然後進行修改
  2. 將 300 公尺以後的程式碼部份刪除,只保留原本 400 公尺的資料輸出,以及常數的定義。
  3. 將 $mybasic = 400 改成『 $mybasic = $_GET['mybasic']; 』的模樣;
  4. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  5. 這個檔案的執行,應該是『 unit01-4-2.php?mybasic=400 』才對,亦即加上變數與內容。
  6. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 傳輸一個變數

我們要計算 BMI 值的時候,其實是需要兩個變數的,分別是身高與體重。那處理 BMI 的計算,又該如何處理呢?兩個變數的話, 應該要使用『 ?var1=con1&var2=con2 』這樣格式,亦即兩個變數間,使用 & 相連即可喔!

例題 1.4-3:以 GET 的方法,將 2 變數設定從網址列抓下來
  1. 將 /www/php/unit01-3-2.php 另存新檔成為 unit01-4-3.php,然後進行修改
  2. 將前兩行的直接變數設定,改成透過 $_GET 的方式抓下來;
  3. 最終將程式碼寫入到後面的 pre 當中,以備查驗
  4. 這個檔案的執行,應該是『 unit01-4-3.php?myh=175&myw=75 』才對,亦即加上變數與內容。
  5. 在 /www/php/index.php 加入這個程式的連結
完成的結果會有點像這樣: 傳輸 2 個變數

一般人還是習慣使用公分為單位去記憶自己的身高,所以這裡讓使用者輸入的資料就寫為 cm, 而在程式碼當中在除以 100 取得公尺的單位,也是個符合使用者概念的方式!

1.5: 參考資料