210 likes | 441 Views
PHP 程式設計教學分享. 羅東高中邱柏翰 bohann@ltsh.ilc.edu.tw. 報告內容. 專題設計 軟體工具 建議. 專題設計 -- 線上班級便當登記系統. 專題畫面( 1/5 ). 練習取得表單變數 練習「查詢」語法,判斷帳號密碼 $sqlstr=" SELECT * FROM user WHERE id='$id' AND password='$password'";. 專題畫面( 2/5 ). 練習「查詢」資料庫,並顯示成表單元件 練習「更新」資料庫. 查詢訂購
E N D
PHP程式設計教學分享 羅東高中邱柏翰 bohann@ltsh.ilc.edu.tw
報告內容 • 專題設計 • 軟體工具 • 建議
專題畫面(1/5) • 練習取得表單變數 • 練習「查詢」語法,判斷帳號密碼 • $sqlstr="SELECT * FROM user WHERE id='$id' AND password='$password'";
專題畫面(2/5) • 練習「查詢」資料庫,並顯示成表單元件 • 練習「更新」資料庫
查詢訂購 • $sqlstr="SELECT * FROM class_order WHERE id='$id'"; • 顯示成為表單元件 • echo "<p>A餐訂購<input type='text' name='T1' size='2' value='$row[1]'>個</p>"; • 更新訂購數量 • $sqlstr="UPDATE class_order SET menuA=$menuA, menuB=$menuB, menuC=$menuC, menuD=$menuD, menuE=$menuE WHERE id='$id'";
專題畫面(3/5) • 練習欄位相加,成為新欄位 • 練習SUM語法
該班的統計(欄位值的相加) • $sqlstr="SELECT *, menuA+menuB+menuC+menuD+menuE as '班級總數' FROM class_order ORDER BY id"; • 某餐點的總計 • $sqlstr="SELECT SUM(menuA) FROM class_order";
專題畫面(4/5) • 練習取得表單變數
專題畫面(5/5) • 練習「更新」語法 • 練習檔案上傳 menuA.gif字串,改成 <img src=“menuA.jpg" width="170" height="140">
//如果有更新圖檔名稱 • if($_FILES['AF1']['name']!='') • { • if( $_FILES['AF1']['error']==UPLOAD_ERR_OK ) • { • //把暫存檔搬到正確路徑上,並將檔案改回上傳的檔名 • //中文檔名會有問題 • move_uploaded_file($_FILES['AF1']['tmp_name'], $upload_dir.$_FILES['AF1']['name']); • } • //更新資料庫 • $sqlstr="UPDATE menu SET vendor='$AT1', content='$AT2', price=$AT3, pic='".$_FILES['AF1']['name']."' WHERE id='menuA'"; • $result=mysql_query($sqlstr); • } • //如果使用者不打算更新圖檔 • else • { • $sqlstr="UPDATE menu SET vendor='$AT1', content='$AT2', price=$AT3 WHERE id='menuA'"; • $result=mysql_query($sqlstr); • }
教學內容結合 • 網頁HTML(需要再複習HTML語法) • 網頁伺服器軟體與架設WWW站(網路概論) • PHP程式設計 • 資料庫(建議先練習SQL語法) • 建議列印程式碼供學生參考
學生將學會 • 架設網頁伺服器 • 利用phpMyAdmin管理MySQL資料庫 • 利用PHP程式語言,新增、修改資料庫的資料
使用工具—以方便為取捨 • 作業系統:Windows XP • 網頁伺服器Apache、資料庫MySQL、PHP語法解析器:Appserv 2.5.10 • 其他類似的AMP工具還有XAMPP、WAMP5、EasyPHP……等 • PSPad • 其他專業的開發工具例如Zend、Eclipse
注意事項 • 由於線上程式安全性部分於涉及層面較廣,本教材並未提及,教師可另闢專題解說。 • 本範例所使用的資料庫為方便教學,並未正規化,請讀者留意。
若要進一步撰寫安全的程式 • 推薦圖書 • 肖遙(2009)。網站入侵與腳本攻防修練。臺北市:電腦人文化 • 柯志杰譯(2007)。網頁程式駭客攻防實戰:以PHP為例。臺北市 : 旗標 • 德瑞工作室(2007)。PHP網頁大作戰 : 如何防止駭客入侵您的網頁 。臺北市 : 文魁資訊 • 資安講習的講義 • 可以開設進階專題
若要加強本專題的功能 • 讓介面更像是購物網站 • 每個同學都可以上線訂購,不限一班一個帳號
Dreamweaver列入考量的原因 • 許多學校有教/有買 • 透過滑鼠拖曳,可減少初學時的錯誤。 • 提供常用「動作」(程式碼)可以直接套用。 • 類似的動作,可以產生ASP、ASP .NET、PHP、JSP、ColdFusion等程式碼,供不同環境使用。 • 早期的版本就可以練習(本例為Macromedia Dreamweaver MX 2004)
Dreamweaver設計互動網頁的理念 • 定義網站:檔案目錄位置 • 「資料庫」:建立MySQL連線 • 「繫結」:建立資料集、表單變數……等 • 「伺服器行為」:新增修改刪除等常用的操作
該注意的小地方 • HTML、PHP、資料庫請用Unicode編碼 • 必要的時候還是需要寫程式碼 • 請見動畫展示