Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 915 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 liveuser 1
<?php
2
 
3
#namespace qbpwcf
4
namespace qbpwcf;
5
 
6
#匯入外部套件
7
include("../allInOne.php");
8
 
9
#提示目前測試的項目
10
echo "<hr>session::getSessionValue - testCase 1<p>";
11
 
12
/*
13
 
14
$_SESSION["testCase"]["sessionT"]["testSessionVar"]="test!";
15
 
16
#函式說明:
17
#取得session變數裡面的數值,然後卸除該session變數
18
#回傳的結果:
19
#$result,取得的變數內容
20
#必填的參數:
21
$conf["sessionVarName"]=&$_SESSION["testCase"]["sessionT"]["testSessionVar"];#session變數的名稱,請保留前面的&
22
#可省略的參數:
23
$conf["unsetSessionVar"]="true";#"true"代表要卸除session變數
24
#var_dump(session::getSessionValue($conf));
25
unset($conf);
26
 
27
*/
28
 
29
#提示目前測試的項目
30
echo "<hr>session::create - testCase 1<p>";
31
 
32
/*
33
 
34
#涵式說明:
35
#建立session變數,並指派其內容
36
#回傳的結果:
37
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
38
#$result["error"],錯誤訊息陣列
39
#必填的參數:
40
$conf["sessionName"]="layer1.layer2.layer3.layer4.layer5";#要建立的session變數key,第1個元素代表第1個key,其餘以此類推。
41
#可省略的參數: 
42
$conf["sessionValue"]="test!";#session變數的內容要存放什麼呢? 
43
var_dump(session::create($conf));
44
unset($conf);
45
var_dump($_SESSION["layer1.layer2.layer3.layer4.layer5"]);
46
 
47
*/
48
 
49
#提示目前測試的項目
50
echo "<hr>session::createMulti - testCase 1<p>";
51
 
52
/*
53
 
54
#函數說明:
55
#建立多個session變數
56
#回傳結果:
57
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗.
58
#$reuslt["function"],當前執行的函數.
59
#$result["error"],錯誤訊息陣列.
60
#必填參數:
61
#$conf["sessionArrayName"],字串陣列,要建立的session陣列變數名稱,建議可採用name1.name2.name3的格式。
62
$conf["sessionArrayName"]=array("a","b","c");
63
#$conf["sessionArrayValue"],字串陣列,session變數的內容要存放什麼呢?
64
$conf["sessionArrayValue"]=array("A","B","C");
65
#可省略參數:
66
#無
67
var_dump(session::createMulti($conf));
68
unset($conf);
69
 
70
var_dump($_SESSION["a"]);
71
var_dump($_SESSION["b"]);
72
var_dump($_SESSION["c"]);
73
 
74
*/	
75
 
76
#提示目前測試的項目
77
echo "<hr>session::getPreAndNowPosition - testCase 1<p>";
78
 
79
/*
80
 
81
#函式說明:
82
#記錄當前訪問的頁面,並且保存上一個訪問的頁面.
83
#回傳的結果:
84
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
85
#$result["error"],錯誤訊息陣列.
86
#$result["nowPosition"],現在訪問的頁面.
87
#$result["prePosition"],上一個訪問的頁面.
88
var_dump(session::getPreAndNowPosition());
89
 
90
*/
91
 
92
#提示目前測試的項目
93
echo "<hr>session::getSessionValue - testCase 1<p>";
94
 
95
/*
96
 
97
#函式說明:
98
#取得session變數裡面的數值,然後卸除該session變數
99
#回傳的結果:
100
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
101
#$result["error"],錯誤訊息
102
#$result["founded"],是否找到session變數,"true"代表找到,"false"代表沒找到.
103
#$result["content"],取得的變數內容
104
#必填的參數:
105
#$conf["sessionVarName"],字串,要取得內容的session變數名稱
106
$conf["sessionVarName"]="username";
107
#可省略的參數:
108
#$conf["unsetSessionVar"],字串,代表要卸除session變數,預設為"false"不卸除,"true"代表要卸除.
109
#$conf["unsetSessionVar"]="true";
110
#參考資料:
111
#call-time-pass-by-reference-easy-fix-available=>http://stackoverflow.com/questions/8971261/php-5-4-call-time-pass-by-reference-easy-fix-available
112
#可變變數=>http://emn178.pixnet.net/blog/post/80119035-php%E6%95%99%E5%AD%B8---%E8%AE%8A%E6%95%B8%28variables%29
113
#卸除參考的原始變數=>http://stackoverflow.com/questions/6654538/php-function-to-unset-variables-passed-by-reference
114
var_dump(session::getSessionValue($conf));
115
unset($conf);
116
 
117
*/
118
 
119
#提示目前測試的項目
120
echo "<hr>session::getMultiSessionValues - testCase 1<p>";
121
 
122
/*
123
 
124
#測試用的session變數
125
$_SESSION["a"]="A";
126
$_SESSION["b"]="B";
127
$_SESSION["c"]="C";
128
 
129
#函式說明:
130
#取得多個指定的session變數,並卸除之。
131
#回傳結果:
132
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
133
#$result["error"],錯誤訊息陣列
134
#$result["function"],當前執行的函式名稱.
135
#$result["founded"],是否找到所有的session變數,"true"代表找到,"false"代表沒找到.
136
#$result["content"],取得的session變數內容陣列
137
#必填的參數:
138
$conf["sessionVarNameArray"]=array("a","b","c");#要取得內容的多個session變數名稱
139
#可省略的參數:
140
#$conf["keyArrayOfGotSessionValue"]=array("A","B","C");#取得的session變數是否要將其key從「0,1,2...」改成自定的「名稱1,名稱2,名稱3...」。
141
#$conf["unsetSessionVars"]="false";#"true"代表要卸除取值完的session變數,反之"false"爲保留session變數,預設爲"true"。
142
$result=session::getMultiSessionValues($conf);
143
unset($conf);
144
 
145
#檢查回傳的結果
146
var_dump($result);
147
 
148
#檢查session變數的狀況
149
var_dump($_SESSION);
150
 
151
*/
152
 
153
#提示目前測試的項目
154
echo "<hr>session::getMultiSessionValues - testCase 2<p>";
155
 
156
/*
157
 
158
#測試用的session變數
159
$_SESSION["a"]="A";
160
$_SESSION["b"]="B";
161
$_SESSION["c"]="C";
162
 
163
#函式說明:
164
#取得多個指定的session變數,並卸除之。
165
#回傳結果:
166
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
167
#$result["error"],錯誤訊息陣列
168
#$result["function"],當前執行的函式名稱.
169
#$result["founded"],是否找到所有的session變數,"true"代表找到,"false"代表沒找到.
170
#$result["content"],取得的session變數內容陣列
171
#必填的參數:
172
$conf["sessionVarNameArray"]=array("a","b","c");#要取得內容的多個session變數名稱
173
#可省略的參數:
174
$conf["keyArrayOfGotSessionValue"]=array("A","B","C");#取得的session變數是否要將其key從「0,1,2...」改成自定的「名稱1,名稱2,名稱3...」。
175
#$conf["unsetSessionVars"]="false";#"true"代表要卸除取值完的session變數,反之"false"爲保留session變數,預設爲"true"。
176
$result=session::getMultiSessionValues($conf);
177
unset($conf);
178
 
179
#檢查回傳的結果
180
var_dump($result);
181
 
182
#檢查session變數的狀況
183
var_dump($_SESSION);
184
 
185
*/
186
 
187
#提示目前測試的項目
188
echo "<hr>session::createMulti - testCase 1<p>";
189
 
190
/*
191
 
192
#函數說明:
193
#建立多個session變數
194
#回傳結果:
195
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗.
196
#$reuslt["function"],當前執行的函數.
197
#$result["error"],錯誤訊息陣列.
198
#必填參數:
199
#$conf["sessionArrayName"],字串陣列,要建立的session陣列變數名稱,建議可採用name1.name2.name3的格式。
200
$conf["sessionArrayName"]=array("a","b","c");
201
#$conf["sessionArrayValue"],字串陣列,session變數的內容要存放什麼呢?
202
$conf["sessionArrayValue"]=array("A","B","C");
203
#可省略參數:
204
#無
205
var_dump(session::createMulti($conf));
206
unset($conf);
207
 
208
*/
209
 
210
#提示目前測試的項目
211
echo "<hr>session::formVarToSession - testCase 1<p>";
212
 
213
/*
214
 
215
#涵式說明:
216
#一個簡單的按鈕,按了可以到指定的頁面,同時也可以傳送多個隱藏的變數
217
#回傳的結果
218
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
219
#$result["error"],錯誤訊息陣列
220
#$result["function"],當前執行的函數名稱.
221
#$result["content"],語法內容
222
#必填的參數:
223
$conf["buttonDisplayValue"]="傳送post表單變數";#按鈕上要顯示的文字
224
#可以省略的參數:
225
#$conf["buttonStyleName"]="";#按鈕的css樣式應該爲何,若省略的話預設會採用 __simpleButtonLinkDefaultButtonCssStyle 的樣式,其設定為"width:100%;height:50;font-size:30;text-align:center;
226
$conf["hiddenVarName"]=array("post1","post2","post3");#要傳送的隱藏變數名稱,與 $conf["hiddenVarContent"] 相對應。
227
$conf["hiddenVarContent"]=array("value1","value2","value3");#要傳誦的隱藏變數內容,與 $conf["hiddenVarName"] 相對應。
228
#$conf["disabled"]="true";#可省略,為按鈕的功能是否要取消,若為"true"則代表要取消,若為"false"則代表功能正常,預設為"false".
229
$conf["formStart"]="true";#爲是否要表單開始,如果爲"true"則代表要表單開始,預設爲"false".
230
#$conf["method"]="";#爲傳輸的方法,若沒設定則預設爲post,其他可用的參數爲get。
231
#$conf["formName"]="";#該表單的名稱
232
$conf["actionPage"]=$_SERVER["PHP_SELF"];#按鈕按了之後要到哪個地方?若爲 $_SERVER["PHP_SELF"],則爲回到目前頁面。
233
#$conf["buttonActionScriptFunction"]="";#可省略,爲按下按鈕時所要執行的javaScript函式,預設不設定。
234
	#可以是"document.forms.formName.submit()"(傳送名爲testForm的表單內容).
235
$conf["formEnd"]="true";#爲是否要表單結束,如果爲"true"則代表要表單結束,預設爲"false"
236
#$conf["tableStart"]="true";#爲是否要表格開始,"true"表示"是",預設為"false".
237
#$conf["tableClass"]="__withoutBorder";#爲表格要採用的css樣式名稱,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式,預設為"__withoutBorder".
238
#$conf["trStart"]="true";#爲是否要以<tr>開頭,"true"表示"是"。也可以看作新的一列開始,預設為"false".
239
#$conf["trClass"]="__withoutBorder";#列開始的css樣式,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式,預設為"__withoutBorder"
240
#$conf["tdStart"]="true";#爲是否要以<td>開頭,"true"表示"是"。也可以看成列裏面的元素開始,預設為"false"
241
#$conf["tdClass"]="__withoutBorder";#行開始的css樣式,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式,預設為"__withoutBorder"
242
#$conf["tdEnd"]="true";#爲是否要以</td>結尾,"true"表示"是"。也可以看成列裏面的元素結束,預設為"false".
243
#$conf["trEnd"]="true";#爲是否要以</tr>結尾,"true"表示"是"。也可以看作該列結束,預設為"false".
244
#$conf["displayTarget"]="";#頁面的呈現方法,可以是開新視窗(_blank)、在目前頁面、頁框裏面(_self)、在父頁面(_parent)、最上層頁面(_top),預設為"_top"。
245
#$conf["tableEnd"]="true";#爲是否要表格結束,"true"表示"是",預設為"false".
246
echo form::sendHugeDataButton($conf)["content"];
247
unset($conf);
248
 
249
#函式說明:
250
#接收post表單變數後另存成session變數 
251
#回傳結果:
252
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
253
#$result["errot"],錯誤訊息陣列.
254
#$result["function"],當前的函數名稱.
255
#必填參數:
256
#$conf["checkedVarName"],字串陣列,要接收的表單變數名稱陣列,如果有缺就代表不通過.
257
$conf["checkedVarName"]=array("post1","post2","post3");
258
#可省參數:
259
#$conf["limitPrePage"],字串陣列,為前一頁的名稱須為陣列元素之一,不滿足則代表不合法,因此要轉址。
260
#$conf["limitPrePage"]=array();
261
#$conf["transferLocation"],變數來的途徑不合法時要轉址到的地方,預設爲資安素養網"https://isafe.moe.edu.tw/
262
#$conf["transferLocation"]="";
263
#$conf["sessionArrayName"],字串陣列,各個表單變數要轉存成session變數時的key為何.
264
$conf["sessionArrayName"]=array("var1","var2","var3");
265
var_dump(session::formVarToSession($conf));
266
unset($conf);
267
 
268
var_dump($_SESSION);
269
 
270
*/
271
 
272
#提示目前測試的項目
273
echo "<hr>session::formVarToSession - testCase 1<p>";
274
 
275
/*
276
 
277
#session_unset($_SESSION);
278
$_SESSION["a"]["b"]["c"]=array("A1","B2","C3");
279
 
280
#函式說明:
281
#取得指定的session數值 
282
#回傳結果:
283
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
284
#$result["error"],錯誤訊息.
285
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
286
#$result["content"],session變數的內容
287
#$result["function"],當前執行的函數名稱.
288
#$result["argu"],使用的參數.
289
#必填參數:
290
#$conf["key"],字串陣列,session的key名稱與層級.
291
$conf["key"]=array("a","b","c");
292
$getVal=session::getVal($conf);
293
unset($conf);
294
 
295
#如果執行失敗
296
if($getVal["status"]==="false"){
297
 
298
	#印出內容
299
	var_dump($getVal);
300
 
301
	#結束程式
302
	exit;
303
 
304
	}#if end
305
 
306
#印出內容
307
var_dump($getVal);
308
 
309
*/
310
 
311
#提示目前測試的項目
312
echo "<hr>session::setVal - testCase 1<p>";
313
 
314
/*
315
 
316
#設置指定的session變數 
317
#回傳結果:
318
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
319
#$result["error"],錯誤訊息.
320
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
321
#$result["content"],session變數的內容
322
#$result["function"],當前執行的函數名稱.
323
#$result["argu"],使用的參數.
324
#必填參數:
325
#$conf["key"],字串陣列,session的key名稱與層級.
326
$conf["key"]=array("a","b","c");
327
#$conf["val"],任意型態,指定的session變數內容.
328
$conf["val"]="ABC-def";
329
$setVal=session::setVal($conf);
330
unset($conf);
331
 
332
#如果設置 session 變數失敗
333
if($setVal["status"]==="false"){
334
 
335
	#印出內容
336
	var_dump($setVal);
337
 
338
	#結束程式
339
	exit;
340
 
341
	}#if end
342
 
343
#印出內容
344
var_dump($setVal);
345
 
346
#檢查 session
347
var_dump($_SESSION);
348
 
349
*/
350
 
351
#提示目前測試的項目
352
echo "<hr>session::setVal - testCase 2<p>";
353
 
354
/*
355
 
356
#設置指定的session變數 
357
#回傳結果:
358
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
359
#$result["error"],錯誤訊息.
360
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
361
#$result["content"],session變數的內容
362
#$result["function"],當前執行的函數名稱.
363
#$result["argu"],使用的參數.
364
#必填參數:
365
#$conf["key"],字串陣列,session的key名稱與層級.
366
$conf["key"]=array("a","b","c");
367
#$conf["val"],任意型態,指定的session變數內容.
368
$conf["val"]="ABC-def";
369
#可省略參數:
370
#$conf["storeAsNotRepeatArray"],字串,"true"代表要將變數內容存成陣列,預設為"false".
371
$conf["storeAsNotRepeatArray"]="true";
372
$setVal=session::setVal($conf);
373
unset($conf);
374
 
375
#如果設置 session 變數失敗
376
if($setVal["status"]==="false"){
377
 
378
	#印出內容
379
	var_dump($setVal);
380
 
381
	#結束程式
382
	exit;
383
 
384
	}#if end
385
 
386
#印出內容
387
var_dump($setVal);
388
 
389
#檢查 session
390
var_dump($_SESSION);
391
 
392
*/
393
 
394
#提示目前測試的項目
395
echo "<hr>session::setMultiVal - testCase 1<p>";
396
 
397
/*
398
 
399
#函式說明:
400
#設置多個session變數的內容 
401
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
402
#$result["error"],錯誤訊息.
403
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
404
#$result["content"],每個設置好的session變數資訊
405
#$result["function"],當前執行的函數名稱.
406
#$result["argu"],使用的參數.
407
#必填參數:
408
#$conf["key"],二維陣列,每個session的key名稱與層級.
409
$conf["key"]=array(array("n1",1),array("n2",2),array("3n","c"));
410
#$conf["val"],陣列,每個指定的session變數內容.
411
$conf["val"]=array("v1",array("v2"),3);
412
$setMultiVal=session::setMultiVal($conf);
413
unset($conf);
414
 
415
#如果執行失敗
416
if($setMultiVal["status"]==="false"){
417
 
418
	#印出內容
419
	var_dump($setMultiVal);
420
 
421
	#結束程式
422
	exit;
423
 
424
	}#if end
425
 
426
#印出內容
427
var_dump($setMultiVal);
428
 
429
#檢查 session
430
var_dump($_SESSION);
431
 
432
*/
433
 
434
#提示目前測試的項目
435
echo "<hr>session::setMultiVal - testCase 2<p>";
436
 
437
/*
438
 
439
#函式說明:
440
#設置多個session變數的內容 
441
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
442
#$result["error"],錯誤訊息.
443
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
444
#$result["content"],每個設置好的session變數資訊
445
#$result["function"],當前執行的函數名稱.
446
#$result["argu"],使用的參數.
447
#必填參數:
448
#$conf["key"],二維陣列,每個session的key名稱與層級.
449
$conf["key"]=array(array("n1",1),array("n2",2),array("3n","c"));
450
#$conf["val"],陣列,每個指定的session變數內容.
451
$conf["val"]=array("v1",array("v2"),3);
452
#可省略參數:
453
#$conf["storeAsNotRepeatArray"],字串,"true"代表要將變數內容存成陣列,預設為"false".
454
$conf["storeAsNotRepeatArray"]="true";
455
$setMultiVal=session::setMultiVal($conf);
456
unset($conf);
457
 
458
#如果執行失敗
459
if($setMultiVal["status"]==="false"){
460
 
461
	#印出內容
462
	var_dump($setMultiVal);
463
 
464
	#結束程式
465
	exit;
466
 
467
	}#if end
468
 
469
#印出內容
470
var_dump($setMultiVal);
471
 
472
#檢查 session
473
var_dump($_SESSION);
474
 
475
*/
476
 
477
?>