星期二, 7月 20, 2010

20100720 PHP-MySQL 上課小記

20100720 PHP-MySQL 上課小記

葉建榮

PHP ASP 之前就已經誕生, asp是模仿php 3
**PHP + MySQL + Apache:
  • php等三者均是free
  • 若搭配Linux, 均為free
  • Apache:    提供網頁服務伺服器( Web Server )
  • MySQL:    提供資料存取的資料庫伺服器
  • PHP:        web Server 上作資料運用


Q: Windows 上如何安裝 Apache + PHP + MySQL?
A: 建議下載 AppServ 整合 Apache + MySQL + PHP

Q: 可否支援 IIS ?
A: php 可在 IIS 環境跑, 但效能差( IIS 7才有改善)

Lab:
**安裝 AppServ 2.5.10
  • root 密碼設定為phpmysql
  • 預設網頁目錄為 C:\Appserv\www


安裝netbeans npp5.6.2


Q:MySQL 安裝在Linux, Windows 上的軟體是否可以存取?
A: MySQL 官網提供 .NET ODBC 的連接方式, 可讓Windows的軟體存取

**Netbeans
  • 針對已知的語法錯誤提出警告
  • 自動帶出語法
  • 以專案進行管理


**NotePad++
  • 純文字編輯器
  • 可以快速轉換Big5 / UTF-8
  • 可以閱讀 Linux 環境文件


**PHP 優點:
  • free
  • 可使用網路套件快速架站
  • MySQL 緊密結合
  • Linux 指令結合 ( Windows 2008及雲端亦支援 php但須用 SQL Server)




Lab: 開啟一個新專案
使用 netbeans
建立新專案
File → New Project
PHP: PHP Application → Next
點選 Browse 按鈕( source 按鈕調整於 C:\Appserv\www 目錄下 [網站根目錄] )
Finish

說明 title and body

練習 於 <? php 範圍內輸入
echo "hello";
?>

--class brake--

Lab: 說明 Big5 UTF-8 差異
使用 NotePad ++ 請將 test1.php 另存在 www 目錄下,
並修改 echo "hello";
改為
echo "";

來了解編碼不同的差異


**php的缺點
  • 對於Big5支援異常, 某些Big5碼中文於php會產生編碼衝突.
  • php3 ~ php5 將中文視為兩個字, php6將中文視為1個字.

   
MySQL 4.1版之後預設為UTF-8[ 之前為拉丁碼], 且針對資料存取進行編碼檢查

IE 環境可以透過 meta標籤 來判斷編碼


**網頁在 IE 會是亂碼或空白?
  • 請在php檔案內加入完整 html 語法, 並請加入 meta 標籤
  • meta 必須在 title 之前
  • 網頁必須是 UTF-8 (Byte Order Mark ) 格式
  • (可以使用 NotePad ++ 的編輯 → 轉換至 UTF-8 (檔首無BOM) )


echo    " "    ;
  • echo 會將後面的字串顯示在瀏覽器上面
  • php 的字串可以使用 ' ' 或是 " "
  • 每一行結束加上 ;
  • 大小寫有差異



**php 變數
  • 要以 $ 為開始
  • 無須宣告就可以使用
  • 變數可儲存系統或使用者輸入的資料
  • 變數與字串連結使用


Notes:
  • php 語法包在 <? ?> 之間
  • “ ” 代表著php 可以解析, php 就會分析
  • ‘  ‘ 代表php 不會解析裡面的語法
  • 為何 ’<p>’ 會有效果?, 因為<p> 是 html 語法


說明表單 <form> </form> 相關用法
表單網頁
  • 讓 user 輸入資料的網頁標籤群


<from  1  >  表單由此開始

</from> 表單結束

在from  標籤內 基本的 3 個屬性 ( 上方紅色數字 1 的位置 )
action:        資料送到哪邊?
name:        表單名稱
method:    傳送方式 [ get 或 post ]

<input  type=
text:        單行文字框
password:    密碼 
submit:    送出資料
reset:        清除資料
button:        可自訂動作的按鈕

說明  GET 與 POST 的差異, 練習相關練習

--class end--

沒有留言: