重新编写ecshop红包编号规则
2011-11-26 23:13 来源:www.chinab4c.com 作者:ecshop专家
重新编写ecshop红包编号规则,这个话题是很早就有朋友让我去研究的一个话题。只所以要重新编写红包规则,理由很简单。ecshop的红包规则是不完善的,也是非常有问题的。ecshop红包规则只支持大概10万左右的编码。如果超过了这个编码数量。那么ecshop红包的编码规则如果你继续生成后台的红包编码。将会在你的ecshop红包的数据库中产生重复的编码。
首先我们看下ecshop的红包编码有什么缺陷。为什么会产生重复的红包编码。这个问题是值得我们研究的。我们看以下代码。
$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, 9999), 4, '0', STR_PAD_LEFT);
$db->query("INSERT INTO ".$ecs->table('user_bonus')." (bonus_type_id, bonus_sn) VALUES('$bonus_typeid', '$bonus_sn')");
$j++;
}
首先我们看下 $num = $num ? floor($num / 10000) : 100000,很简单,当我们看到达到了100000以后,我们可以看到超过了这个数字。那么将会重新循环一次。很显然,ecshop的红包编码很容易就重复。造成ecshop编码重复的概略非常大。当我们要生成大量的ecshop红包的时候。这个红包的编码肯定是不够用的。
既然你看到ecshop红包编码的规则不好,那么我们就必须重新修改ecshop的红包编码规则,ecshop的红包编码规则只有数字,而且他的编码序号是非常有规律的。可以这么说,所以为了增强ecshop红包编码的复杂的。我们可以引如ecshop的红包编码结合数字和字母,甚至可以是数字和字母的大小写。这样就可以最大限度的确保ecshop的红包编码得到最大的安全。
首先要实现ecshop红包的编码,我们要做的第一件事情就是修改user_bonus字段中的bonus_sn.然后更新和验证红包的JS。在验证编码的时候,我们也要修改验证flow.php中的valida_bonus_sn;
这样就可以最大限度的修改ecshop红包编码的规则,从而可以完善ecshop红包编码的重复度。
香港公司注册咨询来源于上海汽车租赁
最近更新
常用插件
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...