首页站内杂志技术文摘
文章内容页

帝国CMS后台生成点卡和前台点卡充值无需密码功能优化

  • 作者:雨祺
  • 来源: 原创
  • 发表于2023-08-04 14:03:46
  • 被阅读0
  • 帝国CMS后台生成点卡和前台点卡充值无需密码功能优化,此改造优化了帝国CMS点卡功能,让点卡充值运作的站点客户操作更方便一些,点卡充值应该用一个卡号串就行,以前那种卡号+密码的方式有点麻烦了。具体方法如下:(请自行备份文件,以免不测。)
    1.打开文件e/admin/member/AddCard.php
    找到下面代码删除
    1. $r[password]=strtolower(no_make_password(6)); 
    找到
    1. $$r=$empire->fetch1("select card_no,password,money,cardfen,endtime,carddate,cdgroupid,cdzgroupid from {$dbtbpre}enewscard where cardid='$cardid' limit 1"); 
    改成
    1. $r=$empire->fetch1("select card_no,money,cardfen,endtime,carddate,cdgroupid,cdzgroupid from {$dbtbpre}enewscard where cardid='$cardid' limit 1"); 
    2.打开文件e/admin/member/AddMoreCard.php
    找到下面代码删除
    1. <tr bgcolor="#FFFFFF">  
    2.       <td height="25">点卡密码位数:</td> 
    3.       <td height="25"><input name="passnum" type="text" id="passnum" value="6" size="6"
    4.         位 </td> 
    5.     </tr> 
    3.打开文件e/admin/member/ListCard.php
    找到:
    1. if(!$add[card_no]||!$add[password]||!$add[money]) 
    改成:
    1. if(!$add[card_no]||!$add[money]) 
    找到下面代码删除:
    1. $add['password']=hRepPostStr($add['password'],1); 
    找到:
    1. $sql=$empire->query("insert into {$dbtbpre}enewscard(card_no,password,cardfen,money,cardtime,endtime,carddate,cdgroupid,cdzgroupid) values('$add[card_no]','$add[password]',$add[cardfen],$add[money],'$cardtime','$add[endtime]',$add[carddate],$add[cdgroupid],$add[cdzgroupid]);"); 
    改成:
    1. $sql=$empire->query("insert into {$dbtbpre}enewscard(card_no,cardfen,money,cardtime,endtime,carddate,cdgroupid,cdzgroupid) values('$add[card_no]',$add[cardfen],$add[money],'$cardtime','$add[endtime]',$add[carddate],$add[cdgroupid],$add[cdzgroupid]);"); 
    找到下面代码删除:
    1. $passnum=(int)$add['passnum']; 
    找到:
    1. if(!$donum||!$cardnum||!$passnum||!$add[money]) 
    改成:
    1. if(!$donum||!$cardnum||!$add[money]) 
    找到下面代码删除:
    1. $password=strtolower(no_make_password($passnum)); 
    找到:
    1. $sql=$empire->query("insert into {$dbtbpre}enewscard(card_no,password,cardfen,money,cardtime,endtime,carddate,cdgroupid,cdzgroupid) values('$card_no','$password',$add[cardfen],$add[money],'$cardtime','$add[endtime]',$add[carddate],$add[cdgroupid],$add[cdzgroupid]);");  
    改成
    1. $sql=$empire->query("insert into {$dbtbpre}enewscard(card_no,cardfen,money,cardtime,endtime,carddate,cdgroupid,cdzgroupid) values('$card_no',$add[cardfen],$add[money],'$cardtime','$add[endtime]',$add[carddate],$add[cdgroupid],$add[cdzgroupid]);"); 
    找到:
    1. if(!$add[card_no]||!$add[password]||!$add[money]||!$add[cardid]) 
    改成:
    1. if(!$add[card_no]||!$add[money]||!$add[cardid]) 
    找到以下代码删除:
    1. $add['password']=hRepPostStr($add['password'],1); 
    找到:
    1. $sql=$empire->query("update {$dbtbpre}enewscard set card_no='$add[card_no]',password='$add[password]',cardfen=$add[cardfen],money=$add[money],endtime='$add[endtime]',carddate=$add[carddate],cdgroupid=$add[cdgroupid],cdzgroupid=$add[cdzgroupid] where cardid='$add[cardid]'"); 
    改成:
    1. $sql=$empire->query("update {$dbtbpre}enewscard set card_no='$add[card_no]',cardfen=$add[cardfen],money=$add[money],endtime='$add[endtime]',carddate=$add[carddate],cdgroupid=$add[cdgroupid],cdzgroupid=$add[cdzgroupid] where cardid='$add[cardid]'"); 
    至此,后台点卡功能部分修改完毕,
    继续修改前台逻辑部分和前端
    1.打开文件:e/member/class/membercomfun.php
    替换为如下代码:
    1. //点卡冲值 
    2. function CardGetFen($username,$reusername,$card_no){ 
    3.     global $empire,$dbtbpre; 
    4.     $card_no=RepPostVar($card_no); 
    5.     $username=RepPostVar($username); 
    6.     if(!trim($username)||!trim($card_no)) 
    7.     { 
    8.         printerror("EmptyGetCard","history.go(-1)",1); 
    9.     } 
    10.     if($username!=$reusername) 
    11.     { 
    12.         printerror("DifCardUsername","history.go(-1)",1); 
    13.     } 
    14.     $user=$empire->fetch1("select ".eReturnSelectMemberF('userid,userdate,username,groupid')." from ".eReturnMemberTable()." where ".egetmf('username')."='$username' limit 1"); 
    15.     if(!$user['userid']) 
    16.     { 
    17.         printerror("ExiestCardUsername","history.go(-1)",1); 
    18.     } 
    19.     $num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewscard where card_no='".$card_no."' limit 1"); 
    20.     if(!$num) 
    21.     { 
    22.         printerror("CardPassError","history.go(-1)",1); 
    23.     } 
    24.     //是否过期 
    25.     $buytime=date("Y-m-d H:i:s"); 
    26.     $r=$empire->fetch1("select cardfen,money,endtime,carddate,cdgroupid,cdzgroupid from {$dbtbpre}enewscard where card_no='$card_no' limit 1"); 
    27.     if($r[endtime]<>"0000-00-00"
    28.     { 
    29.         $endtime=to_date($r[endtime]); 
    30.         if($endtime<time()) 
    31.         { 
    32.             printerror("CardOutDate","history.go(-1)",1); 
    33.         } 
    34.     } 
    35.     //充值 
    36.     eAddFenToUser($r[cardfen],$r[carddate],$r[cdgroupid],$r[cdzgroupid],$user); 
    37.     $sql1=$empire->query("delete from {$dbtbpre}enewscard where card_no='$card_no'");//删除卡号 
    38.     //备份购买记录 
    39.     BakBuy($user['userid'],$username,$card_no,$r[cardfen],$r[money],$r[carddate],0); 
    40.     printerror("CardGetFenSuccess","../member/card/",1); 
    最后,修改前台点卡充值的表单模板e/template/membercard.php
    删除掉如下代码就好了
    1. <tr bordercolor="#FFFFFF" bgcolor="#FFFFFF">  
    2.       <td height="25"> <div align="right">冲值卡密码:</div></td> 
    3.       <td height="25"> <input name="password" type="password" id="password"
    4.         *</td> 
    5.     </tr> 

     
    【审核人:站长】

        标题:帝国CMS后台生成点卡和前台点卡充值无需密码功能优化

        本文链接:https://www.meiweny.cn/zazhi/zhongwangjiaocheng/164.html

        赞一下

        深度阅读

        • 您也可以注册成为美文苑的作者,发表您的原创作品、分享您的心情!

        阅读记录

          关注美文苑