中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > Smarty程序應(yīng)用范例
回到列表 關(guān)于大文件上傳的FTP解決方案
 Smarty程序應(yīng)用范例

作者:Surran 時(shí)間: 2005-11-21 文檔類(lèi)型:翻譯 來(lái)自:藍(lán)色理想

第 1 頁(yè) Smarty程序應(yīng)用范例 [1]
第 2 頁(yè) Smarty程序應(yīng)用范例 [2]
第 3 頁(yè) Smarty程序應(yīng)用范例 [3]
第 4 頁(yè) Smarty程序應(yīng)用范例 [4]
第 5 頁(yè) Smarty程序應(yīng)用范例 [5]

Smarty程序應(yīng)用范例:留言簿(Guestbook)第四節(jié)

/web/www.example.com/smarty/guestbook/libs/guestbook.lib.php

<?php

/**
* Project: Guestbook Sample Smarty Application
* Author: Monte Ohrt <monte [AT] ohrt [DOT] com>
* Date: March 14th, 2005
* File: guestbook.lib.php
* Version: 1.0
*/

/**
* guestbook application library
*
*/
class Guestbook {

    // database object
    var $sql = null;
    // smarty template object
    var $tpl = null;
    // error messages
    var $error = null;
    
    /**
     * class constructor
     */
    function Guestbook() {

        // instantiate the sql object
        $this->sql =& new GuestBook_SQL;
        // instantiate the template object
        $this->tpl =& new Guestbook_Smarty;

    }
    
    /**
     * display the guestbook entry form
     *
     * @param array $formvars the form variables
     */
    function displayForm($formvars = array()) {

        // assign the form vars
        $this->tpl->assign('post',$formvars);
        // assign error message
        $this->tpl->assign('error', $this->error);
        $this->tpl->display('guestbook_form.tpl');

    }
    
    /**
     * fix up form data if necessary
     *
     * @param array $formvars the form variables
     */
    function mungeFormData(&$formvars) {

        // trim off excess whitespace
        $formvars['Name'] = trim($formvars['Name']);
        $formvars['Comment'] = trim($formvars['Comment']);

    }

    /**
     * test if form information is valid
     *
     * @param array $formvars the form variables
     */
    function isValidForm($formvars) {

        // reset error message
        $this->error = null;
        
        // test if "Name" is empty
        if(strlen($formvars['Name']) == 0) {
            $this->error = 'name_empty';
            return false; 
        }

        // test if "Comment" is empty
        if(strlen($formvars['Comment']) == 0) {
            $this->error = 'comment_empty';
            return false; 
        }
        
        // form passed validation
        return true;
    }
    
    /**
     * add a new guestbook entry
     *
     * @param array $formvars the form variables
     */
    function addEntry($formvars) {

        $_query = sprintf(
            "insert into GUESTBOOK values(0,'%s',NOW(),'%s')",
            mysql_escape_string($formvars['Name']),
            mysql_escape_string($formvars['Comment'])
        );
        
        return $this->sql->query($_query);
        
    }
    
    /**
     * get the guestbook entries
     */
    function getEntries() {

        $this->sql->query(
            "select * from GUESTBOOK order by EntryDate DESC",
            SQL_ALL,
            SQL_ASSOC
        );

        return $this->sql->record;   
    }
    
    /**
     * display the guestbook
     *
     * @param array $data the guestbook data
     */
    function displayBook($data = array()) {

        $this->tpl->assign('data', $data);
        $this->tpl->display('guestbook.tpl');        

    }
}

?>

guestbook.lib.php 是我們這個(gè)程序的應(yīng)用類(lèi)。它包含了整個(gè)程序的實(shí)現(xiàn)邏輯。讓我們看看每一個(gè)方法。

類(lèi)方法: Guestbook()
/**
* class constructor
*/
function Guestbook() {

// instantiate the sql object
$this->sql =& new GuestBook_SQL;
// instantiate the template object
$this->tpl =& new Guestbook_Smarty;
}

構(gòu)造函數(shù)。每次我們使用這個(gè)留言簿對(duì)象時(shí)都執(zhí)行。它把SQL語(yǔ)句和Smarty對(duì)象作為自己的屬性,我們以后可以通過(guò)這個(gè)對(duì)象的方法來(lái)訪問(wèn)和使用它們(SQL語(yǔ)句和Smarty對(duì)象)。

類(lèi)方法: displayForm()
/**
* display the guestbook entry form
*
* @param array $formvars the form variables
*/
function displayForm($formvars = array()) {

// assign the form vars
$this->tpl->assign('post',$formvars);
// assign error message
$this->tpl->assign('error', $this->error);
$this->tpl->display('guestbook_form.tpl');

}

displayForm() 該方法用于顯示留言書(shū)寫(xiě)表單。它指派了模板文件中留言書(shū)寫(xiě)表單的變量和驗(yàn)證表單時(shí)的出錯(cuò)提示,然后把這個(gè)表單顯示出來(lái)。

類(lèi)方法: mungeFormData()
/**
* fix up form data if necessary
*
* @param array $formvars the form variables
*/
function mungeFormData(&$formvars) {

// trim off excess whitespace
$formvars['Name'] = trim($formvars['Name']);
$formvars['Comment'] = trim($formvars['Comment']);

}

mungeFormData() 該方法刪掉來(lái)自表單輸入內(nèi)容開(kāi)頭和結(jié)尾的空白部分。這個(gè)方法在驗(yàn)證表單輸入內(nèi)容時(shí)最先調(diào)用。注意,表單信息是通過(guò)引用的辦法傳入本方法的,所以任何改變都會(huì)導(dǎo)致原始的數(shù)組內(nèi)容(表單內(nèi)容)發(fā)生改變。

類(lèi)方法: isValidForm()
/**
* test if form information is valid
*
* @param array $formvars the form variables
*/
function isValidForm($formvars) {

// reset error message
$this->error = null;

// test if "Name" is empty
if(strlen($formvars['Name']) == 0) {
$this->error = 'name_empty';
return false;
}

// test if "Comment" is empty
if(strlen($formvars['Comment']) == 0) {
$this->error = 'comment_empty';
return false;
}

// form passed validation
return true;
}

isValidForm() 該方法驗(yàn)證表單的輸入。這里僅僅簡(jiǎn)單地驗(yàn)證表單的‘Name’和‘Comment’控件是否為空。如果是空的,對(duì)應(yīng)的出錯(cuò)代碼將被指派為本類(lèi)錯(cuò)誤屬性的值。(這些錯(cuò)誤代碼接下來(lái)將被模板文件使用用以顯示對(duì)應(yīng)的錯(cuò)誤提示。)


類(lèi)方法: addEntry()
/**
* add a new guestbook entry
*
* @param array $formvars the form variables
*/
function addEntry($formvars) {

$_query = sprintf(
"insert into GUESTBOOK values(0,'%s',NOW(),'%s')",
mysql_escape_string($formvars['Name']),
mysql_escape_string($formvars['Comment'])
);

return $this->sql->query($_query);

}

addEntry 該方法將向數(shù)據(jù)庫(kù)中插入一條新的留言簿條目。注意,插入數(shù)據(jù)庫(kù)的值已經(jīng)進(jìn)行必要操作,以避免SQL語(yǔ)法沖突和注入攻擊。

類(lèi)方法: getEntries()
/**
* get the guestbook entries
*/
function getEntries() {

$this->sql->query(
"select * from GUESTBOOK order by EntryDate",
SQL_ALL,
SQL_ASSOC
);

return $this->sql->record;
}

getEntries() 該方法將以“field => value”(效果同使用SQL_ASSOC參數(shù))的格式讀出數(shù)據(jù)庫(kù)中所有的留言簿條目。

類(lèi)方法: displayBook()
/**
* display the guestbook
*
* @param array $data the guestbook data
*/
function displayBook($data = array()) {

$this->tpl->assign('data', $data);
$this->tpl->display('guestbook.tpl');

}

displayBook() 該方法將顯示出留言簿的條目。數(shù)組$data即存儲(chǔ)留言簿條目的數(shù)組,將用來(lái)指派給模板文件并在模板文件中顯示出來(lái)。

出處:藍(lán)色理想
責(zé)任編輯:moby

上一頁(yè) Smarty程序應(yīng)用范例 [3] 下一頁(yè) Smarty程序應(yīng)用范例 [5]

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門(mén)搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶(hù)體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買(mǎi)真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛(ài)的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁(yè) 首頁(yè) 前頁(yè) 后頁(yè) 尾頁(yè) 頁(yè)次:4/5頁(yè) 1個(gè)記錄/頁(yè) 轉(zhuǎn)到 頁(yè) 共5個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫(huà),設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶(hù)名:  口令:
說(shuō)明:輸入正確的用戶(hù)名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專(zhuān)業(yè)書(shū)推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫(xiě)給大家看的色彩書(shū)1》
《跟我去香港》
眾妙之門(mén)—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開(kāi)發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開(kāi)發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2