網頁程式撰寫/2017/王秋梅:修訂版本之間的差異

出自六年制學程
跳轉到: 導覽搜尋
2017/12/21
 
(未顯示同用戶所作出之24次版本)
第 15 行: 第 15 行:
 
*#字體標籤
 
*#字體標籤
  
 +
===2017/9/21===
 +
*Ch4_2_3.php(參照)
 +
*Ch4_2_4.php(動態變數)
 +
*Ch4_4_9.php(預定義的變數)
  
==本學期專案:社大小幫手==
+
 
*註冊
+
===2017/9/29===
*# 工作人員 姓名 職稱  E-mail
+
*一個敘述區塊{若干的敘述, 每個敘述用;結尾執行}
*權限
+
*
*# 一般者 增加/修改/刪除/瀏覽表單
+
<pre>
*# 管理者 增加/修改/刪除/瀏覽表單  修改註冊資料
+
{
*表單
+
……….;
*# 會議資料/議程
+
…………;
*#* 會議名稱 時間 地點 出席 議程(時間 項目 分工內容
+
………..; }
*# 成果報告
+
用TAB鍵, 讓每段對齊
*#* 活動名稱 時間 地點 內容 照片(6張) 照片敘述
+
(大部分程式語言都用{}, Python不用{}表達敘述區塊, 而是用對齊)
*# 簽到表
+
當{}內只有一個敘述時, 可省略{} 不建議
*#* 活動名稱 時間 地點 姓名
+
</pre>
*# 回饋單
+
<pre>
*#* 活動名稱 時間 地點 說明 班級/社團名稱 填寫者姓名 問題一 問題二....
+
// 或 /* */ 註解
*# 器材/物資調查表
+
# 抑制本行程式執行
*#* 活動名稱 時間 地點 說明 班級/社團名稱 靜態攤位器材(桌椅  畫架  插梢  隔板  用電 CDPlayer 電磁爐 其他)
+
</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
    1. 撰寫網頁時需告訴人家是用哪一版HTML
    2. 目前瀏覽器預設為HTML4
    3. HTML5 最大的改變在把動畫(flash)納入標籤格式內
  • HTTP VS HTTPS
    1. 傳送HTML的協定
    2. HTTPS 有加密; 架設需付費
  • 各標籤重點
    1. 字體標籤

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") ;

  • 迴圈
    1. 最常用的迴圈~ for遞增迴圈 使用前要先知道你要用幾次
    2. 最危險的迴圈~while迴圈 可能跑到無窮迴圈使程式當掉
    3. 至少要做一次的迴圈~ do while迴圈
($i % 2) == 1  餘數為1  代表$i為奇數
($i % 2) == 0  餘數為0  代表$i為偶數

2017/10/5 CHAP6

  • 函式也是敘述區塊
function 函式名(引數/參數)
{

}
  • 函式名命名原則
    1. 不可用數字開頭、不可用保留字
    2. 可使用中文(不建議用)、變數
    3. 函式名可加&,但PHP4版後已無必要加
  • 函式變數
    1. 全域變數VS區域變數VS靜態變數
    2. 傳址 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檔案
    1. 檔案命名 **.inc (存放常用的常數/變數/函式)
    2. 載入與呼叫方法
  • 常用的函式
    1. 時間
    2. 時間戳記(時間刻記)的原點:

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

    1. 外觀相關程式整理
theme.php

    1. 基本功能相關程式整理
siteConstant.php  定義上傳圖檔的分類資料夾及檔案位置images(權限需設為777,含子目錄,因透過網頁上傳)
上傳檔案fileUpload.php
秀圖檔showImages.php