1861资源网:您身边、安全、高速、放心的专业下载站!
手机站 软件专题
1861资源网
热门搜索: 请搜索 软件: 相关信息 照明商店 搜索 教程:相关 爆裂点 照明商店 请输入 相关: 软件

帝国CMS怎样验证后台发布信息标题是否重复?

    本文目录


    想要在帝国cms后台发布信息时验证一下标题是否存在,存在即给出反馈,避免发布重复标题,这是否可以实现?

    帝国CMS怎样验证后台发布信息标题是否重复?
    可以,而且有两种方案
     

    方案一

    帝国CMS怎样验证后台发布信息标题是否重复?
    后台配置,栏目管理 - 修改栏目 - 选项设置 - 勾选验证标题是否重复,这样在发布后如果标题重复,会弹窗提示,且发布会失败。
     

    方案二

    通过ajax验证标题是否重复,操作较为复杂但反馈是实时的,步骤如下

    1、修改字段
    帝国cms后台 - 管理数据表 - 找到需要配置的数据表 - 修改title字段 - 输入表单使用下面的代码

    
     
    • <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()">

    在输入表单最下面加入如下代码
    
     
    • <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
    • <script type="text/javascript">
    • function checkTitle()
    • {
    •    var classid=<?=$_GET[classid]?>;
    •    var id=<?=$_GET[classid]?>;
    •     var tit=document.add.title.value;
    • $.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('标题未重复');
    •             //此处可以换为更友好的提示方式
    •         }
    •     }
    • });
    • }
    • </script>


    2、接口文件
    接口文件存储路径如下(如果修改路径,要将上访ajax提交地址一并修改)
    
     
    • /e/admin/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(emptyempty($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);
    • ?>

    上面是采用post查询返回json结果的方式来实现查重,我们还可以通过get方式,js函数如下:
    
     
    • <script type="text/javascript">
    • function  checkTitle()
    • {
    •     var classid='<?=$_GET[classid]?>';
    •     var id='<?=$_GET[id]?>';
    •     var tit=document.add.title.value;
    •         var answerurl='ReTitleAjax.php';
    •         $.get(answerurl+"?classid="+classid+'<?=$ecms_hashur['ehref']?>&title='+tit, function(data){
    •             if(data){
    •                 if(data==1){
    •                     $("#titletips").html("<font color='red'>已经存在此名称,请检查是否已经添加过</font>");
    •                 }
    •                 else{
    •                     $("#titletips").html("<font color='green'>可以添加信息</font>");
    •                 }
    •                 return false;
    •             }
    •             else{
    •                 $("#titletips").html("<font color='red'>检测失败,请重试</font>");
    •             }
    •         });
    • }
    • </script>

    接着在title字段的input后放一个容器用于存储提示信息,可参考
    
     
    • <span id="titlerepeattips"></span>
     

    方案一与方案二的区别

    方案一操作简单方便,但验证只在提交时验证,方案二需要具备一定的开发能力,但验证更为及时高效。两种方案可选择其一使用。
     

    附注

    如果帝国cms后台开启金刚模式或刺猬模式,需要在js函数中加入hash验证字符串,并在php处理文件中加入验证函数,否则容易出现白屏的问题。
帝国教程 发布: 2024-04-16   修改: 2024-11-01   阅:   评:
免责声明 本文来自互联网,不代表本站的观点和立场,如需删除联系:panguwanyue#163.com
相关电影
    =807(=1)
本类最新发布
本类评论
留言与评论(共有 0 条评论)
验证码:
本类软件分类
电影下载总排行
    =807(=1)
电影下载月排行
    =807(=1)
电影下载周排行
    =807(=1)
装机必备软件
全站下载总排行

1861资源网

http://www.zywlyy.cn/

   |

1861资源网 软件下载

1861资源网

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

感谢网络科技公司技术支持