PHP+jQuery 注册模块的改进:更新到Smarty3.1

废话十分的少说,进去正题
做过后台的,应该都清楚,常常要用到iframe来拍卖导航,假设按日常的笔触来做这几个作用,照旧挺简单的
只是当小编用smarty的时候,就发掘了难点,比方,一个iframeset分成了:底部top,左侧menu,左侧main,
例增势形,用smarty来处理的话,日常是如此:
万意气风发3个页面仅仅只是静态页面包车型大巴话,就是之类处理
iframe.html代码:
复制代码 代码如下:

斯Matty3.1X( 最新版本 3.1.19卡塔尔(قطر‎比起Smarty2.x退换了相当多表征。笔者把那一个模块使用斯Matty3.1.18 (
下载地址
卡塔尔(قطر‎重新改善了二次,是项目文件和目录看起来越来越深透更有调治将养。

生龙活虎旦iframe里面包车型客车剧情页都要动用到部分独特管理,如:
top.html必要体现后台登录顾客名
menu.html中menu都以动态获取
main.html中须求读取服务器的音信
那样的话,大家会给3个内容页分别用3个后台管理页
复制代码 代码如下:
//top.php:
$smarty->assign(‘user’, $names );
smarty_Output(‘top.php’)
//menu.php:
$arr=array();
$arr=GetMenu();
$smarty->assign(‘menu’, $arr);
smarty_Output(‘menu.php’);
//main.php
$smarty->assign(‘serverInfo’, $serverInfoArr);
smarty_Output(‘main.php’);
//显示iframe页
smarty_Output(‘iframe.html’)

把Smarty压缩包中的libs文件夹拷贝至模块根目录下,然后根目录创制init.inc.php:

上边的管理形式,完全能达到规定的规范要求
iframe.html代码:
复制代码 代码如下:

复制代码 代码如下:
/**
    file:init.inc.php Smarty对象的实例化及初叶化文件
*/

今昔大家只要,大家几眼下要对这3个内容页分别开展分剧中人物管理,差别角色,3个页面需求出示不一样的功能
按上面包车型大巴拍卖措施,我们就供给对3个页面分别处理,那样就自然的就多了冗余的管理,并且事后的掩护也麻烦
于是乎我想到了上边包车型地铁办法,独立出一个非常的管理程序iframe.php,通过标准来模拟出上边3个页面
平素贴代码了:
iframe.php 后台代码:
复制代码 代码如下:
/*此地放共用场理代码*/
switch($src)
{
case “top”:
/*这里放管理代码*/
smarty_Output(‘top.html’);
break;
case “menu”:
/*此地放管理代码*/
smarty_Output(‘menu.html’);
break;
case “main”:
/*此处放处理代码*/
smarty_Output(‘main.html’);
break;
default:
break;
}

/*
*********************澳门新葡萄京娱乐场 ,Smarty设置***********************
*/
//根目录路线方法,用于斯Matty设置
define(“ROOT”,str_replace(“\”,”/”,dirname(apizl_file)).”/”);

iframe.html:
复制代码 代码如下:

require ROOT.’libs/Smarty.class.php’;
$smarty = new Smarty();

透过那样管理,笔者感觉平价多了

//Smarty3设置暗中认可路线
$smarty ->setTemplateDir(ROOT.’templates/’)
        ->setCompileDir(ROOT.’templates_c/’)
        ->setPluginsDir(ROOT.’plugins/’)
        ->setCacheDir(ROOT.’cache/’)
        ->setConfigDir(ROOT.’configs’);

$smarty->caching = false;
$smarty->cache_lifetime = 60*60*24; //模版缓存有效时间为1天
$smarty->left_delimiter = ‘ $smarty->right_delimiter = ‘}>’;

/***********************************************************/

//根目录url方式
$PHP_SELF=$_SERVER[‘PHP_SELF’];
$ROOT_URL=’);
define(ROOT_URL,$ROOT_URL);

//模版目录url情势
define(“Template_Dir”,$ROOT_URL.’templates’);

成立开首化文件中冒出的templates,templates_c,plugins,cache,configs文件夹。

改进的文件都对比平常,何况也特别easy,这里列出register.html和register.php文件的修改。

register.html是注册的前台页面,路线是/templates/register.html

复制代码 代码如下:

登记页面

   
   

       
       

           
                   
           
           
               
               
               
            <>

                       
           
               

            <>

           
           
                <>
            <>
           
           
           
               
            <>

           
           
               
               
澳门新葡萄京娱乐场 1
               
                   
澳门新葡萄京娱乐场 2
               
               
            <>

           
            立刻登记

           
           
               
                我同意  ” 服务条目款项 
” 和  ”
网页游戏发烧友隐衷权珍爱和个人音讯利用政策

               
           

       

    <>

<>

register.php:

复制代码 代码如下:

session_start();

require_once ‘init.inc.php’;

//设置模版目录,用于模版页尾部引用CSS、JS、Images
$smarty->assign(“Template_Dir”,Template_Dir);

$smarty->display(‘register.html’);

同有时候扩展了生成验证码插件,路线是/plugins/function.showval.php

复制代码 代码如下:

//生成验证码
function smarty_function_showval($params,$smarty){

    $num = “”;
    for($i=0;$i<4;$i++){

        $tmp = rand(1,15);
        if ($tmp > 9) {
            switch ($tmp) {
                case(10):
                    $num .= ‘a’;
                    break;
                case(11):
                    $num .= ‘b’;
                    break;
                case(12):
                    $num .= ‘c’;
                    break;
                case(13):
                    $num .= ‘d’;
                    break;
                case(14):
                    $num .= ‘e’;
                    break;
                case(15):
                    $num .= ‘f’;
                    break;
            }
        } else {
            $num .= $tmp;
        }   
    }

    $mdnum = md5($num);
    $_SESSION[‘num’] = $num;
    $_SESSION[‘mdnum’] = $mdnum;

    //写在session之后
    return $mdnum;
}

$_SESSION[‘num’] = smarty_function_showval($params,$smarty);
$_SESSION[‘mdnum’] =
md5(smarty_function_showval($params,$smarty));

介怀插件的命名:

文本名要放在根目录的plugins目录下,命名法规是
function.函数名.php,文件中等高校函授数的命名准则是
smarty_function_函数名($params,$smarty卡塔尔国,此中第三个参数是传递给模板的关联数组,第四个参数是吸收接纳自动传入的smarty对象,函数要有重回值。

更加多代码见:

发表评论

电子邮件地址不会被公开。 必填项已用*标注