免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
ShopNC 商城系統(tǒng)開發(fā)經(jīng)驗(yàn)分享第四篇 表單數(shù)據(jù)驗(yàn)證
數(shù)據(jù)安全是程序開發(fā)中至關(guān)重要一點(diǎn),特別是對商城程序而言,一般對表單數(shù)據(jù)驗(yàn)證都是采用前端JS與后端PHP驗(yàn)證相結(jié)合的方式,ShopNC商城系統(tǒng)在表單數(shù)據(jù)驗(yàn)證上也是如此, ShopNC系統(tǒng)的后臺(tái)PHP驗(yàn)證分為兩部分:控制器層驗(yàn)證和框架底層驗(yàn)證,Validate驗(yàn)證類的作用就是完成在控制器里的驗(yàn)證。

下面是登錄時(shí)的一段使用Validate類驗(yàn)證程序:

  1. if (chksubmit()){

  2.        $obj_validate = new Validate();

  3.        $obj_validate->validateparam = array(

  4.        array("input"=>$_POST["username"],        "require"=>"true", "message"=>"請輸入用戶名"),

  5.        array("input"=>$_POST["password"],         "require"=>"true", "message"=>"請輸入密碼"),

  6.        array("input"=>$_POST["captcha"],            "require"=>(C('captcha_status_login') ? "true" : "false"), "message"=>"請輸入驗(yàn)證碼"),

  7.        );

  8.        $error = $obj_validate->validate();

  9.        if ($error != ''){

  10.               showValidateError($error);

  11.        }else {

  12.               /**

  13.                * 程序繼續(xù)向下執(zhí)行

  14.                */

  15.        }

  16. }
復(fù)制代碼

代碼分析:

首先由chksubmit函數(shù)判斷表單提交是否合法,令牌是否正確,判斷通過后,使用Validate類進(jìn)行數(shù)據(jù)驗(yàn)證,Validate類的validateparam屬性數(shù)組存放待驗(yàn)證的信息,其中,input為待驗(yàn)證的數(shù)據(jù),require為是否為必填項(xiàng)(true/false),message為如果驗(yàn)證未通過,返回的提示信息。可以看出上例的用戶名和密碼均為必填項(xiàng),驗(yàn)證碼視系統(tǒng)開關(guān)captcha_status_login的值而定。C函數(shù)作用是取得系統(tǒng)配置項(xiàng)。

準(zhǔn)備工作都完后成,開始調(diào)用類的validate方法進(jìn)行驗(yàn)證,如果驗(yàn)證未過通,返回錯(cuò)誤信息,否則返回空。錯(cuò)誤信息的輸出由showValidateError函數(shù)完成,該函數(shù)跟據(jù)是否是異步提交返回不同的提示形式。

除可以驗(yàn)證是否為必填外,Validate類還可以完成一些常用的數(shù)據(jù)類型驗(yàn)證。如驗(yàn)證郵件、電話、網(wǎng)址、貨幣、郵編、QQ、數(shù)字、英文、漢字、兩數(shù)值比較等。如:

  1. $obj_validate = new Validate();

  2. $obj_validate->validateparam = array(

  3. array("input"=>$_POST["password1"], "require"=>"true", "validator"=>"compare", "operator"=>"==", "to"=>$_POST["password2"], "message"=>"兩次密碼輸入要一致"),

  4. array("input"=>$_POST["input0"], "require"=>"true", "validator"=>"email", "message"=>'郵件驗(yàn)證'),

  5. array("input"=>$_POST["input1"], "require"=>"true", "validator"=>"phone", "message"=>'固話驗(yàn)證'),

  6. array("input"=>$_POST["input2"], "require"=>"true", "validator"=>"mobile", "message"=>'手機(jī)驗(yàn)證'),

  7. array("input"=>$_POST["input3"], "require"=>"true", "validator"=>"url", "message"=>'網(wǎng)址驗(yàn)證'),

  8. array("input"=>$_POST["input4"], "require"=>"true", "validator"=>"currency", "message"=>'價(jià)格驗(yàn)證'),

  9. array("input"=>$_POST["input5"], "require"=>"true", "validator"=>"number", "message"=>'數(shù)字驗(yàn)證'),

  10. array("input"=>$_POST["input6"], "require"=>"true", "validator"=>"zip", "message"=>'郵編驗(yàn)證'),

  11. array("input"=>$_POST["input6"], "require"=>"true", "validator"=>"qq", "message"=>'QQ驗(yàn)證'),

  12. array("input"=>$_POST["input6"], "require"=>"true", "validator"=>"english", "message"=>'英文字母驗(yàn)證'),

  13. array("input"=>$_POST["input6"], "require"=>"true", "validator"=>"chinese", "message"=>'中文驗(yàn)證'),

  14. );

  15. $error = $obj_validate->validate();
復(fù)制代碼




本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
走馬觀花SHOPNC [原創(chuàng)]
jQuery驗(yàn)證控件jquery.validate.js使用說明 中文API
實(shí)例講解表單驗(yàn)證插件Validation的應(yīng)用
javascript表單驗(yàn)證大全,
一個(gè)非常強(qiáng)大完整的web表單驗(yàn)證程序
jQuery.validate 中文API
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服