加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:04:03 所属栏目:PHP教程 来源:网络整理
导读:《:PHP+jQuery 注册模块的改进(三):更新到Smarty3.1》要点: 本文介绍了:PHP+jQuery 注册模块的改进(三):更新到Smarty3.1,希望对您有用。如果有疑问,可以联系我们。 PHP学习 Smarty3.1X( 最新版本 3.1.19) 比起Smarty2.x修改了不少特性.我把这个模

《:PHP+jQuery 注册模块的改进(三):更新到Smarty3.1》要点:
本文介绍了:PHP+jQuery 注册模块的改进(三):更新到Smarty3.1,希望对您有用。如果有疑问,可以联系我们。

PHP学习Smarty3.1X( 最新版本 3.1.19) 比起Smarty2.x修改了不少特性.我把这个模块使用Smarty3.1.18 ( 下载地址http://www.smarty.net/files/Smarty-3.1.18.zip )重新修改了一遍,是项目文件和目录看起来更干净更有疗养.

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

代码如下:

<?php
/**
??? file:init.inc.php Smarty工具的实例化及初始化文件
*/

/* *********************Smarty设置*********************** */
//根目录路径方式,用于Smarty设置
define("ROOT",str_replace("","/",dirname(__FILE__))."/");

PHP进修require ROOT.'libs/Smarty.class.php';
$smarty = new Smarty();

PHP进修//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 = '}>';

PHP进修/***********************************************************/

//根目次url方式
$PHP_SELF=$_SERVER['PHP_SELF'];
$ROOT_URL='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,strrpos($PHP_SELF,'/')+1);
define(ROOT_URL,$ROOT_URL);

//模版目次url方式
define("Template_Dir",$ROOT_URL.'templates');

创建初始化文件中呈现的templates,templates_c,plugins,cache,configs文件夹.

修改的文件都比拟相似,而且也非常easy,这里列出register.html和register.php文件的修改.

PHP进修register.html是注册的前台页面,路径是/templates/register.html

代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>注书页面</title>
<link href="<{$Template_Dir}>/css/common.css"? rel="stylesheet" type="text/css">
<link href="<{$Template_Dir}>/css/register.css"? rel="stylesheet" type="text/css">

<script src="<{$Template_Dir}>/js/jquery-1.8.3.min.js"></script>
<script src="<{$Template_Dir}>/js/register.js"></script>
<!--邮箱下拉-->
<script src="<{$Template_Dir}>/js/emailup.js"></script>
</head>

PHP进修<body>
<{*导入header.html*}>
<{include file="header.html"}>

PHP进修<!-- 内容区 -->
<div id="container">

PHP进修??? <!--注册区-->
??? <div id="register">

??????? <!-- 注册表单 -->
??????? <form id="register-form" action="register_chk.php" method="post">
???????????
??????????? <!-- 用户名 -->???????
??????????? <!-- placeholder HTML5的属性,提供提示信息.输入字段为空时显示,并会在字段获得焦点时消失 -->
??????????? <div class="ipt fipt">
??????????????? <input type="text" name="uname" id="uname" value="" placeholder="输入用户名"? autocomplete="off" />
??????????????? <!--提示笔墨-->
??????????????? <span id="unamechk"></span>
??????????? </div>

PHP进修??????????? <!-- email -->???????????
??????????? <div class="ipt">
??????????????? <input type="text" name="uemail" id="uemail" value="" placeholder="常用邮箱地址" autocomplete="off" /><span id="uemailchk"></span><ul class="autoul"></ul>
??????????? </div>

??????????? <!-- 暗码 -->
??????????? <div class="ipt">
??????????????? <input type="password" name="upwd" id="upwd" value="" placeholder="设置暗码" /><div class="upwdpic"><span id="upwdchk"></span><img id="pictie" /></div>
??????????? </div>
???????????
??????????? <!-- 重复暗码 -->
??????????? <div class="ipt">
??????????????? <input type="password" name="rupwd" id="rupwd" value="" placeholder="确认暗码" /><span id="rupwdchk"></span>
??????????? </div>

PHP进修??????????? <!--验证码-->
??????????? <div class="ipt iptend">
??????????????? <input type='text' id='yzm' name='yzm' placeholder="验证码" autocomplete="off" />
??????????????? <img id='yzmpic' src='valcode.php?num=<{showval}>' style="cursor:pointer" alt="验证码" title="验证码">
??????????????? <a style="cursor:pointer" id='changea'>
??????????????????? <img id="refpic" src="<{$Template_Dir}>/images/ref.jpg" alt="刷新验证码">
??????????????? </a>
??????????????? <span id='yzmchk'></span>
??????????? </div>

??????????? <!-- 提交 -->
??????????? <button type="button" id="sub">立刻注册</button>

??????????? <!-- 服务条款 -->
??????????? <span class="fuwu">
??????????????? <input type="checkbox" name="agree" id="agree" checked="checked">
??????????????? <label for="agree">我同意? <a href="#">" 服务条款? "</a> 和? <a href="#">" 网络游戏用户隐私权掩护和个人信息利用政策 "</a>
??????????????? </label>
??????????? </span>

PHP进修??????? </form>

PHP进修??? </div>

PHP进修</div>
</body>
</html>

PHP进修register.php:

代码如下:

<?php

PHP进修session_start();

PHP进修require_once 'init.inc.php';

//设置模版目次,用于模版页头部引用CSS、JS、Images
$smarty->assign("Template_Dir",Template_Dir);

PHP进修$smarty->display('register.html');

同时扩充了天生验证码插件,路径是/plugins/function.showval.php

代码如下:

<?php

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

PHP进修??? $num = "";
??? for($i=0;$i<4;$i++){

PHP进修??????? $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;
??????? }???
??? }

PHP进修??? $mdnum = md5($num);
??? $_SESSION['num'] = $num;
??? $_SESSION['mdnum'] = $mdnum;

PHP进修??? //写在session之后
??? return $mdnum;
}

PHP进修$_SESSION['num'] = smarty_function_showval($params,$smarty);
$_SESSION['mdnum'] = md5(smarty_function_showval($params,$smarty));

注意插件的定名:

文件名要放在根目录的plugins目录下,命名规则是 function.函数名.php,文件中函数的命名规则是 smarty_function_函数名($params,$smarty),此中第一个参数是传递给模板的关联数组,第二个参数是接收自动传入的smarty对象,函数要有返回值.

PHP进修更多代码见:https://github.com/dee0912/myGit

欢迎参与《:PHP+jQuery 注册模块的改进(三):更新到Smarty3.1》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读