Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#namespace qbpwcf
namespace qbpwcf;

#匯入外部套件
include("../allInOne.php");

#提示目前測試的項目
echo "<hr>session::getSessionValue - testCase 1<p>";

/*

$_SESSION["testCase"]["sessionT"]["testSessionVar"]="test!";

#函式說明:
#取得session變數裡面的數值,然後卸除該session變數
#回傳的結果:
#$result,取得的變數內容
#必填的參數:
$conf["sessionVarName"]=&$_SESSION["testCase"]["sessionT"]["testSessionVar"];#session變數的名稱,請保留前面的&
#可省略的參數:
$conf["unsetSessionVar"]="true";#"true"代表要卸除session變數
#var_dump(session::getSessionValue($conf));
unset($conf);

*/

#提示目前測試的項目
echo "<hr>session::create - testCase 1<p>";

/*

#涵式說明:
#建立session變數,並指派其內容
#回傳的結果:
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["sessionName"]="layer1.layer2.layer3.layer4.layer5";#要建立的session變數key,第1個元素代表第1個key,其餘以此類推。
#可省略的參數: 
$conf["sessionValue"]="test!";#session變數的內容要存放什麼呢? 
var_dump(session::create($conf));
unset($conf);
var_dump($_SESSION["layer1.layer2.layer3.layer4.layer5"]);

*/

#提示目前測試的項目
echo "<hr>session::createMulti - testCase 1<p>";

/*

#函數說明:
#建立多個session變數
#回傳結果:
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗.
#$reuslt["function"],當前執行的函數.
#$result["error"],錯誤訊息陣列.
#必填參數:
#$conf["sessionArrayName"],字串陣列,要建立的session陣列變數名稱,建議可採用name1.name2.name3的格式。
$conf["sessionArrayName"]=array("a","b","c");
#$conf["sessionArrayValue"],字串陣列,session變數的內容要存放什麼呢?
$conf["sessionArrayValue"]=array("A","B","C");
#可省略參數:
#無
var_dump(session::createMulti($conf));
unset($conf);

var_dump($_SESSION["a"]);
var_dump($_SESSION["b"]);
var_dump($_SESSION["c"]);

*/      

#提示目前測試的項目
echo "<hr>session::getPreAndNowPosition - testCase 1<p>";

/*

#函式說明:
#記錄當前訪問的頁面,並且保存上一個訪問的頁面.
#回傳的結果:
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
#$result["error"],錯誤訊息陣列.
#$result["nowPosition"],現在訪問的頁面.
#$result["prePosition"],上一個訪問的頁面.
var_dump(session::getPreAndNowPosition());

*/

#提示目前測試的項目
echo "<hr>session::getSessionValue - testCase 1<p>";

/*

#函式說明:
#取得session變數裡面的數值,然後卸除該session變數
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
#$result["error"],錯誤訊息
#$result["founded"],是否找到session變數,"true"代表找到,"false"代表沒找到.
#$result["content"],取得的變數內容
#必填的參數:
#$conf["sessionVarName"],字串,要取得內容的session變數名稱
$conf["sessionVarName"]="username";
#可省略的參數:
#$conf["unsetSessionVar"],字串,代表要卸除session變數,預設為"false"不卸除,"true"代表要卸除.
#$conf["unsetSessionVar"]="true";
#參考資料:
#call-time-pass-by-reference-easy-fix-available=>http://stackoverflow.com/questions/8971261/php-5-4-call-time-pass-by-reference-easy-fix-available
#可變變數=>http://emn178.pixnet.net/blog/post/80119035-php%E6%95%99%E5%AD%B8---%E8%AE%8A%E6%95%B8%28variables%29
#卸除參考的原始變數=>http://stackoverflow.com/questions/6654538/php-function-to-unset-variables-passed-by-reference
var_dump(session::getSessionValue($conf));
unset($conf);

*/

#提示目前測試的項目
echo "<hr>session::getMultiSessionValues - testCase 1<p>";

/*

#測試用的session變數
$_SESSION["a"]="A";
$_SESSION["b"]="B";
$_SESSION["c"]="C";

#函式說明:
#取得多個指定的session變數,並卸除之。
#回傳結果:
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函式名稱.
#$result["founded"],是否找到所有的session變數,"true"代表找到,"false"代表沒找到.
#$result["content"],取得的session變數內容陣列
#必填的參數:
$conf["sessionVarNameArray"]=array("a","b","c");#要取得內容的多個session變數名稱
#可省略的參數:
#$conf["keyArrayOfGotSessionValue"]=array("A","B","C");#取得的session變數是否要將其key從「0,1,2...」改成自定的「名稱1,名稱2,名稱3...」。
#$conf["unsetSessionVars"]="false";#"true"代表要卸除取值完的session變數,反之"false"爲保留session變數,預設爲"true"。
$result=session::getMultiSessionValues($conf);
unset($conf);

#檢查回傳的結果
var_dump($result);

#檢查session變數的狀況
var_dump($_SESSION);

*/

#提示目前測試的項目
echo "<hr>session::getMultiSessionValues - testCase 2<p>";

/*

#測試用的session變數
$_SESSION["a"]="A";
$_SESSION["b"]="B";
$_SESSION["c"]="C";

#函式說明:
#取得多個指定的session變數,並卸除之。
#回傳結果:
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗。
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函式名稱.
#$result["founded"],是否找到所有的session變數,"true"代表找到,"false"代表沒找到.
#$result["content"],取得的session變數內容陣列
#必填的參數:
$conf["sessionVarNameArray"]=array("a","b","c");#要取得內容的多個session變數名稱
#可省略的參數:
$conf["keyArrayOfGotSessionValue"]=array("A","B","C");#取得的session變數是否要將其key從「0,1,2...」改成自定的「名稱1,名稱2,名稱3...」。
#$conf["unsetSessionVars"]="false";#"true"代表要卸除取值完的session變數,反之"false"爲保留session變數,預設爲"true"。
$result=session::getMultiSessionValues($conf);
unset($conf);

#檢查回傳的結果
var_dump($result);

#檢查session變數的狀況
var_dump($_SESSION);

*/

#提示目前測試的項目
echo "<hr>session::createMulti - testCase 1<p>";

/*

#函數說明:
#建立多個session變數
#回傳結果:
#$result["status"],執行狀態,"true"代表執行成功;"false"代表執行失敗.
#$reuslt["function"],當前執行的函數.
#$result["error"],錯誤訊息陣列.
#必填參數:
#$conf["sessionArrayName"],字串陣列,要建立的session陣列變數名稱,建議可採用name1.name2.name3的格式。
$conf["sessionArrayName"]=array("a","b","c");
#$conf["sessionArrayValue"],字串陣列,session變數的內容要存放什麼呢?
$conf["sessionArrayValue"]=array("A","B","C");
#可省略參數:
#無
var_dump(session::createMulti($conf));
unset($conf);

*/

#提示目前測試的項目
echo "<hr>session::formVarToSession - testCase 1<p>";

/*

#涵式說明:
#一個簡單的按鈕,按了可以到指定的頁面,同時也可以傳送多個隱藏的變數
#回傳的結果
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函數名稱.
#$result["content"],語法內容
#必填的參數:
$conf["buttonDisplayValue"]="傳送post表單變數";#按鈕上要顯示的文字
#可以省略的參數:
#$conf["buttonStyleName"]="";#按鈕的css樣式應該爲何,若省略的話預設會採用 __simpleButtonLinkDefaultButtonCssStyle 的樣式,其設定為"width:100%;height:50;font-size:30;text-align:center;
$conf["hiddenVarName"]=array("post1","post2","post3");#要傳送的隱藏變數名稱,與 $conf["hiddenVarContent"] 相對應。
$conf["hiddenVarContent"]=array("value1","value2","value3");#要傳誦的隱藏變數內容,與 $conf["hiddenVarName"] 相對應。
#$conf["disabled"]="true";#可省略,為按鈕的功能是否要取消,若為"true"則代表要取消,若為"false"則代表功能正常,預設為"false".
$conf["formStart"]="true";#爲是否要表單開始,如果爲"true"則代表要表單開始,預設爲"false".
#$conf["method"]="";#爲傳輸的方法,若沒設定則預設爲post,其他可用的參數爲get。
#$conf["formName"]="";#該表單的名稱
$conf["actionPage"]=$_SERVER["PHP_SELF"];#按鈕按了之後要到哪個地方?若爲 $_SERVER["PHP_SELF"],則爲回到目前頁面。
#$conf["buttonActionScriptFunction"]="";#可省略,爲按下按鈕時所要執行的javaScript函式,預設不設定。
        #可以是"document.forms.formName.submit()"(傳送名爲testForm的表單內容).
$conf["formEnd"]="true";#爲是否要表單結束,如果爲"true"則代表要表單結束,預設爲"false"
#$conf["tableStart"]="true";#爲是否要表格開始,"true"表示"是",預設為"false".
#$conf["tableClass"]="__withoutBorder";#爲表格要採用的css樣式名稱,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式,預設為"__withoutBorder".
#$conf["trStart"]="true";#爲是否要以<tr>開頭,"true"表示"是"。也可以看作新的一列開始,預設為"false".
#$conf["trClass"]="__withoutBorder";#列開始的css樣式,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式,預設為"__withoutBorder"
#$conf["tdStart"]="true";#爲是否要以<td>開頭,"true"表示"是"。也可以看成列裏面的元素開始,預設為"false"
#$conf["tdClass"]="__withoutBorder";#行開始的css樣式,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式,預設為"__withoutBorder"
#$conf["tdEnd"]="true";#爲是否要以</td>結尾,"true"表示"是"。也可以看成列裏面的元素結束,預設為"false".
#$conf["trEnd"]="true";#爲是否要以</tr>結尾,"true"表示"是"。也可以看作該列結束,預設為"false".
#$conf["displayTarget"]="";#頁面的呈現方法,可以是開新視窗(_blank)、在目前頁面、頁框裏面(_self)、在父頁面(_parent)、最上層頁面(_top),預設為"_top"。
#$conf["tableEnd"]="true";#爲是否要表格結束,"true"表示"是",預設為"false".
echo form::sendHugeDataButton($conf)["content"];
unset($conf);

#函式說明:
#接收post表單變數後另存成session變數 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["errot"],錯誤訊息陣列.
#$result["function"],當前的函數名稱.
#必填參數:
#$conf["checkedVarName"],字串陣列,要接收的表單變數名稱陣列,如果有缺就代表不通過.
$conf["checkedVarName"]=array("post1","post2","post3");
#可省參數:
#$conf["limitPrePage"],字串陣列,為前一頁的名稱須為陣列元素之一,不滿足則代表不合法,因此要轉址。
#$conf["limitPrePage"]=array();
#$conf["transferLocation"],變數來的途徑不合法時要轉址到的地方,預設爲資安素養網"https://isafe.moe.edu.tw/
#$conf["transferLocation"]="";
#$conf["sessionArrayName"],字串陣列,各個表單變數要轉存成session變數時的key為何.
$conf["sessionArrayName"]=array("var1","var2","var3");
var_dump(session::formVarToSession($conf));
unset($conf);

var_dump($_SESSION);

*/

#提示目前測試的項目
echo "<hr>session::formVarToSession - testCase 1<p>";

/*

#session_unset($_SESSION);
$_SESSION["a"]["b"]["c"]=array("A1","B2","C3");

#函式說明:
#取得指定的session數值 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
#$result["error"],錯誤訊息.
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
#$result["content"],session變數的內容
#$result["function"],當前執行的函數名稱.
#$result["argu"],使用的參數.
#必填參數:
#$conf["key"],字串陣列,session的key名稱與層級.
$conf["key"]=array("a","b","c");
$getVal=session::getVal($conf);
unset($conf);

#如果執行失敗
if($getVal["status"]==="false"){
        
        #印出內容
        var_dump($getVal);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($getVal);

*/

#提示目前測試的項目
echo "<hr>session::setVal - testCase 1<p>";

/*

#設置指定的session變數 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
#$result["error"],錯誤訊息.
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
#$result["content"],session變數的內容
#$result["function"],當前執行的函數名稱.
#$result["argu"],使用的參數.
#必填參數:
#$conf["key"],字串陣列,session的key名稱與層級.
$conf["key"]=array("a","b","c");
#$conf["val"],任意型態,指定的session變數內容.
$conf["val"]="ABC-def";
$setVal=session::setVal($conf);
unset($conf);

#如果設置 session 變數失敗
if($setVal["status"]==="false"){
        
        #印出內容
        var_dump($setVal);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($setVal);

#檢查 session
var_dump($_SESSION);

*/

#提示目前測試的項目
echo "<hr>session::setVal - testCase 2<p>";

/*

#設置指定的session變數 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
#$result["error"],錯誤訊息.
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
#$result["content"],session變數的內容
#$result["function"],當前執行的函數名稱.
#$result["argu"],使用的參數.
#必填參數:
#$conf["key"],字串陣列,session的key名稱與層級.
$conf["key"]=array("a","b","c");
#$conf["val"],任意型態,指定的session變數內容.
$conf["val"]="ABC-def";
#可省略參數:
#$conf["storeAsNotRepeatArray"],字串,"true"代表要將變數內容存成陣列,預設為"false".
$conf["storeAsNotRepeatArray"]="true";
$setVal=session::setVal($conf);
unset($conf);

#如果設置 session 變數失敗
if($setVal["status"]==="false"){
        
        #印出內容
        var_dump($setVal);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($setVal);

#檢查 session
var_dump($_SESSION);

*/

#提示目前測試的項目
echo "<hr>session::setMultiVal - testCase 1<p>";

/*
 
#函式說明:
#設置多個session變數的內容 
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
#$result["error"],錯誤訊息.
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
#$result["content"],每個設置好的session變數資訊
#$result["function"],當前執行的函數名稱.
#$result["argu"],使用的參數.
#必填參數:
#$conf["key"],二維陣列,每個session的key名稱與層級.
$conf["key"]=array(array("n1",1),array("n2",2),array("3n","c"));
#$conf["val"],陣列,每個指定的session變數內容.
$conf["val"]=array("v1",array("v2"),3);
$setMultiVal=session::setMultiVal($conf);
unset($conf);

#如果執行失敗
if($setMultiVal["status"]==="false"){
        
        #印出內容
        var_dump($setMultiVal);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($setMultiVal);

#檢查 session
var_dump($_SESSION);

*/

#提示目前測試的項目
echo "<hr>session::setMultiVal - testCase 2<p>";

/*

#函式說明:
#設置多個session變數的內容 
#$result["status"],執行是否正常,"true"代表正常,"false"代表有誤.
#$result["error"],錯誤訊息.
#$result["founded"],是否有該session變數,"true"代表有,"false"代表沒有.
#$result["content"],每個設置好的session變數資訊
#$result["function"],當前執行的函數名稱.
#$result["argu"],使用的參數.
#必填參數:
#$conf["key"],二維陣列,每個session的key名稱與層級.
$conf["key"]=array(array("n1",1),array("n2",2),array("3n","c"));
#$conf["val"],陣列,每個指定的session變數內容.
$conf["val"]=array("v1",array("v2"),3);
#可省略參數:
#$conf["storeAsNotRepeatArray"],字串,"true"代表要將變數內容存成陣列,預設為"false".
$conf["storeAsNotRepeatArray"]="true";
$setMultiVal=session::setMultiVal($conf);
unset($conf);

#如果執行失敗
if($setMultiVal["status"]==="false"){
        
        #印出內容
        var_dump($setMultiVal);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($setMultiVal);

#檢查 session
var_dump($_SESSION);

*/

?>