香港独立IP空间
香港php空间
美国php空间
域名注册

今天小编在逛论坛的时候发现一个有关ecshop的BUG的帖子,现在发出来个大家分享下,如果朋友们遇到这个的问题可以作为参考修改。
BUG描述如下:
Ecshop没有点击邮件中的确认收货链接,但是进入个人中心却发现订单状态已经更改为了已经收到货的状态了。问题出在QQ邮箱。Ecshop的recieve设计是用户点了链接直接就改变订单状态到确认收货,而QQ邮件spam系统会自动去点邮件里的链接是不是垃圾或者广告地址,所以,全被点成确认收货了,只能改recieve了。
那要如何解决这个问题呢。
思路:我们可以一个判断,如果顾客点检了确定在修改状态,而不是点击链接就直接更改状态。
方法如下:
将之前的ecshop确认收货页面改成如下格式:

//确认页面
$act = !empty($_REQUEST['act']) ? rawurldecode(trim($_REQUEST['ver'])) : 'confirm'; // 验证码
if($act == 'confirm')
{
$msg = $order['order_sn']."确认收货?<button onclick=\"location.href='receive.php?act=receive&id=".$order_id."&con=".rawurlencode($consignee)."&ver=".$ver."';\">确定</a>";
}
//收货
else
{
/* 修改订单发货状态为“确认收货” */
        ......
}

加一个确认的页面,这样SPAM点到链接后就不会触发订单状态更改的事件

无忧主机相关文章推荐阅读:
ECSHOP程序如何给商品名称设置特效让显示多种颜色?
ECSHOP程序如何在后台管理中心修改支付显示顺序的方法
ECSHOP报错:STRICT STANDARDS: REDEFINING ALREADY DEFINED CONSTRUCTOR FOR CLASS

本文地址:http://www.51php.com/ecshop/20442.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读: