線上書籍

Home

[1002] PHP入門班

一、 請善用註解(不管新手或老鳥)

  1. //這是PHP單行註解,自己一行,或者放在程式後面都可以
  2. /* 這是PHP多行註解,中間可以有很多行 */
  3. <!-- 這是 HTML 的註解,別搞混了 -->
  4. 把註解變成手冊

二、 PHP變數(用來暫時存放資料的東西...)

  1. PHP變數命名原則:以「$」為開頭,第一個字元只能是以英文(a-z或A-Z)或底線(_),數字是不能當作第一個字元的。
  2. 變數名稱是有大小寫之分的,例如$name、$Name和$NAME是完全不一樣的!
  3. 盡量使用有意義的變數名稱,$name絕對比$aaa來的好!
  4. $name="Tad"; //把tad字串指派給$name,其中=是「指定運算元」

三、 PHP變數範圍

  1. PHP變數只活在自己的檔案中,而且是暢行無阻的!(遇到函數或物件除外)
  2. PHP變數以最後指定的值為主,可以隨時重新指定其值。

四、 PHP可變變數

  1. $$name 這種寫法叫做可變變數。

五、 PHP的外部變數(來自外面的變數,或說變數的傳遞)

  1. 來自表單:端視<form>使用的method為何,預設為get,但一般建議用post。
  2. get傳輸:http://action指定網址?var1=val1&var2=val2&var3=val3...
    • (1)  會得到$_GET['var1']的變數其值為val1、$_GET['var2']其值為val2...
    • (2)  表單中有非 ASCII字元(如:上傳)或者值超過100字元時,get就不適用了。
  3. post傳輸:會在背景執行,沒有字數限制,二進位資料也可以傳。
    • (1)  會得到$_POST['var1']的變數,其值為val1,依此類推。
  4. <input name="my.id">PHP會接收到:$_POST['my_id'](. 自動變成 _)。
    • (1)  $_REQUEST['var'] 可以接來自get、post、cookie方法傳來的變數。

六、 PHP 的超級全域變數(superglobals)

  1. 以「陣列」方式存在,超級全域變數可在任何地方被拿來使用(包括函數內)。
  2. $_SERVER:環境變數,可用phpinfo()觀察之,例如取得使用者來源IP
  3. $_GET、$_POST、$_REQUEST:來自表單的變數。
  4. $_COOKIE:給cookie用的全域變數,cookie是存在使用者電腦的一個小檔案
  5. $_SESSION:給session的全域變數,session是存在伺服器中的一個小檔案
  6. $_FILES:上傳檔案時會用到的超級全域變數。

七、 PHP常數:define("常數名稱","常數值");

  1. 先定義先贏,後面定義的無效。
  2. 常數可任意使用在任何地方,包括函數內、物件內。
  3. 常數名稱和變數遵循同樣的命名規則,其值只能是字串、數字、浮點數和布林值。
  4. 常數有分大小寫,通常習慣將常數名稱用大寫英文,最前面加上底線,以方便辨識。
  5. PHP有預先定義好一些常數:
    • (1)  __LINE__:傳回目前在檔案中的行數位置(或者說,此常數的所在行數)
    • (2)  __FILE__:傳回此常數所在檔案的完整路徑及檔案名稱。
    • (3)  __FUNCTION__:此常數會傳回函數名稱,php5有分大小寫,PHP4則均小寫。
    • (4)  __CLASS__:此常數會傳回該物件名稱,php5有分大小寫,PHP4則均小寫。
    • (5)  __METHOD__:傳回該物件方法的名稱。
 八、練習
  1. 請根據講義「班級資料表」,設計一個add_class.php檔案,讓工作人員可以輸入班級資料。
  2. 表單的action請設定至save_class.php
  3. 輸入元件的name請參考講義上「欄位」名稱