2022年3月6日 星期日

PHP常用語法說明

  • PHP的語法在HTML是用

<?php

  php程式碼-------

?>

的方式進行程式的編撰,一般編輯器都使用文字編輯器

 

  • echo

輸出一個或多個字符串

例如:都會在網站上輸出Hello world

echo 'Hello world<br>';

echo "Hello world<br>";

echo ('Hello world<br>');

 

也可以用變數來取代

例如:

$string='Hello world';

echo $string;

 

  • 跳脫字元

echo 出單引號與雙引號需要利用跳脫字元「\」將引號跳脫出來,這樣才能 echo 出來

若字串是用單引號包起來,則裡面可以使用雙引號,旦若要使用單引號,則需加上跳脫字元「\

若字串是用雙引號包起來,則裡面可以使用單引號,旦若要使用雙引號,則需加上跳脫字元「\

例如:

echo 'echo 出單引號 : ';

echo ' \' ';

echo '<br>';

echo 'echo 出雙引號 : ';

echo " \" ";

雙引號會把變數取代成變數的值,但是單引號不會

例如:

$str = 'abc';    

echo "Hello! $str"; // 結果 Hello! abc    

echo 'Hello! $str'; // 結果 Hello! $str

單引號的跳脫字元並不會被處理

例如:

echo '\n'; // 結果 \n    

echo '\t'; // 結果 \t

 

  • print

輸出一個或多個字符串,基本功能同echo

 

  • print_r

輸出陣列(Array)

print_r PHP 內建的基本函數,用來一次輸出整個陣列內容

例如:

$fruit = array('apple','banana','orange','melon');

print_r($fruit);

和下面的輸出一致

$fruit = array('apple','banana','orange','melon');

foreach ($fruit as $value) {

  echo $value;

}

 

  • 註解

程式備忘、註解掉不需要的程式碼片段、程式片段說明

PHP 的單行註解是用雙斜線符號「//」或井字號「#

PHP 的多行註解是開頭使用斜線加星號「/*」,結尾使用星號加斜線「*/

例如:

echo 'Test comments'; //從這開始是註解說明

echo 'Test comments'; #從這開始是註解說明

echo 'Oh my god';  /* 這行會被echo出來文字「Oh my god*/

 

  • 變數的用法

PHP 設定變數的方式很簡單,由錢字號($)開始,後面接著變數名稱,名稱有大小寫之分。「第一個字元」不能是數字。

例如:

$test=123; //設定變數test為數字123

$test=3.14159;  //設定變數test為浮點數3.14159

$test=true;     //設定變數test為布林值

$test="hello world";  //設定變數test為字串 hello world

$test='<a href="xxx.php">連結</a>';   //設定變數testHTML的超連結內容

$test="<a href=\"xxx.php\">連結</a>";  //設定變數testHTML的超連結內容,裡面若使用相同的引號需加跳脫字元

$a='click this '.$test;    //設定a變數的結果為字串加上$test變數的內容

 

  • 比較運算子與邏輯運算子

 

運算子

範例

說明

==

$a==$b

a等於b

===

$a===$b

a等於b,且資料形態相同

!=
<>

$a!=$b
$a<>$b

a不等於b,範例2種皆可使用

!==

$a!==$b

a不等於b或資料形態不同

> 

$a>$b

a大於b

>=

$a>=$b

a大於等於b

< 

$a<$b

a小於b

<=

$a<=$b

a小於等於b

運算子

範例

說明

&&
and

$a==$b && $a==$c
$a==$b and $a==$c

a等於b a等於c

||
or

$a==$b || $a==$c
$a==$b or $a==$c

a等於b a等於c

!

!$a

a不為true

xor

$a xor b

ab 只有一個為true

 

  • 陣列的用法

PHP 設定陣列的方式很簡單,設定一個變數為陣列(array)即可使用。

若沒有指定索引的陣列則索引值會依序從0開始

例如:宣告變數$test為陣列,裡面輸入了abc三個字串

$test=array('a','b','c');

//或是先將變數宣告成陣列再放入值

$test=array();

$test[]='a';

$test[]='b';

$test[]='c';

//或是依序指定索引值放入

$test=array();

$test[0]='a';

$test[1]='b';

$test[2]='c';

//將陣列內容印出

echo $test[0];  //印出a

echo $test[1];  //印出b

echo $test[2];  //印出c

可以自訂索引來取得對應的值比較方便

例如:宣告變數$fruit為陣列,裡面輸入了三種水果的中文和翻譯

$fruit=array(

'蘋果'=>'apple',

'香蕉'=>'banana',

'紅莓'=>'cranberry'

);

//或是先將變數宣告成陣列再放入值

$fruit=array();

$fruit['蘋果']='apple';

$fruit['香蕉']='banana';

$fruit['紅莓']='cranberry';

//將陣列內容印出

echo $fruit['蘋果'];  //印出apple

echo $fruit['香蕉'];  //印出banana

echo $fruit['紅莓'];  //印出cranberry

//依序印出全部的索引和值

foreach ($data as $key=>$value){

  echo $key.'='.$value;  //印出 蘋果=apple…依此類推

}

 

  • If…else邏輯判斷式

例如:以下輸入結果為a為真

$a=true;

if ($a){echo 'a為真';}

if (!$a){echo 'a為假';}else{echo 'a為真';}

 

例如:下面的例子會輸出a+b大於等於3

$a=1;$b=2;

if ($a+$b>=3){echo 'a+b大於等於3';}

if ($a+$b<3){echo 'a+b小於3';}else{echo 'a+b大於等於3';}

 

多條件判斷可以加上elseif

例如:下面的例子可以輸出c大於2

$a=1;$b=2;$c=3;

if ($a>1){echo 'a大於1';}

elseif ($b>2){echo 'b大於2';}

elseif ($c>2){echo 'c大於2';}

else{ echo '條件皆不成立';}

 

 

  • switch…case 條件選擇

用法類似C++,記得每一個敍述都要有break; 執行完後該段敍述才會跳出

例如:

switch ($i) {

    case "apple":

        echo "i is apple";

        break;

    case "bar":

        echo "i is bar";

        break;

    case "cake":

        echo "i is cake";

        break;

    default:

        echo "unknown";

        break;

}

 

 

  • for迴圈

例如:印出01234

for ( $i=0 ; $i<5 ; $i++ ) {

 echo $i;

}

若中途需要跳出可以用break;

例如:

for ( $i=5 ; $i>0 ; $i-- ) {

  echo $i;

  if ($i==3){ break; }

}

//執行完的結果會印出543

可以利用count來取得陣列大小內容

例如:

$arr=array('a','b','c','d');

for ( $i=0 ; $i<count($arr) ; $i++ ) {

 echo $arr[$i];

}

//執行完結果會印出abcd

  

  • foreach迴圈

用來索引陣列資料結構

例如:兩者的差別在於 $key 的變數會是索引值(0開始的數字),若無抓取的需求,則使用第一種即可

$arr = array("one", "two", "three");

foreach ($arr as $value){echo $value;}

foreach ($arr as $key => $value){echo $value;}

例如:自定義索引值

$arr = array("A"=>"one", "B"=>"two", "C"=>"three");

foreach ($arr as $key => $value){

  if ($key=="A" || $key=="B"){echo $value;}

}

//此範例只會印出 one two

 

  • while迴圈

設定條件,不明確迴圈次數時使用

例如:印出1-10的數字

$i = 1;

while ($i <= 10) {

    echo $i;

    $i++;

}

另外也可也用後測式,前面加上do

例如:以下範例會印出1~5的數字

$i = 1;

do {

    echo $i;

    $i++;

} while ($i <= 5);

 


2022年2月15日 星期二

HTML基本語法

 文件檔頭資料

文件宣告

<HTML></HTML>

內容宣告區

<HEAD></HEAD>

文件主體

<BODY ></BODY>

背景顏色 BGCOLOR=#******

背景文字顏色 TEXT=#******

未選連結的顏色 LINK=#******

己選連結的顏色 VLINK=#****** (Nescape不支援)

按下時連結顏色 ALINK=#******

背景圖案 BACKGROUND=URL

網站標題

<TITLE></TITLE>

排版設定

跳列

<BR>

跳段的設定

<P ALIGN=LEFTCENTERRIGHT>

向中對齊

<CENTER></CENTER>

強迫不跳列

<NOBR></NOBR>

 

文字設定

<FONT></FONT>

設定大小 SIZE=? 其中?=1234567預設3數字越大文字越大

且若在數字前加上「+」表比預設值大或小上幾級

設定顏色 COLOR=#******

設定字型 FACE=字型名稱

設定標題的大小

<H?></H?> 其中?=123451的文字最大

設定排列 ALIGN=leftcenterright

預設文字的大小

<FONTBASE SIZE=?> 其中?=1234567

實體字型的控制標籤

<B></B>

 粗體字

<I></I>

 斜體字

<U></U>

 加底線

<S></S>

 加直線

<TT></TT>

 細小型

<SUP></SUP>

 上標字型

<SUB></SUB>

 下標字型

邏輯字型的控制標籤

<EM></EM>

 斜體字

<VAR></VAR>

 斜體字

<CITE></CITE>

 斜體字

<STRONG></STRONG>

 粗體字

<CODE></CODE>

 細體字

<DFN></DFN<

 正體字

<SMALL></SMALL>

 小字型

<BIG></BIG>

 大字型

特殊字型

顯示符號

代碼

<

&lt;

>

&qt;

&

&amp;

&quot;

橫線段

<HR SIZE=N> N表數字,越大越粗

長度的設定 WIDTH=N N表百分比或點數

線段的排列 ALIGN=leftcenterright

無陰影的設定 NOSHADE

備註

<!--備註文字-->

特殊格式

原貌呈現

<PRE></PRE>

每列最前頭空五格

<BLOCKQUOTE>/BLOCKQUOTE>

清單

無序號目錄清單

<MENU>

<LI>項目標題

</MENU>

屬性 TYPE=disccirclesquare 實心圓點、空心圓點、實心方塊

有序號目錄清單

<OL>

<LI>項目標題

</OL>

起始號碼設定 START=N N為數字

號碼型態設定 TYPE=1aAiI iI表大小寫羅馬數字

每行前加兩空格

<DL>

<DT>標題 每行前不加空格

<DD>內容 每行前加兩空白

</DL>

表格

<TABLE></TABLE>

邊線的設定 BORDER=N N表數字

格框線設定 CELLSPACING=N

框格與內容空隙 CELLPADDING=N 

表格高度 HEIGHT=N

表格寬度 WIDTH=N

表格位置 ALIGN=leftcenterright

背景顏色 BGCOLOR=#******

表格標題(Netscape不支援)

<CAPTION></CAPTION>

靠上靠下 VALGIN=topbotton

靠左靠右 ALIGN=leftcenterright

宣告列

<TR></TR>

標題、資料欄宣告

<TH></TH><TD></TD>

寬度設定 WIDTH=N

高度設定 HEIGHT=N

欄位背景顏色 BGCOLOR=#******

內容左右排列 ALIGN=leftcenterright

靠上靠下靠中 VALGIN=topmiddlebottom

行的擴張 CLOSPAN=N N表要擴充的欄位數

列的擴張 ROWSPAN=N N表要擴充的列位數

超鏈結

URL格式

scheme://host[:port]/path/filename scheme的值如httpftp...

超鏈結

<A HREF=URL>...</A>

file範例 <A HREF=file:///c|/windows/text/kkk.txt>...</A>

mail範例 <A HREF=mailto:kk@mail.aa.tw>...</A>

telnet範例 <A HREF=telnet://bbs.kk.tw>...</A>

news範例 <A HREF=news://news.tv.com/joe>...</A>

在某窗框開啟 TARGET=窗框名、_parent(前視窗)_top_blank(新產生視窗)

連結到檔案某一段

<A HREF=” #名稱”>...</A>

設定標號 <A NAME=”名稱...</A>

圖形

<IMG SRC=URL></IMG> </IMG>可省略

說明文字 ALT=說明

圖形高度 HEIGHT=pixel

圖形寬度 WIDTH= pixel

圖形邊框 BORDER=N

文字排列 ALIGN=bottommiddletopleftright

上下空隙設定 VSPACE=pixel

左右空隙設定 HSPACE=pixel


分割視窗

()多窗框

<FRAMESET ROWS=”X1,X2,...”>

<FRAME>

 …

<FRAMESET>

FRAME的屬性

路徑 SRC=URL

無法改變大小 NORESIZE

捲動軸 SCROLLING=YESNO

左右空格 MARGINWIDTH=pixel

上下空格 MARGINHEIFHT=pixel

是否顯示框邊 FRAMEBORDER=10 1表顯示,0表不顯示

窗框分界粗細 FRAMESPACING=pixel

窗框分界線顏色 BORDERCOLOR=#******

窗框名稱 NAME=窗框名稱

(瘦長)直排多窗框

<FRAMESET COLS=”X1,X2,...”>

<FRAME>

 …

<FRAMESET>

 

表單

<FORM METHOD=getpost ACTION=UTL>

</FORM>

表單外框

<FIELDSET>

<LEGEND>標題文字</LEGEND>

 …

</FIELDSET>

.一個FORM中內可以有多個不同的表單框區

文字欄位

<INPUT TYPE=text>

內定值 VALUE=預設文字

顯示寬度 SIZE=顯示寬度(單元是字元數)

最大資料長度 MAXLENGTH=最大字元數

不能修改 READONLY

按鈕

<INPUT TYPE=rest VALUE=按鈕標題>

<INPUT TYPE=submit VALUE=按鈕標題>

密碼文字欄位

<INPUT TYPE=password NAME=名稱 VALUE=預設值 SIZE=N MAXLENGTH=N>

隱藏文字欄位

<INPUT TYPE=hidden NAME=名稱 VALUE=預設值>

單一選項欄位()

<INPUT TYPE=radio NAME=名稱 VALUE=CGI程式參考的值>

預設勾選 CHECKED

無作用(灰色) DISABLED

 

 

多選項欄位()

<INPUT TYPE=checkbox NAME=名稱 VALUE=CGI程式參考的值>

預設勾選 CHECKED

無作用(灰色) DISABLED

圖片欄位

<INPUT TYPE=image NAME=名稱 SRC=URL ALIGN=文字排列方式>

.當此按鈕被按下時尚會傳出名稱.x”名稱.y”兩筆資料表滑鼠位置

清單欄位

<SELECT NAME= SIZE=多少選項的高度>

<OPTION VALUE=選項值 SELECTED>選項文字

</SELECT>

.SELECTED表預設值

多行文字區

<TEXTAREA COLS=長度 ROWS=寬度(單位是列)>預設文字</TEXTAREA>

圖像按鈕

<BUTTON NAME=名稱 TYPE=restsubmit>

<IMG SRC=URL>

</BUTTON>

自動轉換網頁

<META HTTP-EQUIV=”refresh” CONTENT=”秒數;URL=位置”>

設定網頁格式

<META HTTP-EQUIV=”Content-Type” CONTENT=”TEXT/HTML;CHARSET=big5”>

 

背景音樂

<BGCOLOR SRC=URL LOOP=撥放次數、infinite DELAY=延遲撥放的秒數>

<EMBED SRC=URL HEIGHT=piel WIDTH=pixel LOOP=次數 UTOSRART=yesno>

.infinite表示一直重覆撥放,UTOSTART表是否自動撥放

2022年2月7日 星期一

111年寒假教師資訊科技融入教學研習教材-題庫批次匯入google表單

 題庫批次匯入google表單方式(研習簡報)

步驟一、先將WORD檔或其他文字檔和式轉成EXCEL檔
步驟二、將EXCEL檔按照規格複製到GOOGLE的試算表中(有圖片的也可以插入)
步驟三、設定GOOGLE APP SCRIPT程式批次檔內容
步驟四、開啟表單,作最後確認並公告網址


步驟一、先將WORD檔或其他文字檔和式轉成EXCEL檔


1.先將文件檔中的答案項、題幹、選項用特殊符號@取代之


 (1)將(A)、(B)、(C)、(D)取代成@,「常用」→「取代」
    完成後如下

(2)將【、】取代成@,方法同上










完成後如下









(3)將所有文字轉成表格,先選取所有題目內容,「插入」→「表格」→「文字轉換表格」,設定分隔文字在→其他:@,按「確定」,如下圖:

















完成後如下圖

(4)複製整個表格貼到EXCEL或GOOGLE試算表(需先開啟)中 ,如下圖



步驟二、將EXCEL檔按照規格複製到GOOGLE的試算表中(有圖片的也可以插入)

(1)將欄位調整成下列順序(範例檔)

題目  答案  選項一 選項二 選項三 選項四    圖片網址    圖片

如下圖



(2)最上方插入一列,將第一列設定為說明列,如下  

1
題目  答案  選項一 選項二 選項三 選項四    圖片網址    圖片


(3)將答案欄中的A、B、C、D要取代成1、2、3、4

步驟三、設定GOOGLE APP SCRIPT程式批次檔內容

(1)設定試算表上方檔案名稱及儲存位置
(3)點選試算表上方「擴充功能」→「Apps Script」
(4)更改上方Apps Script名稱,如下圖

(5)設定程式上方3-7行的參數
(6)設定完成如下,點選試算表右上方「共用」→「取得連結」存網址,將網址貼入url=''中

(7)點選1.儲存專案扭,並點選2.執行。進入授權畫面,點選「審查權限」,選擇電子郵件信箱,點選「允許」





(8)完成後畫面如下: