网站开发 · 2025年4月24日

更改Ecshop红包序列号——增加长度

修改了js/user.js和admin/bouns.php中的相关
代码
,具体如下:


第一
,user.js中,把原来的10改为16


function addBonus()


{


  var frm      = document.forms[‘addBouns’];


  var bonus_sn = frm.elements[‘bonus_sn’].value;

  if (bonus_sn.length == 0)


  {


    alert(bonus_sn_empty);


    return false;


  }


  else


  {


    var reg = /^[0-9]{
16
}$/;


    if ( ! reg.test(bonus_sn))


    {


      alert(bonus_sn_
error
);


      return false;


    }


  }

  return true;


}


第二,把bouns.php中的代码修改如下


/* 生成红包序列号 */


    $num = $db->getOne(“SELECT MAX(bonus_sn) FROM “. $ecs->table(‘user_bonus’));


    $num = $num ? floor($num / 10000) : 100000;

    for ($i = 0, $j = 0; $i < $bonus_sum; $i++)


    {


        $bonus_sn = ($num + $i) . str_pad(mt_rand(0, 
9999999999), 10
, ‘0’, STR_PAD_LEFT);


        $db->query(“INSERT INTO “.$ecs->table(‘user_bonus’).” (bonus_type_id, bonus_sn) VALUES(‘$bonus_typeid’, ‘$bonus_sn’)”);

        $j++;


    }