帝国cms后台发信息最怕点击提交后,提示标题重复又要重新写一遍。现在给大家分享一款实时验证标题的方法,这样就可以避免出现重复的信息。
帝国CMS-AJAX验证标题是否重复方法
1、帝国cms后台 - 管理数据表 - 找到自己使用的数据表 - 修改title字段 - 输入表单使用下面的代码
找到代码
"size="60">
替换为
"size="60"onblur="checkTitle()">
在输入表单最下面加入如下代码
接着新建一个php文件,保存在 /e/admin/ReTitleAjax.php ,代码如下
define('EmpireCMSAdmin','1');
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/functions.php");
requireLoadLang("pub/fun.php");
require("../data/dbcache/class.php");
$link=db_connect();
$empire=newmysqlquery();
$editor=1;
//验证用户
$lur=is_login();
$logininid=$lur['userid'];
$loginin=$lur['username'];
$loginrnd=$lur['rnd'];
$loginlevel=$lur['groupid'];
$loginadminstyleid=$lur['adminstyleid'];
$classid=(int)$_GET['classid'];
$id=(int)$_GET['id'];
$title=AddAddsData($_GET['title']);
$where='';
if($id)
{
$where=' and id<>'.$id;
}
//已审核
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where title='".addslashes($title)."'".$where." limit 1");
//未审核
if(emptyempty($num))
{
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check where title='".addslashes($title)."'".$where." limit 1");
}
echojson_encode($num);
上面是采用post查询返回json结果的方式来实现查重,我们还可以通过get方式,js函数如下:
接着在title字段的input后放一个容器用于存储提示信息,例如,还可以通过在出现重复时禁用其他input输入等方式来限制,这里只是给出原理,大家可在此基础上发挥。
版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!
转载请注明: 帝国cms怎么实现AJAX验证标题是否重复的教程