您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop添加红包序列号提示红包不存在的解决方法

马仁2025-02-06Ecshop商城教程已有人查阅

导读呵呵……其实是个小问题,但是不能不说是Ecshop团队中的测试部门不够尽职。在红包使用过程中,如果数值较小例如红包序列号是:1000056556这样的,是没有问题的,如果超过一定数值(我遇

呵呵……其实是个小问题,但是不能不说是Ecshop团队中的测试部门不够尽职。在红包使用过程中,如果数值较小例如红包序列号是:1000056556这样的,是没有问题的,如果超过一定数值(我遇到的是:2745225862之类)之后就会在添加红包的时候误报为:该红包不存在。
问题在于,在user.php的添加红包流程中,Ecshop团队在post上来的bonus_sn上应用了intval函数,该段代码类似于下:
$bouns_sn = isset($_POST['bonus_sn']) ? intval($_POST['bonus_sn']) : ”;
而intval函数并非我们想象中的听话,在遇到一些超大的数据的时候例如:intval(2745225862)返回值并非我们期望的是:2745225862,而是-1549741434,这就会导致lib_transaction.php在执行add_bonus函数的时候,在数据库中无法查询到该红包----要是能查到才怪呢!故而报:该红包不存在,的提示。
把user.php的添加红包流程中的这句话:
$bouns_sn = isset($_POST['bonus_sn']) ? intval($_POST['bonus_sn']) : ”;
修改为:
$bouns_sn = isset($_POST['bonus_sn']) ? trim($_POST['bonus_sn']) : ”;
就可以了!
具体关于PHP 中intval为啥会这样返回,期待有钻研精神的兄弟们留言给个答案,以补充该文,谢谢。
补充:
在PHP中 intval的取值范围:
与操作系统相关,
32位系统上为-2147483648到2147483647,
64位系统上为-9223372036854775808到9223372036854775807

本文标签:

很赞哦! ()

相关源码

  • (PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码
  • 响应式HTML5家居建材办公家具桌椅pbootcms模板为家居建材、办公家具企业打造的响应式网站模板,同时支持多行业快速适配通过替换文字图片即可转型为其他行业官网,大幅降低开发成本。查看源码
  • (响应式H5)帝国cms7.5文章新闻博客模板带会员中心本模板基于帝国CMS内核开发,为新闻资讯、个人博客及作品展示类网站设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验。查看源码
  • (PC+WAP)蓝色新能源环保太阳能光伏模板pbootcms下载新能源环保行业网站解决方案为太阳能光伏系统企业打造的专业网站模板,助力新能源企业高效展示产品与服务PbootCMS内核开发,源码开放可修改PC与手机端自适应设计查看源码
  • (自适应)互联网建站网络公司个人工作室网站模板基于PbootCMS内核开发,围绕「技术方案展示」「成功案例库」「服务流程说明」三大模块构建,支持PC与移动端数据实时同步。附带包含客户评价、行业解决方案的完整测试数据包查看源码
  • (自适应)游泳馆泳池水处理器设备pbootcms网站模板免费下载专注服务于泳池水处理设备制造商、泳池系统工程商等企业用户。模板预设设备分类体系、技术参数展示模块和解决方案呈现页面,满足行业特有展示需求。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐