smarty结合xajax检测用户名简单实例


xajax是用PHP写的ajax开发框架,可以生成JS代码,这样使用起ajax就比较简单了,今天结合模板引擎smarty,来实现一个检测用户名合法性的小程序,大家有兴趣的话还可以扩展这个程序到自己的应用中,嗯,这里写出核心代码,里面注释很详细,不过建议大家看之前还是看看这个http://blog.csdn.net/fhiesc/archive/2006/07/04/873441.aspx,相信你会很快明白xajax是什么东东,及如何使用,最后依然是效果图和源代码下载。好的,看代码吧:

  PHP代码如下:

<?php
  
 /*****************************************
  
  Title :smarty结合xajax检测用户名简单实例
  Author:leehui1983(辉老大)
  Finish Date :2006-12-09
  
 *****************************************/
  
 //为避免中文乱码,需要在 xajax.inc.php 需要改一下默认的encoding:define ('XAJAX_DEFAULT_CHAR_ENCODING', 'gbk' )UTF8编码格式文件不需要更改
  
 require_once('./libs/Smarty.class.php');//包含smarty类库
 require('./xajax/xajax.inc.php');//包含xajax类库
  
 function checkusername($textvalue){//编写需要的PHP函数
    $checkresult=($textvalue=='test' ? '<font color=red>该用户名已经注册</font>' :'<font color=red>可以注册</font>');
    $objresponse=new xajaxResponse();//实例化xajaxresponse对象
    $objresponse->addassign("result","innerHTML",$checkresult);//指定ID为result的元素中添加内容$checkresult
    return $objresponse;//返回结果文本
 }
  
 $xajax=new xajax();//实例化xajax对象
 $smarty=new Smarty();//实例化smarty对象
 $smarty->template_dir = "./templates";//设置模板目录
 $smarty->compile_dir = "./templates_c"; //设置编译目录
 $smarty->caching = false; //设置缓存方式
 /*****************************************************
 左右边界符,默认为{},但实际应用当中容易与JavaScript
 相冲突,所以建议设成<{}>或其它。
 *****************************************************/
 $smarty->left_delimiter = "<{";
 $smarty->right_delimiter = "}>";
  
 $xajax->registerFunction("checkusername");//注册checkusername函数
 $xajax->processRequests();//调用xajax用于接管请求
 
 $smarty->assign('xajax_javascript', $xajax->getJavascript('./xajax/'));//输出JS代码,注意('./xajax/')中参数为xajax.inc.php父目录,在同意目录下可不同填写,否则必须填写
 $smarty->assign('title','smarty结合xajax检测用户名简单实例');//替换模板内容
 $smarty->display('index.tpl');//显示模板内容
?>

  模板代码:

<html>
<head>
<title><{$title}></title>
<{$xajax_javascript}><{*使smarty支持xajax*}>
</head>
  
<body>
<form name="check" >
请输入用户名:
 <input type="text" name="username" />
 <input type="button" name="button" value="检查用户名" />
 <div id="result"></div>
</form>
</body>
</html>



相关阅读:
javascript 也来玩玩图片预加载
第四章 颜色背景的CSS
asp.NET中使用include
DOS下网络浏览器的使用方法
MYSQL教程:如何选择正确的数据列类型
Windows2008 最新版Apache2、PHP5、MySQL6、PHPMyadmin、ZendOptimizer安装图解
CSS 透明背景时,记得给容器加上width宽度
css图片自适应大小
白刃之战:PHP vs. ASP.NET(节选)-架构比较
MYSQL教程:MySQL的一些优化配置
ASP 千万级数据分页的存储过程
IIS 6 的 PHP 最佳配置方法
JavaScript中Math对象使用说明
Notice: Undefined index: page in E:\PHP\test.php on line 14
快速导航

Copyright © 2016 phpStudy |