發新話題

[教學]PHP討論 » 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>
以下輸出的結果是 &lt;?php echo $today ?&gt; 的簡寫方式<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>
以下輸出的結果是 &lt;?php print $today ?&gt; 的簡寫方式<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;
?>



[ 本帖最後由 philxyz0316 於 2006-8-8 21:50 編輯 ]

TOP

還不賴的基礎課程,PHP很多地方跟簡化的 C 滿像的,
學習上應該可以很快上手。

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。