帝国CMS AJAX验证信息标题是否重复实现方法

每次录完信息提交信息会出现一个标题重复!这样就造成信息录完了才发现信息重复不能提交!浪费很多时间!

 

1.后台-》管理数据表-》找到title字段-》输入表单替换html代码

找到:

<input type=text name=title value="<?=ehtmlspecialchars(stripSlashes($r[title]))?>" size="60"> 

 

替换成:

<input type=text name=title value="<?=ehtmlspecialchars(stripSlashes($r[title]))?>" size="60" onblur="checkTitle()"> 

在最下面添加如下代码:(JQ库自己加入就进了,这里的链接用的绝对地址)

<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function checkTitle()
    {      
               var classid=<?=$_GET[classid]?>;
               var id=<?=$_GET[classid]?>;
                var tit=document.add.title.value;
                console.log("我是标题="+tit);
                console.log("我是classid="+classid);
                console.log("我是id="+id);
$.ajax({
            url: 'ReTitleAjax.php?classid='+classid+'&id='+id+'&title='+tit,
            dataType:"json",
            cache: false,
                        error: function(){
                alert("检测失败,请重试");
            },
            success: function(data){
                if (data==1){
                    alert('重复标题');
                }
                if (data==0){
                    //alert('可以添加信息');
                                        console.log("可以添加信息");
                }
            }
        });    
    }
</script>

2.新建一个PHP文件ReTitleAjax.php添加如下代码到PHP代码中

define('EmpireCMSAdmin','1');
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/functions.php");
require LoadLang("pub/fun.php");
require("../data/dbcache/class.php");
$link=db_connect();
$empire=new mysqlquery();
$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(empty($num))
{
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check where title='".addslashes($title)."'".$where." limit 1");
}
echo json_encode($num)

然后把这个ReTitleAjax.php文件传到管理员目录也就是(/e/admin/目录下就可以了)

 

转载于:https://www.cnblogs.com/yuesha/articles/6121700.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值