「網頁程式撰寫/2017/王秋梅」修訂間的差異
跳至導覽
跳至搜尋
| (未顯示同一使用者於中間所作的 36 次修訂) | |||
| 第1行: | 第1行: | ||
[[分類:網頁程式撰寫]] | [[分類:網頁程式撰寫]] | ||
| + | ==課程筆記== | ||
| + | ===2017/9/14=== | ||
| + | *HTML4 vs HTML5 | ||
| + | *#撰寫網頁時需告訴人家是用哪一版HTML | ||
| + | *#目前瀏覽器預設為HTML4 | ||
| + | *#HTML5 最大的改變在把動畫(flash)納入標籤格式內 | ||
| + | |||
| + | *HTTP VS HTTPS | ||
| + | *#傳送HTML的協定 | ||
| + | *#HTTPS 有加密; 架設需付費 | ||
| + | |||
| + | *各標籤重點 | ||
| + | *#字體標籤 | ||
| + | |||
| + | ===2017/9/21=== | ||
| + | *Ch4_2_3.php(參照) | ||
| + | *Ch4_2_4.php(動態變數) | ||
| + | *Ch4_4_9.php(預定義的變數) | ||
| − | |||
| − | == | + | ===2017/9/29=== |
| − | . | + | *一個敘述區塊{若干的敘述, 每個敘述用;結尾執行} |
| − | # | + | * |
| + | <pre> | ||
| + | { | ||
| + | ……….; | ||
| + | …………; | ||
| + | ………..; } | ||
| + | 用TAB鍵, 讓每段對齊 | ||
| + | (大部分程式語言都用{}, Python不用{}表達敘述區塊, 而是用對齊) | ||
| + | 當{}內只有一個敘述時, 可省略{} 不建議 | ||
| + | </pre> | ||
| + | <pre> | ||
| + | // 或 /* */ 註解 | ||
| + | # 抑制本行程式執行 | ||
| + | </pre> | ||
| + | <pre> | ||
| + | switch case | ||
| + | If elseif 可取代switch case功能, 但switch case 不能取代 if elseif功能, 因為它一定要有一個變數 | ||
| + | |||
| + | break; 跳到結尾的 } | ||
| + | </pre> | ||
| + | <pre> | ||
| + | 三元運算: 條件?真:假 | ||
| + | 可寫成一段敘述 | ||
| + | $str = ($hour >= 12) ? " PM" : " AM"; | ||
| + | $hour = ($hour >= 12) ? $hour-12 : $hour; | ||
| + | print "目前時間為: " . $hour . $str; | ||
| + | ==> | ||
| + | print "目前時間為: " . (($hour >= 12) ? $hour-12 : $hour) . (($hour >= 12) ? " PM" : " AM") ; | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | *迴圈 | ||
| + | *#最常用的迴圈~ for遞增迴圈 使用前要先知道你要用幾次 | ||
| + | *#最危險的迴圈~while迴圈 可能跑到無窮迴圈使程式當掉 | ||
| + | *#至少要做一次的迴圈~ do while迴圈 | ||
| + | |||
| + | <pre> | ||
| + | ($i % 2) == 1 餘數為1 代表$i為奇數 | ||
| + | ($i % 2) == 0 餘數為0 代表$i為偶數 | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | ===2017/10/5 CHAP6=== | ||
| + | *函式也是敘述區塊 | ||
| + | <pre> | ||
| + | function 函式名(引數/參數) | ||
| + | { | ||
| + | |||
| + | } | ||
| + | </pre> | ||
| + | *函式名命名原則 | ||
| + | *#不可用數字開頭、不可用保留字 | ||
| + | *#可使用中文(不建議用)、變數 | ||
| + | *#函式名可加&,但PHP4版後已無必要加 | ||
| + | |||
| + | *函式變數 | ||
| + | *#全域變數VS區域變數VS靜態變數 | ||
| + | *#傳址 VS 傳值 | ||
| + | <pre> | ||
| + | <?php | ||
| + | // 傳值函數, $c在本函式做完即銷毀 | ||
| + | function byValue($c) { | ||
| + | $c = $c + 2; // 將參數值加一 | ||
| + | print "<tr><td>在byValue()函數為</td>"; | ||
| + | print "<td>".$c."</td></tr>"; | ||
| + | } | ||
| + | // 傳址函數,送進來的為$c的位址, 因此操作完, $c這個位址的值也跟著變了 | ||
| + | function byRef(&$c) { | ||
| + | $c = $c + 2; // 將參數值加一 | ||
| + | print "<tr><td>在byRef()函數為</td>"; | ||
| + | print "<td>".$c."</td></tr>"; | ||
| + | } | ||
| + | ?> | ||
| + | </pre> | ||
| + | *靜態變數:函式內產生的變數, 於做完後不銷毀, 用static宣告 | ||
| + | <pre> | ||
| + | // 函數使用靜態變數 */ | ||
| + | function staticVar() { | ||
| + | static $count = 0; //只宣告一次, 宣告後再進函式不會再重新宣告 | ||
| + | $count += 2; // 靜態變數加一 | ||
| + | return $count; | ||
| + | } | ||
| + | |||
| + | </pre> | ||
| + | *載入另一個PHP檔案 | ||
| + | *#檔案命名 **.inc (存放常用的常數/變數/函式) | ||
| + | *#載入與呼叫方法 | ||
| + | *常用的函式 | ||
| + | *#時間 | ||
| + | *#時間戳記(時間刻記)的原點: | ||
| + | 1970.1.1.0.0.0 | ||
| + | 年月日時分秒 | ||
| + | |||
| + | |||
| + | ===2017/10/12 CHAP6~7=== | ||
| + | *陣列、一維陣列、二維陣列 | ||
| + | *註標索引陣列、組合陣列、註標(足標)索引、字串索引 | ||
| + | *改寫程式Ch7_2_4.php | ||
| + | <pre> | ||
| + | function sum($a=array()){ | ||
| + | echo count($a).”<br>”; | ||
| + | foreach($a as $v){ | ||
| + | echo “參數$k=>$v”; | ||
| + | $total=0; | ||
| + | foreach($a as $v){ | ||
| + | $total+=$v; | ||
| + | } | ||
| + | echo “ 總和為$total”; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | ===2017/10/26 CHAP7=== | ||
| + | *CHAP4~7是PHP重要章節 網頁程式撰寫主軸/骨幹 | ||
| + | *MYSQL只要認識5個 | ||
| + | *PHP 函數要熟悉100個 | ||
| + | *字串容易存在MYSQL表裡 | ||
| + | *陣列可補足字串的各種操作 | ||
| + | *“ “ 內所有轉譯字元是有效的 | ||
| + | *‘ ‘ 內大多數轉譯字元是無效的 | ||
| + | *localhost本地伺服器 | ||
| + | *每個電腦有65,536個port(有一個port是不能用,所以是65,535) | ||
| + | *要知道利用哪個通道與外界電腦聯絡 | ||
| + | *資料庫是一個目錄, 裡面建很多資料表 | ||
| + | *關連式資料表 | ||
| + | <pre> | ||
| + | web- wid、姓名、phone | ||
| + | webMail- eid、wid、email | ||
| + | 用wid來串連2個資料表 | ||
| + | 串連的欄位不能重覆 | ||
| + | </pre> | ||
| + | |||
| + | ===2017/12/21=== | ||
| + | *程式整理 | ||
| + | <pre> | ||
| + | 四種內容映射的方法 | ||
| + | 1.取用 WebContent 資料表: | ||
| + | 2.取用預設 wiki 站台的頁: 定義在GfWebContent.php內 | ||
| + | 3.跨 site 引用 | ||
| + | 4.php | ||
| + | |||
| + | </pre> | ||
| + | *#外觀相關程式整理 | ||
| + | <pre> | ||
| + | theme.php | ||
| + | |||
| + | </pre> | ||
| + | *#基本功能相關程式整理 | ||
| + | <pre> | ||
| + | siteConstant.php 定義上傳圖檔的分類資料夾及檔案位置images(權限需設為777,含子目錄,因透過網頁上傳) | ||
| + | 上傳檔案fileUpload.php | ||
| + | 秀圖檔showImages.php | ||
| + | </pre> | ||
於 2017年12月21日 (四) 11:54 的最新修訂
課程筆記
2017/9/14
- HTML4 vs HTML5
- 撰寫網頁時需告訴人家是用哪一版HTML
- 目前瀏覽器預設為HTML4
- HTML5 最大的改變在把動畫(flash)納入標籤格式內
- HTTP VS HTTPS
- 傳送HTML的協定
- HTTPS 有加密; 架設需付費
- 各標籤重點
- 字體標籤
2017/9/21
- Ch4_2_3.php(參照)
- Ch4_2_4.php(動態變數)
- Ch4_4_9.php(預定義的變數)
2017/9/29
- 一個敘述區塊{若干的敘述, 每個敘述用;結尾執行}
{
……….;
…………;
………..; }
用TAB鍵, 讓每段對齊
(大部分程式語言都用{}, Python不用{}表達敘述區塊, 而是用對齊)
當{}內只有一個敘述時, 可省略{} 不建議
// 或 /* */ 註解 # 抑制本行程式執行
switch case If elseif 可取代switch case功能, 但switch case 不能取代 if elseif功能, 因為它一定要有一個變數 break; 跳到結尾的 }
三元運算: 條件?真:假 可寫成一段敘述 $str = ($hour >= 12) ? " PM" : " AM"; $hour = ($hour >= 12) ? $hour-12 : $hour; print "目前時間為: " . $hour . $str; ==> print "目前時間為: " . (($hour >= 12) ? $hour-12 : $hour) . (($hour >= 12) ? " PM" : " AM") ;
- 迴圈
- 最常用的迴圈~ for遞增迴圈 使用前要先知道你要用幾次
- 最危險的迴圈~while迴圈 可能跑到無窮迴圈使程式當掉
- 至少要做一次的迴圈~ do while迴圈
($i % 2) == 1 餘數為1 代表$i為奇數 ($i % 2) == 0 餘數為0 代表$i為偶數
2017/10/5 CHAP6
- 函式也是敘述區塊
function 函式名(引數/參數)
{
}
- 函式名命名原則
- 不可用數字開頭、不可用保留字
- 可使用中文(不建議用)、變數
- 函式名可加&,但PHP4版後已無必要加
- 函式變數
- 全域變數VS區域變數VS靜態變數
- 傳址 VS 傳值
<?php
// 傳值函數, $c在本函式做完即銷毀
function byValue($c) {
$c = $c + 2; // 將參數值加一
print "<tr><td>在byValue()函數為</td>";
print "<td>".$c."</td></tr>";
}
// 傳址函數,送進來的為$c的位址, 因此操作完, $c這個位址的值也跟著變了
function byRef(&$c) {
$c = $c + 2; // 將參數值加一
print "<tr><td>在byRef()函數為</td>";
print "<td>".$c."</td></tr>";
}
?>
- 靜態變數:函式內產生的變數, 於做完後不銷毀, 用static宣告
// 函數使用靜態變數 */
function staticVar() {
static $count = 0; //只宣告一次, 宣告後再進函式不會再重新宣告
$count += 2; // 靜態變數加一
return $count;
}
- 載入另一個PHP檔案
- 檔案命名 **.inc (存放常用的常數/變數/函式)
- 載入與呼叫方法
- 常用的函式
- 時間
- 時間戳記(時間刻記)的原點:
1970.1.1.0.0.0 年月日時分秒
2017/10/12 CHAP6~7
- 陣列、一維陣列、二維陣列
- 註標索引陣列、組合陣列、註標(足標)索引、字串索引
- 改寫程式Ch7_2_4.php
function sum($a=array()){
echo count($a).”<br>”;
foreach($a as $v){
echo “參數$k=>$v”;
$total=0;
foreach($a as $v){
$total+=$v;
}
echo “ 總和為$total”;
}
}
2017/10/26 CHAP7
- CHAP4~7是PHP重要章節 網頁程式撰寫主軸/骨幹
- MYSQL只要認識5個
- PHP 函數要熟悉100個
- 字串容易存在MYSQL表裡
- 陣列可補足字串的各種操作
- “ “ 內所有轉譯字元是有效的
- ‘ ‘ 內大多數轉譯字元是無效的
- localhost本地伺服器
- 每個電腦有65,536個port(有一個port是不能用,所以是65,535)
- 要知道利用哪個通道與外界電腦聯絡
- 資料庫是一個目錄, 裡面建很多資料表
- 關連式資料表
web- wid、姓名、phone webMail- eid、wid、email 用wid來串連2個資料表 串連的欄位不能重覆
2017/12/21
- 程式整理
四種內容映射的方法 1.取用 WebContent 資料表: 2.取用預設 wiki 站台的頁: 定義在GfWebContent.php內 3.跨 site 引用 4.php
- 外觀相關程式整理
theme.php
- 基本功能相關程式整理
siteConstant.php 定義上傳圖檔的分類資料夾及檔案位置images(權限需設為777,含子目錄,因透過網頁上傳) 上傳檔案fileUpload.php 秀圖檔showImages.php