COK充值后台的制作
COK充值后台的制作

COK充值后台的制作

COK充值后台的制作起因:

 

COK就是列王的纷争,这是一个十分古老的游戏,但我以前很喜欢,所以在源码流出来以后迫不及待的弄好了,打算体验怀旧一番。

但是数据修改只能通过直接修改数据库的数据,我自己倒是无所谓,朋友的话就十分不方便了,只能通过我来改,这相当的令人不舒服。

所以我就写了一个小后台,实现充值金币的操作。

COK充值后台的制作思路:

 

前端用form表单接收数据发给ajax,ajax传递数据到后端,发送方式post

后端使用PHP连接数据库,操作数据,完成后关闭数据库连接,返回对应结果,结束。

部分代码:

 

前端代码:

index.php
<body>
  <div class="intro" style="margin-top:0px;">
  	 &nbsp;
    <div class="col-md-4 col-centered tac">
    </div>
    <div class="container">
      <div class="row">
        <div class="col-md-3 col-sm-8 col-centered">
          <form method="post" id="register-form" autocomplete="off" action="#" class="nice-validator n-default" novalidate>
            &nbsp;
            <div class="form-group">
              <input type='password' class="form-control" value='' id='checknum' placeholder="请输入GM码" autocomplete="off">
            </div>
            <div class="form-group">
              <input type='text' class="form-control" value='' id='uid' placeholder='请输入游戏名字/非账号' autocomplete="off">
            </div>
            <div class="form-group">
              <input type="text" class="form-control" value='' id="chargenum" placeholder='充值金币数量'></select>
            </div>
            <div class="form-center-button">
              <input class="btn btn-danger" type='button' value='充值' id='chargebtn'>
            </div><br>
          </form>
          <!--这一段是form表单收集数据,使用post方式传递数据-->
        </div>
      </div>
    </div>
  </div>
  
<script src='jquery-1.7.2.min.js'></script>
<script>
  var checknum='';
  var uid='';
  $('#checknum').change(function(){
      checknum=$(this).val();
  });
  $('#uid').change(function(){
      uid=$.trim($(this).val());
  });
  //这一段把form表单的数据传给ajax
  $('#chargebtn').click(function(){
      if(checknum==''){
          alert('请输入后台校验码。');
          return false;
      }
      if(uid==''){
          alert('角色名不能为空。');
          return false;
      }
      //这一段检查后台校检码和角色名,在前端就先排除空访问,减轻对后端的压力
      var chargenum=$('#chargenum').val();
      $.ajax({
          url:'gmquery.php',
          type:'post',
          'data':{type:'charge',checknum:checknum,uid:uid,num:chargenum},
          'cache':false,
          'dataType':'json',
          //这一段用ajax传数据给后台,请求返回json格式的数据
          success:function(data){
              console.log('data',data);
              alert(data.info);
          },
          error:function(){
              alert('操作失败');
          }
          //这一段是返回的结果对应方法
      });
  });

</script>
</body>

CSS文件不贴了

 

后端代码:

query.php
if($_POST){
    include 'config.php';
    //引进数据库参数和curl模块参数
    $gmcode=trim($_POST['checknum']);
    if($gmcode!='yuexuan'){
        $return=array(
            'errcode'=>1,
            'info'=>'后台密码错误',
        );
        exit(json_encode($return));
    }
    //验证后台密码
    $uid=trim($_POST['uid']);
    $act=$_POST['type'];
    switch($act){
        case 'charge':
            $num=intval($_POST['num']);
            if(!$num){
                $return=array(
                    'errcode'=>1,
                    'info'=>'充值数量错误',
                );
                exit(json_encode($return));
            }
            //判断充值数量
            $conn = mysqli_connect($['ip'],$['user'],$['pswd']);
            if(!$conn){
                $return=array(
                    'errcode'=>1,
                    'info'=>'数据库连接失败!',
                );
                exit(json_encode($return));
            }
            //判断是否连接成功
            mysqli_select_db($conn,$['db']);
            //选择数据库
            $sql="SELECT * FROM userprofile WHERE name = '{$uid}'";
            
            $obj = mysqli_query($conn,$sql);
            $row = mysqli_fetch_assoc($obj);
            if(count($row)==0){
            mysqli_close($conn);
                $return=array(
                    'errcode'=>0,
                    'info'=>'账号不存在!',
                );
                exit(json_encode($return));
            }else{
                $sql="update userprofile set gold=gold+'{$num}' where name='{$uid}'";
            
            $obj = mysqli_query($conn,$sql);
            //准备sql语句
            mysqli_close($conn);
            //关闭数据库
            }
                $return=array(
                    'errcode'=>0,
                    'info'=>'充值成功!',
                );
                exit(json_encode($return));
            break;
        default:
            $return=array(
                'errcode'=>1,
                'info'=>'数据错误',
            );
            exit(json_encode($return));
            break;
    }
}else{
    $return=array(
        'errcode'=>1,
        'info'=>'提交错误',
    );
    exit(json_encode($return));
}
config.php
<?php
    function login_post($url, $cookie, $post){
    $ch = curl_init(); //初始化curl模块
    curl_setopt($ch, CURLOPT_URL, $url); //登录提交的地址
    curl_setopt($ch, CURLOPT_HEADER, 0); //是否显示头信息
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否自动显示返回的信息
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); //设置cookie信息保存在指定的文件夹中
    curl_setopt($ch, CURLOPT_POST, 1); //以POST方式提交
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));//要执行的信息
    curl_exec($ch); //执行CURL
    curl_close($ch);
    }
    function mail_post($url, $cookie, $post){
    $ch = curl_init(); //初始化curl模块
    curl_setopt($ch, CURLOPT_URL, $url); //登录提交的地址
    curl_setopt($ch, CURLOPT_HEADER, 0); //是否显示头信息
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否自动显示返回的信息
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);//设置cookie信息保存在指定的文件夹中
    curl_setopt($ch, CURLOPT_POST, 1); //以POST方式提交
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));//要执行的信息
    curl_exec($ch); //执行CURL
    curl_close($ch);
    }
    $quarr=array(
        '1'=>array(
            'ip'=>'localhost',
            'user'=>'yuexuan',
            'pswd'=>'admin',
            'db'=>'game',
        )
    );
    //这里规定数据库参数

 

COK充值后台的成品展示:

输入前

URfa3.png
URy5O.png

 

输入后
URd9Q.png
URrGy.png

4.5 2 投票数
Article Rating
订阅
提醒
2 评论
最新评论
最久评论 最受欢迎的评论
内联反馈
查看所有评论
2
0
有什么想说的吗?评论几句?x
()
x