檢視 網頁程式撰寫/丁禾 的原始碼
←
網頁程式撰寫/丁禾
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
==筆記== #<meta http-equiv='content-type' content='text/html;charset=UTF-8'/> #*meta:對html文檔的描述 #*http-equiv:meta標籤要描述的類型 #*content-type:http-equiv的類型下要描述的內容 #*charset:字級編碼(例:UTF-8、BIG-5等) #CSS:串接樣式表(在html是style)網上的.CSS檔就是封包的style內容。 #伺服器語言三大系統: #*ASP:微軟所有,要是微軟倒了就沒了,安全性也較差(開發者是以賺錢為出發點)。 #*JSP:性能比ASP好,業界(大公司)常用,半開放(允許私佔)。 #*PHP:開放,免費,此課程的中心,與前端呼應,又可控制後端。 #SQL:後端資料庫,標準語法。 #ajax:是javascrip中用來開通和伺服器通道的技術(例:學程該做的事) #form屬性 #action是做出回應的檔案位置。 #*input: #**type:輸入變數的種類(例如text、password、submit之類)<input type='變數的種類'> #***submit:後送按鈕,是將輸入變數送到後台,可用value改變按鈕的顯示名稱。 #***name:輸入變數的名稱 #***value:在輸入變數前欄位就會出現的預設值 #***maxlength #***select #***teetarea #駝峰式表示法:變數名稱除了第一個單字外字首全部大寫(例:studentName) #php指令分為三段 ##命令 ##*echo:送出<?php echo ;?> ##*$connect=mysql_connect:連接MySQL資料庫。<?php $connect=mysql_connect('連接位置','帳號','密碼'); ?> ##**mysql_close關閉與MySQL資料庫的連結。指令為mysql_close(連結ID),承上例:mysql_close($connect) ##**"insert into web set 姓名(要插入的欄位)='".(要插入的內容)."'"在資料庫中的「姓名」欄中插入一筆。 ##**"update web set 姓名(要更改的欄位)='". (要更改的內容) ."' where wid=""更改資料庫中的某一筆,前面承上,後加的where wid=後打更改位置。 ##**"insert into web set 姓名(要更改的欄位)='". ."' where wid=(wid欄中數字)"刪除資料庫中的某一筆,前面承上,後加的where wid=後打更改位置。 ##資料 ##*$_REQUEST[]括號中填的是前端送來的變數。例如:$_REQUEST[studentName]就是指前端名為studentName變數的值。<?php echo $_REQUEST[u] ;?> ##*雙引號'''"'''為字串開始和字串結束。例:"123" ##*'''.'''為連結字串的符號。例:"123"."345"="123345" ##執行(即為''';'''分號) ==筆記二== #HTML段落是給瀏覽器了解的,php段落是給伺服器了解的 #php嵌入Html的方法: #*短型:<?…?> #*XML型:<?php…?> #*SCRIPT型:<SCRIPT language='php'?>…</SCRIPT> #*ASP型:<%…%> #$:在php中是變數前置符號,置於變數前(例:$aa、$bb) #php中變數名稱分大小寫(例:$aa、$AA、$Aa是不一樣的變數),保留字(php已經指定好的文法單字)不分大小寫。 #程式撰寫基本四個型別 ##字串:要用引號框起來'sdfa' ##整數:123(沒加引號是代表數值「一百二十三」、'123'則代表字串) ##浮點數:12.5、123.234...等等 ##布林值: ##*只有兩個值:true或1、false或0 #php中=是派入(例:$a=123;是指將變數a的值設為123),要比大小要用==是不管型別比較(例:123==123;、123=='123'),===是型別和內容都要比較(例:123===123但不會123==='123') #PHP註解 #*單行註解用#(例:#這是一個變數) #多行註解用/**/(例:<br/>/*這是一個變數<br/>這是一個TM的變數*/) #GET:由網址列就可傳送變數到後端,能傳得比POST小 #POST:要從表單傳送變數。比GET大很多,可傳圖片、幾萬字,會重編碼變很多百分比 *#<form action='r.php' method='GET/POST' /> 此段後面的method就是前端資料給後端的方法,可選擇GET或POST ==筆記三== #空字串 #null是既沒位置也沒內容,資料型別是null #餘數(%)取除法餘數,例: #* #* #* #or(||):其中至少要有一個為true #*真||真=真 #*真||假=真 #*假||真=真 #*假||假=假 #and(&&)兩個都要為真 #*真&&真=真 #*真&&假=假 #*假&&真=假 #*假&&真=假 #not(!) #變數前加$號,常數前不加$號 #常數用define("常數名",常數值)指定值,例define("NM",「妮姬」),常數NM得值就是「妮姬」 #變數名字有分大小寫,不可以用數字開頭,也不能用-、@、!、+等運算元 #可以宣告變數,但通常不需要宣告,第一次指派值時,變數會自然產生。例:var $x; #指定值給變數:$變數名=數值、字串或另一變數。例:$x=8; #動態變數(變數名為變數):如$a="b";則$$a為$b。$$a以變數$a之值為名。 ===陣列=== #字串索引 #*$x=array('引一'=>2,'引二'=>3,'引三'=>4); #不設定索引序列從0開始(0,1,2,3...) #*例:$x=array(1,1,2);,$x[0]=1、$x[1]=1、$x[2]=2 ===敘述區塊=== #敘述區塊:{}中間放可執行的的敘述。區塊結束處不必加';',但區塊內每個動作末尾均要加';' #*if #**(條件一){做一}elseif(條件二){做二}elseif(條件三){做三}…else{做其他} #*switch #**switch(變數) {case 值一 : 做一;break; case 值二 : 做二;break; case 值三 : 做三;break; default :做其他;break; } ==筆記四== #$result=mysql_query("select 姓名,phone from web where 姓名!=' ' "); #*query 請求 #*select 某幾欄 #*from 某張表 #*where 條件 ==std筆記== ===2016/11/18=== #建 account_xxx資料表 #*登入mysql,建一個新資料表。 #建 std.php 加基本五行。 #*如下: #**<?php #**include_once '../serverConstant.php'; //載入伺服器常數檔 #**include_once CLASS_FILE_PATH."/database/etable.php"; //載入etable.php #**$ET=new etable; //建一個新etable #**$ET->sql[0]="select * from account_TH"; //選擇要用的mysql資料表 #**$ET->main(); #**?> #加 css、editable、perpage、colAlias 諸屬性 #*$ET->css='default'; //etable預設的css #*$ET->editable="7"; //設定編輯權限(7是可看可邊可刪可插入) #*$ET->perpage=5; //設定一頁要顯示幾筆(5就是5筆) #*$ET->colAlias=array('money'=>'支出','date'=>'日期','summary'=>'摘要','account_e'=>'費用','account_a'=>'減去資產','subaccount'=>'項目','subaccountItem'=>'子項','name'=>'支付者') ; //設定要顯示在網頁中表單上各欄的代稱,例:array(lc_name=>代稱,…) #加 formType 屬性 #*$ET->formType=array('date'=>array('date'),'account_e'=>array('checkbox',array('費用'=>'費用')),'account_a'=>array('radio' ,array('現金'=>'現金','存款'=>'存款')),'subaccount'=>array('radio' ,array('食'=>'食','衣'=>'衣','住'=>'住','行'=>'行','育'=>'育','樂'=>'樂')),'name'=>array('radio' ,array('丁智仁'=>'丁志仁','白憶蘭'=>'白憶蘭'))); #*設定各欄的選擇方式(例checkbox和date...等),以及設定其後送質 #*派值範例: #**$formType=array('長欄名'=>array('select',array('值'=>'提示文字','值'=>'提示文字','值'=>'提示文字',…)), #**'長欄名'=>array('select2',第一選單陣列,第二選單長欄名,第二選單二維陣列,第二選單以提示代表欄值), #**'長欄名'=>array('select22',array(0=>'===請選擇===')), #**'長欄名'=>array('searchSelect', array(''=>'===請輸入姓名或公司名稱===')), #**'長欄名'=>array('radio' ,array('值'=>'提示文字','值'=>'提示文字','值'=>'提示文字',…)), #**'長欄名'=>array('radioyn',array('0之提示','1之提示')), #**'長欄名'=>array('checkbox',array('勾選後送值'=>'提示')), #**'長欄名'=>array('date',array('ifFormat'=>'daFormat')),改畢,因欄值'%Y-%m-%d'是小日曆認得的格式,所以預選日期為欄值日期 #**'長欄名'=>array('auto',array('plain','html','wiki','tex')),改畢,$this->formType中未定義,則$this->fields[$i]["formType"]會自動將該欄定為auto型,如欄型為TEXT則form出textarea,其他出文字欄。第二元素為語法組合陣列,預設為plain(純文本)。 #**'長欄名'=>array('hidden',函式,表單種類), #**'長欄名'=>array('password',array('編碼方式'=>'編碼指示')),編碼方式目前有plain,其指示為1,MD5其指示有 #**'長欄名'=>array('unix_time',"Y-m-d<bR>H:i:s",表單種類),待改,因欄值'%s'是小日曆不認得的格式,所以預選日期為跑到當天日期,要認得欄值格式須為「年-月-日 [10] 時:分」,用Calendar.setDateFormat('%s');無效。此事無解,參看http://192.168.3.175/et/class/calendar/jstest.htm,不是每一種格式jscalendar都可以認得出日期,如Date #0:的%s會解不出日期,Date #2:的…會解錯日期,Date #4:解不出日期。 #**'長欄名'=>array('oneWaySwitch',array(0=>'按鈕字',值=>'按完字')), #**'長欄名'=>array('wrap') #嵌入 WWEB 中。 #*require_once "theme.php"; #*if(!isset($_REQUEST['exec_type'])){echo $html1;} //載入theme和$html1 #*if(!isset($_REQUEST['ajax'])){echo $html2;} //加在最後,載入$html2 #加入密碼驗證。 ===2016/11/25=== *建立 DVD.php *#加 colAlias、formType 屬性 *#*$ET->sql[0]="select concat(Name,'-',number),album,EN,buyDate,inHome from DVD"; //選擇要用的mysql資料表 *#*$ET->colAlias=array("concat(Name,'-',number)"=>'片名數量','album'=>'套片','EN'=>'字幕','buyDate'=>'購買日期','inHome'=>'是否在家') ; *#*concat(Name,'-',number)可將兩欄位合在一起,不過因為是演算式所以無法編輯。應用上可只放單項,例:concat(Name)來防止人家編你不想改的欄位。 *#加 formType/oneWaySwitch 到 inHome 欄 *#*$ET->formType=array('inHome'=>array('oneWaySwitch',array(0=>'待還',1=>'已還'))); *#加 concat(Name,'-',number) 演算式欄位,並了解演算式欄位無法編輯 *#加 演算式欄位的代名 *#加 moreCol(額外欄) 屬性,並解釋自訂函式 f1,f2 *#加 formValidate 驗證屬性,並解釋正規表示式 *#*$ET->formValidate=array('Name'=>array('.+','請寫片名')); *#*'.+' 必填 *#*'^[^\\s]+@[^\\s]+\\.[^\\s]+$' email *#*'^[1-9]\\d*$' 正整數 *#*'^[A-Z]{1}[0-9]{9}$' 身份證號 *#*'^(\\d+|[1-9]\\d*)$' 非負整數 *#*'^(-?(\\d+|[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+))$' 數字 *#*'^(\\d+|[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+)$' 非負數值 *#*'^((19|20)?[0-9]{2}[- /.](0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01]))$' 合理的日期 *回到 std.php *#加 驗證屬性 到 summary、money 兩欄 *#*$ET->formValidate=array( *#*'money'=>array('^[1-9]\\d*$','支出必須是正整數'), *#*'summary'=>array('.+','摘要不能空白'), *#*'name'=>array('.+','支付者不能空白'), *#*'subaccount'=>array('.+','項目不能空白') *#*); *#同學取回連動兩陣列 *#加 formType/select2,select22 到 subaccount,subaccountItem 兩欄 *#*$ET->formType=array( *#*'date'=>array('date'), *#*'account_e'=>array('checkbox',array('費用'=>'費用')), *#*'account_a'=>array('radio' ,array('現金'=>'現金','存款'=>'存款')), *#*'name'=>array('radio' ,array('丁智仁'=>'丁志仁','白憶蘭'=>'白憶蘭')), *#*'subaccount'=>array('select2',$category,'subaccountItem',$categoryItem,1), *#*'subaccountItem'=>array('select22',array(0=>'===請選擇===')) *#*); *#加函式f1、f2 *#*$ET->main(); *#*if(isset($login->checkin) && $login->checkin==0){echo $nowMsg;} *#*if(!isset($_REQUEST['ajax'])){echo $html2;} *#*?> ===2016/12/23=== ==多國語系== #撰寫「std0En.php」 ##先寫基本五行: ##*include_once '../serverConstant.php'; //載入伺服器常數檔 ##*'''include_once CLASS_FILE_PATH."/database/etloc_en.php";''' ##*include_once CLASS_FILE_PATH."/database/etable.php"; //載入etable.php ##*$ET=new etable; //建一個新etable ##*'''$ET=css='default'; //建一個新etable''' ##*$ET->sql[0]="select * from account_jj"; //選擇要用的mysql資料表 ##*$ET->main(); ##*加粗的為後來增加的兩行,css檔和載入語言檔 ##加$ET->editable="7"; //設定編輯權限(7是可看可邊可刪可插入) #製作英文布景 themeEn.php #*重做一個themeEn.php #*將選項欄裡面的內容翻成英文 #*改xo-banner裡面的標題字
返回到
網頁程式撰寫/丁禾
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊