122052981
|
分享:
x0
|
[PHP][教學] [轉貼]PHP基礎入門
PHP基礎入門
PHP程式語言基本注意事項: --------------------------------------------------------------------------------
一、Web Server 如何分辨PHP的檔案與HTML檔案: 要讓Web Server 能執行文件中的PHP程式碼,文件的副檔名,必須是 .php或 .phtml。如果要使用其他檔名,請參考各Web Server的設定。
二、程式碼區域的開始與結束: PHP的優點之一,就是可以和HTML碼混合在一起。但是為了讓Web Server能區分出 PHP的程式碼與HTML碼,所以,在每段PHP程式碼的開頭必須加入<?php,在結尾的地方加?>
命令句:
在PHP中,每一個命令句必須以分號;作結束。
四、變數: 變數是用來儲存程式執行時的暫存資料。在PHP中,變數之前必需加 $ 的符號。另外,PHP的大小寫是有差別的,所以在使用變數時,須注意大小寫是否一致。PHP是屬於 weakly typed的程式語言,對資料型態的規範較鬆,可以不先經宣告變數,就可以直接使用。好處是,程式寫起來比較方便,壞處是,程式出問題時,比較難找出錯誤。
五、程式註解:
PHP的程式註解符號,與C++,Java一樣,單行的註解使用 //。// 之後同一行所有的文字,在執行時都會被乎略。若要使用多行的註解時,可以使用 /* 和 */的註解符號。自/*開始到*/之間的所有文字,在執行時都會被乎略。
-------------------------------------------------------------------------------- PHP 的輸出: --------------------------------------------------------------------------------
一、echo 與 print的使用: 要列印輸出程式的運算結果時,可以使用echo(PHP的語言結構)或 print(函數)。以下以實例分別示範echo和 print的用法。理論上,使用echo會比print略有效率。
二、echo.php:
使用 echo 輸出: <br> 這裡的文字, Web Server不會作任何處理, 直接輸出<hr> <? echo("有括弧的<br>");
echo "沒括弧的<hr>";
$today = date("Y年m月d日"); //把呼叫 date函數所得的值, 設定給 $today變數
echo <<<END 這鍋使用 "here document" 語法來輸出"一狗票"文字, <br> 所有用 here document的方式輸出的文字, <br> 都可以完整的保留下來, <br> 變數在這裡"也"可以被替換, <br> 今天: $today<br> END; ?> <hr>上面的文字, 是執行過PHP程式所得的輸出結果<br> 這裡的文字, Web Server不會作任何處理, 直接輸出<hr> 以下輸出的結果是 <?php echo $today ?> 的簡寫方式<br> <?=$today?> <hr>
三、print.php: 使用 print 輸出: <br> 這裡的文字, Web Server不會作任何處理, 直接輸出<hr> <? print("有括弧的<br>");
print "沒括弧的<hr>";
$today = date("Y年m月d日"); //把呼叫 date函數所得的值, 設定給 $today變數
print <<<END 這鍋使用 "here document" 語法來輸出"一狗票"文字, <br> 所有用 here document的方式輸出的文字, <br> 都可以完整的保留下來, <br> 變數在這裡"也"可以被替換, <br> 今天: $today<br> END; ?> <hr>上面的文字, 是執行過PHP程式所得的輸出結果<br> 這裡的文字, Web Server不會作任何處理, 直接輸出<hr> 以下輸出的結果是 <?php print $today ?> 的簡寫方式<br> <?=$today?> <hr>
-------------------------------------------------------------------------------- Web的表單處理: --------------------------------------------------------------------------------
以上我們學到的是,使用PHP來輸出程式運算的結果。接下來我們要學習如何,處理表單所傳遞過來的資料。 一、102_form1.php: <html> <FORM METHOD=POST ACTION=""> 帳號: <INPUT TYPE="text" NAME="account"><BR> 密碼: <INPUT TYPE="text" NAME="password"><BR> <INPUT TYPE="submit" value="送出"></FORM> <HR> 你輸入的帳號: <?=$_POST[account]?> <BR> 你輸入的姓名: <?=$_POST[password]?>
<HR>
</html>
程式說明: 在102_form1.php中,我們使用簡寫的方式,把PHP碼內嵌到HTML碼中。 表單所傳遞過來的資料,會按照HTML表單物件的名稱,成為PHP可以讀取的變數。如 :<INPUT TYPE="text" NAME="account"> 這個文字欄位,NAME屬性的值是account。所以,要讀取這個欄位的值,只要使用$account這個變數即可。
練習題: 把 102_form1.php存成 102_form2.php,中的 Form Method=Post 改為 Form Method=Get,並觀察網址列的變化。 在瀏覽器中輸入http://www.igt.com.tw/~lib13/102_form1.php?account=abc&password=567,並觀察網頁輸出的結果。 在瀏覽器中輸入http://www.igt.com.tw/~lib13/102_form2.php?account=efg&password=987,並觀察網頁輸出的結果。
二、使用 if-elseif-else的結構: 1. 102_login.html <html> <FORM METHOD=POST ACTION="102_auth.php"> 帳號: <INPUT TYPE="text" NAME="account"><BR> 密碼: <INPUT TYPE="text" NAME="password"><BR> <INPUT TYPE="submit" value="送出"> </FORM> </html>
2. 102_auth.php <?php if($account == "lord" && $password == "pass"){ echo "歡迎 $_POST[account], 你的密碼是 $_POST[password]"; }elseif($_POST[account] == "god" && $_POST[password] == "dog"){ $y = date("Y") - 1911; $m = date("m"); $d = date("d"); echo "歡迎 $_POST[account], 今天是民國".$y."年".$m."月".$d."日"; }else{ echo "登入失敗:<hr> 輸入的資料:<br>帳號: $_POST[account] <br>密碼: $_POST[password]"; } ?>
三、簡單的數學運算: 1. 102_rect.html <html> <FORM METHOD=POST ACTION="102_rect.php"> 高: <INPUT TYPE="text" NAME="h"><BR> 寬: <INPUT TYPE="text" NAME="w"><BR> <INPUT TYPE="submit" value="送出"> </FORM> </html>
2. 102_rect.php <?php $area = $_POST[w] * $_POST[h];$para = 2 * ($_POST[w] + $_POST[h]); echo <<<END <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=big5"> </head>
<body> <table width="61" border="0"> <tr> <td width="36">高</td> <td width="15">$_POST[h]</td> </tr> <tr> <td>寬</td> <td>$_POST[w]</td> </tr> <tr> <td>面積</td> <td>$area</td> </tr> <tr> <td>周長</td> <td>$para</td> </tr> </table> </body> </html> END; ?>
四、簡單的比較運算: 1. 102_comp.html
<html> <FORM METHOD=POST ACTION="102_comp.php"> n1: <INPUT TYPE="text" NAME="n1"><BR> n2: <INPUT TYPE="text" NAME="n2"><BR> <INPUT TYPE="submit" value="送出"> </FORM> </html>
2. 102_comp.php <?php if($_POST[n1] > $_POST[n2]){ $result = "$_POST[n1] 大於 $_POST[n2]"; }elseif($_POST[n1] < $_POST[n2]){ $result = "$_POST[n1] 小於 $_POST[n2]"; }else{ $result = "$_POST[n1] 等於 $_POST[n2]"; } echo <<<END <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=big5"> </head>
<body> <table border="0"> <tr> <td width="36">n1</td> <td width="15">$_POST[n1]</td> </tr> <tr> <td>n2</td> <td>$_POST[n2]</td> </tr> <tr> <td>結果</td> <td>$result</td> </tr> </table> </body> </html> END; ?>
|