網頁程式撰寫:修訂版本之間的差異
出自六年制學程
(→2016.4.18) |
(→2016.4.25) |
||
第 71 行: | 第 71 行: | ||
===2016.4.25=== | ===2016.4.25=== | ||
+ | *增加「加一人」連結 | ||
+ | *在每個 email 之前增加「+」用以對某個人再加一筆 email : | ||
+ | *#在 nicetable() 函式增加「+」連結,type變數值設為 insMailForm ,並從 GET 通道再送回來。 | ||
+ | *#造一個 insMailForm($wid) 的函式,負責傳回插入 mail 的表單 | ||
+ | *#前置處理再增加一個 elseif ,處理當按「+」連結時,呼叫 insMailForm($wid) 函式,提供使用者插入 mail 之表單 | ||
+ | *#前置處理再增加一個 elseif ,處理當按「加Mail」按鈕時,將表單後送資料插入 webMail 資料表 | ||
==前端與後端溝通== | ==前端與後端溝通== |
2016年4月25日 (一) 16:47的修訂版本
目錄
槪述
課程目標
結合網際網路前後端的技術,達成以下目的:
- 與使用者溝通;
- 管理資料、運用資料。
對學習者的叮嚀
學到掌握與運用能力,至少要一年。一定要用功,半途而廢,等於沒有學,不如一開始就不要來修課。作業要做,自己也要找書來看,做自己的筆記。
名詞、觀念、邏輯要徹底弄清楚,似懂非懂程式就會錯,只要錯一個標點,程式就不會按預期規畫動作,可能查三天三夜也查不出來。
牽涉的技術
- 前端(clint):HTML4
- DOM
- CSS
- javascript
- jQuery
- SVG
- HTML5
- 後端(SERVER)
- PHP
- 物件使用
- MySQL
- PHP
- 溝通前後端
- 叫出新頁
- ajax
參考講義
各次上課內容
2016.2.1
- 說明課程內容
- 建立每位同學的修課資料夾:
- 後台:個人資料夾/www/php,php資料夾的所有者必須是這位同學,php資料夾中的php程式所有者也必須是這位同學。否則會因缺乏權限而導致伺服器內部錯誤。
- 前台:jendo.org/~○○○/php
- 檢查瀏覽器
- 檢查文字編輯器
- 檢查上下傳工具
- 檢查每個人的筆記頁
- 建立應答程式對
- form.php:負責以表單跟使用者互動;並設 action 為 r.php。
- r.php:負責接收表單的資料,存入資料表。
2016.3.21
- 綜合演練
- 電腦教室四部電腦可用
- 去 192.168.3.3
- adminer-4.2.2-mysql.php
- 帳號密碼問老師
- 去同學們資料庫
- 建自己的資料表:英文姓名Name和英文姓名Mail,前者要有id欄、姓名欄,後者要有id欄、email欄
- 以 filezilla 登入 192.168.3.3 ,用自己的姓名和帳號
- 在自己的 www 之下建 php 資料夾
- 建立 form.php 輸入資料,要輸入至少三個人的資料
- 建立 nameList1.php 和 nameList2.php 將兩個資料表「關連起來」,前者用等連結,後者用左側連結
- 問老師回家之後要怎麼用 filezilla 連,無法再用 192.168.3.3
- 準備考試:
- 第二章
- 第四章
- 第五章
- 第七章
- 第十章
- 第十一章
- 第十二章
2016.4.18
- 在nameList.php 增加編連結
2016.4.25
- 增加「加一人」連結
- 在每個 email 之前增加「+」用以對某個人再加一筆 email :
- 在 nicetable() 函式增加「+」連結,type變數值設為 insMailForm ,並從 GET 通道再送回來。
- 造一個 insMailForm($wid) 的函式,負責傳回插入 mail 的表單
- 前置處理再增加一個 elseif ,處理當按「+」連結時,呼叫 insMailForm($wid) 函式,提供使用者插入 mail 之表單
- 前置處理再增加一個 elseif ,處理當按「加Mail」按鈕時,將表單後送資料插入 webMail 資料表
前端與後端溝通
- 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'].'
'; 回應出前台表單name1的變數 - echo '2:'.$_POST['name1'].'
'; 由表單傳送變數(POST),回應出前台表單name1的變數 - echo '3:'.$_GET['name1'].'
'; 由網址列傳送變數(GET),回應出前台表單name1的變數
- PHP符號
- + 值相加
- - 值相減
- * 值相乘
- / 值相除
- % 值相除後的餘數
- . 兩串文字結合
- MySQL
- 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 幾筆; 刪除合條件合範圍的資料