Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#指派命名空間
namespace qbpwcf{

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

        #提示要測試的案例
        echo "<hr>form::responseMutiInputDataSecurityEnhance<br>";

        /* 回應端不需要
        #涵式說明:
        #一個簡單的按鈕,按了可以到指定的頁面。同時也可以傳送多個隱藏的變數
        #回傳的結果
        #$result,語法內容
        #必填的參數:
        $conf["actionPage"]=$_SERVER["PHP_SELF"];#按鈕按了之後要到哪個地方?若爲 $_SERVER["PHP_SELF"],則爲回到目前頁面。
        $conf["buttonDisplayValue"]="傳送變數";#按鈕上要顯示的文字
        #可以省略的參數:
        #$conf["buttonStyleName"]="";#按鈕的css樣式應該爲何,若省略的話預設會採用 __simpleButtonLinkDefaultButtonCssStyle 的樣式
                #其屬性爲   "width","height","font-size","text-align"
                #其屬性值爲 "300"  ,  "50"  ,    "30"   ,   "center"
        #備註:
        # __simpleButtonLinkDefaultButtonCssStyle,爲預設的按鈕css樣式,請勿使用相同類別名稱的css樣式,以免衝突。
        $conf["hiddenVarName"]=array("a","b","c");#要傳送的隱藏變數名稱,與 $conf["hiddenVarContent"] 相對應。
        $conf["hiddenVarContent"]=array("A","B","C");#要傳誦的隱藏變數內容,與 $conf["hiddenVarName"] 相對應。
        #$conf["tableStart"]="true";#爲是否要表格開始,"true"表示"是"。
        #$conf["tableClass"]="__withoutBorder";#爲表格要採用的css樣式名稱,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式
        #$conf["trStart"]="true";#爲是否要以<tr>開頭,"true"表示"是"。也可以看作新的一列開始。
        #$conf["trClass"]="__withoutBorder";#列開始的css樣式,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式
        #$conf["tdStart"]="true";#爲是否要以<td>開頭,"true"表示"是"。也可以看成列裏面的元素開始
        #$conf["tdClass"]="__withoutBorder";#行開始的css樣式,"__withoutBorder"代表沒有框線的預設樣式;"__withBorder"代表有框線的預設樣式
        #$conf["tdEnd"]="true";#爲是否要以</td>結尾,"true"表示"是"。也可以看成列裏面的元素結束
        #$conf["trEnd"]="true";#爲是否要以</tr>結尾,"true"表示"是"。也可以看作該列結束。
        #$conf["displayTarget"]="";#頁面的呈現方法,可以是開新視窗(_blank)、在目前頁面、頁框裏面(_self)、在父頁面(_parent)、最上層頁面(_top),預設為"_top"。
        #$conf["tableEnd"]="true";#爲是否要表格結束,"true"表示"是"。
        echo form::sendHugeDataButton($conf);
        unset($conf);
        */

        #涵式說明:
        #可以處理多個透過GET、POST而來的資訊,儲存成變數,同時限定傳送的方法、來源,來增加安全性。
        #回傳的結果:
        #$result["status"],執行是否成功,"true"代表執行成功;"false"代表執行失敗。
        #$result["error"],錯誤訊息。
        #$result["inputDataContent"],所接收的參數陣列。
        #$result["inputDataContent"]["變數名稱"],所接收變數的內容
        #$result["inputDataCount"],總共接收到幾個元素。
        #必填的參數:
        $conf["method"]="post";#傳送過來的資料是用"post/POST"還是"get/GET"?
        #可省略的參數:
        #$conf["allowGet"]="false";#是否要允許 get 傳值,"true",代表允許;"false" ,代表不允許,預設爲不允許。
        #$conf["limitPrePage"]="formT.php";#是否要限定前一頁的網址為何,才能接收內容,不符合則轉址。
        #$conf["transferLocation"]="";#遇到get傳值的時候要轉址到的頁面,預設爲資安素養網"https://isafe.moe.edu.tw/"
        $conf["ignore"]=array("B");#如果要接收的變數名稱與該陣列其一元素一樣,則不放進要回傳的變數裏面。
        #$conf["correctCharacter"]="false";#如果爲"false",則不處理可能導致網頁出問題的字串,預設爲要進行處理。
        #參考資料來源:
        #foreach 的用法 -> http:#php.net/manual/en/control-structures.foreach.php
        $reveivedVar=form::responseMultiInputDataSecurityEnhance($conf);
        unset($conf);
        
        #檢查接收的變數內容
        #var_dump($reveivedVar);
        
        # $reveivedVar["inputDataContent"]["action"] 如果是 "toFormT3"
        if($reveivedVar["inputDataContent"]["action"]=="ToFormT3"){
                
                #echo "entered!";
                
                #則轉址到 formT3.php
                #函式說明:
                #設定session變數後,立即轉址.
                #回傳的結果:
                #無.
                #必填的參數:
                #$conf["headerLocation"],為要轉址到的地方,若爲 $_SERVER["PHP_SELF"],則爲回到目前頁面,全民資安素養網爲 https://isafe.moe.edu.tw/.
                $conf["headerLocation"]="formT3.php";
                #可省略的參數:
                #$conf["sessionName"],字串,可以指派session變數的名稱.
                $conf["sessionName"]="fromFormTtoFormT3";
                #$conf["sessionValue"],任意,session變數的內容.
                $conf["sessionValue"]=$reveivedVar["inputDataContent"]["action"];
                #參靠資料來源:
                #http://php.net/manual/en/reserved.variables.server.php
                header::redirectionNow($conf);
                unset($conf);
                
                }#if end
        
        }//namespace end

?>