網頁程式撰寫:修訂版本之間的差異

出自六年制學程
跳轉到: 導覽搜尋
2016.4.25
第 32 行: 第 32 行:
 
*[http://jendo.org/files/doc/MySQL.html MySQL]
 
*[http://jendo.org/files/doc/MySQL.html MySQL]
 
*[http://jendo.org/files/doc/ajax.html AJAX]
 
*[http://jendo.org/files/doc/ajax.html AJAX]
 +
 +
==前端與後端溝通==
 +
*[[HTML/表單]]
 +
*[http://jendo.org/files/doc/php.html php講義]
 +
*伺服器端
 +
*#form.html
 +
*#r.php
 +
*前端與後端溝通有兩個通道
 +
*#GET:由網址列就可傳送變數到後端
 +
*#POST:要從表單傳送變數
 +
*#REQUEST:表單、網址列皆可傳送
 +
*在表單加入屬性action
 +
*#<form action='檔案的位置'>
 +
*#在上面form.html的範例裡,action='r.php',r.php就是表單資料送出後會傳到的地方。這就是用php撰寫。
 +
*PHP
 +
*#開頭結尾:<?php........?>
 +
*#echo回應出表單資料,分號;為執行。
 +
*#echo '1:'.$_REQUEST['name1'].'<br/>'; 回應出前台表單name1的變數
 +
*#echo '2:'.$_POST['name1'].'<br/>'; 由表單傳送變數(POST),回應出前台表單name1的變數
 +
*#echo '3:'.$_GET['name1'].'<br/>'; 由網址列傳送變數(GET),回應出前台表單name1的變數
 +
*PHP符號
 +
*# + 值相加
 +
*# - 值相減
 +
*# * 值相乘
 +
*# / 值相除
 +
*# % 值相除後的餘數
 +
*# . 兩串文字結合
 +
*MySQL
 +
*#[http://jendo.org/files/doc/MySQL.html MySQL講義]
 +
*#MySQL是一個資料庫系統,裡面包含了數個資料表。
 +
*#基本指令:
 +
*#* ; 意為執行
 +
*#* ` 是重音符號,Grave accent。若是那個單字在MySQL辨識碼裡面有,就必須要用 ` 括起來以說明此字是我們編輯的內容。
 +
*#*insert into 表格名 values ('值1','值2',…);  照著欄序加一筆資料
 +
*#*insert into 表格名 values ('值1','值2',…),('值1','值2',…),('值1','值2',…)…;  照著欄序加很多筆的資料
 +
*#*insert into 表格名 (欄名1,欄名2,…) values ('值1','值2',…);  只對指定的欄加一筆資料
 +
*#*insert into 表格名 set 欄名1='值1',欄名2='值2',…;  只對指定的欄加一筆資料
 +
*#*select 欄名1,欄名2,… from 表格名;  找出指定欄位的全部資料
 +
*#*select * from 表格名;  找出此表格的全部欄位全部資料
 +
*#*select * from 表格名 where 欄位名稱='欄位內容';  找出某欄位,合條件的筆數。
 +
*#*select * from 表格名 where 欄位名稱 like '09%';  找出某欄位,內容有09的資料。''%''指09後面任何內容
 +
*#*update 表格名 set 欄名=欄值,欄名=欄值… [where 條件][limit 範圍];  合條件或合範圍的所有筆數,指定欄都換成指定欄值
 +
*#*delete from 表格名 where 條件 limit 幾筆;  刪除合條件合範圍的資料
  
 
==各次上課內容==
 
==各次上課內容==
第 77 行: 第 120 行:
 
*#前置處理再增加一個 elseif ,處理當按「+」連結時,呼叫 insMailForm($wid) 函式,提供使用者插入 mail 之表單
 
*#前置處理再增加一個 elseif ,處理當按「+」連結時,呼叫 insMailForm($wid) 函式,提供使用者插入 mail 之表單
 
*#前置處理再增加一個 elseif ,處理當按「加Mail」按鈕時,將表單後送資料插入 webMail 資料表
 
*#前置處理再增加一個 elseif ,處理當按「加Mail」按鈕時,將表單後送資料插入 webMail 資料表
 
==前端與後端溝通==
 
*[[HTML/表單]]
 
*[http://jendo.org/files/doc/php.html php講義]
 
*伺服器端
 
*#form.html
 
*#r.php
 
*前端與後端溝通有兩個通道
 
*#GET:由網址列就可傳送變數到後端
 
*#POST:要從表單傳送變數
 
*#REQUEST:表單、網址列皆可傳送
 
*在表單加入屬性action
 
*#<form action='檔案的位置'>
 
*#在上面form.html的範例裡,action='r.php',r.php就是表單資料送出後會傳到的地方。這就是用php撰寫。
 
*PHP
 
*#開頭結尾:<?php........?>
 
*#echo回應出表單資料,分號;為執行。
 
*#echo '1:'.$_REQUEST['name1'].'<br/>'; 回應出前台表單name1的變數
 
*#echo '2:'.$_POST['name1'].'<br/>'; 由表單傳送變數(POST),回應出前台表單name1的變數
 
*#echo '3:'.$_GET['name1'].'<br/>'; 由網址列傳送變數(GET),回應出前台表單name1的變數
 
*PHP符號
 
*# + 值相加
 
*# - 值相減
 
*# * 值相乘
 
*# / 值相除
 
*# % 值相除後的餘數
 
*# . 兩串文字結合
 
*MySQL
 
*#[http://jendo.org/files/doc/MySQL.html MySQL講義]
 
*#MySQL是一個資料庫系統,裡面包含了數個資料表。
 
*#基本指令:
 
*#* ; 意為執行
 
*#* ` 是重音符號,Grave accent。若是那個單字在MySQL辨識碼裡面有,就必須要用 ` 括起來以說明此字是我們編輯的內容。
 
*#*insert into 表格名 values ('值1','值2',…);  照著欄序加一筆資料
 
*#*insert into 表格名 values ('值1','值2',…),('值1','值2',…),('值1','值2',…)…;  照著欄序加很多筆的資料
 
*#*insert into 表格名 (欄名1,欄名2,…) values ('值1','值2',…);  只對指定的欄加一筆資料
 
*#*insert into 表格名 set 欄名1='值1',欄名2='值2',…;  只對指定的欄加一筆資料
 
*#*select 欄名1,欄名2,… from 表格名;  找出指定欄位的全部資料
 
*#*select * from 表格名;  找出此表格的全部欄位全部資料
 
*#*select * from 表格名 where 欄位名稱='欄位內容';  找出某欄位,合條件的筆數。
 
*#*select * from 表格名 where 欄位名稱 like '09%';  找出某欄位,內容有09的資料。''%''指09後面任何內容
 
*#*update 表格名 set 欄名=欄值,欄名=欄值… [where 條件][limit 範圍];  合條件或合範圍的所有筆數,指定欄都換成指定欄值
 
*#*delete from 表格名 where 條件 limit 幾筆;  刪除合條件合範圍的資料
 

2016年10月7日 (五) 09:12的修訂版本

槪述

課程目標

結合網際網路前後端的技術,達成以下目的:

  1. 與使用者溝通;
  2. 管理資料、運用資料。

對學習者的叮嚀

學到掌握與運用能力,至少要一年。一定要用功,半途而廢,等於沒有學,不如一開始就不要來修課。作業要做,自己也要找書來看,做自己的筆記。

名詞、觀念、邏輯要徹底弄清楚,似懂非懂程式就會錯,只要錯一個標點,程式就不會按預期規畫動作,可能查三天三夜也查不出來。

牽涉的技術

  • 前端(clint):HTML4
    1. DOM
    2. CSS
    3. javascript
      • jQuery
    4. SVG
    5. HTML5
  • 後端(SERVER)
    1. PHP
      • 物件使用
    2. MySQL
  • 溝通前後端
    1. 叫出新頁
    2. ajax

參考講義

前端與後端溝通

  • HTML/表單
  • php講義
  • 伺服器端
    1. form.html
    2. r.php
  • 前端與後端溝通有兩個通道
    1. GET:由網址列就可傳送變數到後端
    2. POST:要從表單傳送變數
    3. REQUEST:表單、網址列皆可傳送
  • 在表單加入屬性action
    1. <form action='檔案的位置'>
    2. 在上面form.html的範例裡,action='r.php',r.php就是表單資料送出後會傳到的地方。這就是用php撰寫。
  • PHP
    1. 開頭結尾:<?php........?>
    2. echo回應出表單資料,分號;為執行。
    3. echo '1:'.$_REQUEST['name1'].'
      '; 回應出前台表單name1的變數
    4. echo '2:'.$_POST['name1'].'
      '; 由表單傳送變數(POST),回應出前台表單name1的變數
    5. echo '3:'.$_GET['name1'].'
      '; 由網址列傳送變數(GET),回應出前台表單name1的變數
  • PHP符號
    1. + 值相加
    2. - 值相減
    3. * 值相乘
    4. / 值相除
    5.  % 值相除後的餘數
    6. . 兩串文字結合
  • MySQL
    1. MySQL講義
    2. MySQL是一個資料庫系統,裡面包含了數個資料表。
    3. 基本指令:
      •  ; 意為執行
      • ` 是重音符號,Grave accent。若是那個單字在MySQL辨識碼裡面有,就必須要用 ` 括起來以說明此字是我們編輯的內容。
      • insert into 表格名 values ('值1','值2',…); 照著欄序加一筆資料
      • insert into 表格名 values ('值1','值2',…),('值1','值2',…),('值1','值2',…)…; 照著欄序加很多筆的資料
      • insert into 表格名 (欄名1,欄名2,…) values ('值1','值2',…); 只對指定的欄加一筆資料
      • insert into 表格名 set 欄名1='值1',欄名2='值2',…; 只對指定的欄加一筆資料
      • select 欄名1,欄名2,… from 表格名; 找出指定欄位的全部資料
      • select * from 表格名; 找出此表格的全部欄位全部資料
      • select * from 表格名 where 欄位名稱='欄位內容'; 找出某欄位,合條件的筆數。
      • select * from 表格名 where 欄位名稱 like '09%'; 找出某欄位,內容有09的資料。%指09後面任何內容
      • update 表格名 set 欄名=欄值,欄名=欄值… [where 條件][limit 範圍]; 合條件或合範圍的所有筆數,指定欄都換成指定欄值
      • delete from 表格名 where 條件 limit 幾筆; 刪除合條件合範圍的資料

各次上課內容

2016.2.1

  • 說明課程內容
  • 建立每位同學的修課資料夾:
    1. 後台:個人資料夾/www/php,php資料夾的所有者必須是這位同學,php資料夾中的php程式所有者也必須是這位同學。否則會因缺乏權限而導致伺服器內部錯誤。
    2. 前台:jendo.org/~○○○/php
  • 檢查瀏覽器
  • 檢查文字編輯器
  • 檢查上下傳工具
  • 檢查每個人的筆記頁
  • 建立應答程式對
    1. form.php:負責以表單跟使用者互動;並設 action 為 r.php。
    2. r.php:負責接收表單的資料,存入資料表。

2016.3.21

  • 綜合演練
    1. 電腦教室四部電腦可用
    2. 去 192.168.3.3
    3. adminer-4.2.2-mysql.php
    4. 帳號密碼問老師
    5. 去同學們資料庫
    6. 建自己的資料表:英文姓名Name和英文姓名Mail,前者要有id欄、姓名欄,後者要有id欄、email欄
    7. 以 filezilla 登入 192.168.3.3 ,用自己的姓名和帳號
    8. 在自己的 www 之下建 php 資料夾
    9. 建立 form.php 輸入資料,要輸入至少三個人的資料
    10. 建立 nameList1.php 和 nameList2.php 將兩個資料表「關連起來」,前者用等連結,後者用左側連結
    11. 問老師回家之後要怎麼用 filezilla 連,無法再用 192.168.3.3
  • 準備考試:
    1. 第二章
    2. 第四章
    3. 第五章
    4. 第七章
    5. 第十章
    6. 第十一章
    7. 第十二章

2016.4.18

  • 在nameList.php 增加編連結

2016.4.25

  • 增加「加一人」連結
  • 在每個 email 之前增加「+」用以對某個人再加一筆 email :
    1. 在 nicetable() 函式增加「+」連結,type變數值設為 insMailForm ,並從 GET 通道再送回來。
    2. 造一個 insMailForm($wid) 的函式,負責傳回插入 mail 的表單
    3. 前置處理再增加一個 elseif ,處理當按「+」連結時,呼叫 insMailForm($wid) 函式,提供使用者插入 mail 之表單
    4. 前置處理再增加一個 elseif ,處理當按「加Mail」按鈕時,將表單後送資料插入 webMail 資料表